2010-12-05 2 views
1

Я разбираю OBJ-файл в Android, и моя цель - визуализировать & отображение объекта. Все работает отлично (вершины, текстуры и т. Д.), За исключением правильного отображения цветов.OpenGL & OBJ: Как заполнить glcolorpointer цветами от MTL

OpenGL ожидает цветной буфер с значениями rgb (+ альфа) на вершину в glColorPointer, но MTL предлагает три разных цветовых значения на материал (диффузный, зеркальный, окружающий).

Вопрос: Как вычислить ожидаемое значение rgb для моей вершины из этих трех типов цветов (диффузный, зеркальный, окружающий)? Сейчас я пропусканием DiffuseColor при наполнении colorbuffer (это просто вид игры вокруг, потому что, не зная решения), результат заключается в следующем:

link text

ответ

0

Вы передаете эти данные glMaterial , а не glColorPointer. См. glMaterial reference page (OpenGL ES).

+0

Благодарим за намек в направлении вправо, теперь я передаю данные такого типа (окружающий, зеркальный, рассеянный и блеск) PER VERTEX (надеюсь, что это правильно) в glmaterialfv, но теперь объект полностью белый (без каких-либо цветов) , Известны ли подводные камни, которые могут быть причиной такого поведения? \t Моя первоначальная настройка: 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); – 2010-12-06 20:10:56

Смежные вопросы