Android OpenGL2.0 zeigt schwarze Texturen

7

Ich versuche in OpenGL2.0 Texturen auf Quads zu zeichnen. Bis jetzt habe ich die Quads und alles, aber die Texturen sind nicht da - die Quads sind alle schwarz.

Mein Hauptverdacht ist, dass ich die Texturen nicht korrekt abbilde - meine Texturen sind nicht Potenzen von 2, noch sind sie quadratisch - ihre Breite ist im Feld mWidth und ihre Höhe in mRowHeight.

Die Quads werden in einer vertikalen Liste gezeichnet, die mit einer Übersetzungsmatrix erstellt wird.

Ich werde sehr dankbar sein, wenn jemand diese Ursache durchgehen kann, ich bin verzweifelt!

Hier ist der zugehörige Code:

Initialisierung der Puffer:

%Vor%

Den Rahmen zeichnen:

%Vor%

Laden der Texturen:

%Vor%

Vertex Shader:

%Vor%

Fragment Shader:

%Vor%

Jede Hilfe wird sehr geschätzt.

    
saarraz1 31.12.2011, 15:43
quelle

1 Antwort

20

Dies ist ein ziemlich häufiges Problem beim Texturieren auf OpenGL ES 2.0, das mir in der Vergangenheit eine Menge Kopfschmerzen bereitet hat.

In OpenGL ES 2.0 kann der Umbruchmodus im Fall von Nicht-Power-2-Texturen nur GL_CLAMP_TO_EDGE sein.

Es gibt auch Beschränkungen für den Filter, den Sie verwenden können, der nur GL_NEAREST oder GL_LINEAR (mit anderen Worten kein MIPMAPPING) sein kann

Mit einfachen Worten, überprüfen Sie die Funktion ladetexture, ändern Sie diese 2 Codezeilen von:

%Vor%

bis

%Vor%

Ich hoffe, das behebt das Problem, lassen Sie es mich wissen:)

Maurizio Benedetti

    
Maurizio Benedetti 05.01.2012, 19:11
quelle