Образец 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]. Установите их, чтобы изменить общий цвет чайника.