Changle под цвет чайника в проекте GLGravity Iphone - PullRequest
0 голосов
/ 14 марта 2011

Я скачал проект GLGravity с сайта Apple. Я пытаюсь изменить цвет чайника, но он не меняется

1 Ответ

1 голос
/ 14 марта 2011

Образец GLGravity, последний раз обновленный 6 июля 2010 года, использует фиксированный конвейер GLES 1.x со встроенной поддержкой освещения. Цвет чайника, следовательно, является результатом свойств света и материала, которые установлены в строках 125–147 GLGravityView.m.

На практике вы заметите, что matAmbient, matDiffuse и matSpecular имеют различную интенсивность белого. Так что сам объект белый. Это означает, что цвет, который вы видите, полностью определяется светом. Это концептуально странный способ сделать это, возможно, но это так.

Чистый эффект состоит в том, что цвет чайника определяется lightAmbient и lightDiffuse. lightAmbient - это еще один оттенок белого, с которым lightDiffuse вы хотите играть. Как загружено сразу это (в строке 126):

const GLfloat           lightDiffuse[] = {1.0, 0.6, 0.0, 1.0};

Придаю неопределенно медный вид. Если вы измените это на:

const GLfloat           lightDiffuse[] = {0.0, 0.0, 1.0, 1.0};

Тогда вы получите синий чайник. Первые три элемента этого вектора - это R, G, B в диапазоне [0.0, 1.0]. Установите их, чтобы изменить общий цвет чайника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...