2010-12-05 4 views
1

Ich analysiere eine OBJ-Datei in Android und mein Ziel ist es & das Objekt anzuzeigen. Alles funktioniert gut (Scheitelpunkte, Texturen usw.) mit Ausnahme der korrekten Farbzuordnung.OpenGL & OBJ: Wie fülle ich glcolourpointer mit Farben aus MTL

OpenGL erwartet einen Farbpuffer mit RGB-Werten (+ Alpha) pro Vertex in glColorPointer, aber der MTL bietet drei verschiedene Farbwerte pro Material (diffus, spiegelnd, ambient).

Frage: Wie berechne ich den erwarteten RGB-Wert für meinen Scheitelpunkt aus diesen drei Farbarten (diffus, spiegelnd, ambient)? Im Moment bin ich die diffuseColor vorbei, wenn die colorbuffer bevölkern (dies ist nur eine Art herumgespielt, weil die Lösung nicht zu wissen), ist das Ergebnis folgendes:

link text

Antwort

0

Sie passieren, dass Daten an glMaterial nicht zu glColorPointer. Siehe glMaterial reference page (OpenGL ES).

+0

Danke für die Hinweise in die richtige Richtung, jetzt gebe ich diese Art von Daten (Ambient, Specular, Diffus und Shininess) PER VERTEX (hoffe, das ist richtig) in glmaterialfv aber jetzt ist das Objekt völlig weiß (ohne irgendwelche Farben) . Gibt es Fallstricke, die der Grund für dieses Verhalten sein können? \t Meine ursprüngliche Einrichtung: gl.glEnable (GL10.GL_LIGHTING); \t gl.glEnable (GL10.GL_LIGHT0); \t gl.glEnable (GL10.GL_COLOR_MATERIAL); \t gl.glEnable (GL10.GL_TEXTURE_2D); –

Verwandte Themen