改变L'Gravity Iphone项目中Teapot的颜色

时间:2011-03-14 09:35:00

标签: iphone opengl-es

我已从Apple网站下载了GLGravity项目。 我正在尝试改变茶壶的颜色,但它没有改变

1 个答案:

答案 0 :(得分:1)

GLGravity样本,于2010年7月6日更新,使用GLES 1.x固定管道,内置照明支持。因此,茶壶的颜色是光和材料属性的结果,这些属性设置在GLGravityView.m的第125到147行。

在实践中,您会注意到matAmbient,matDiffuse和matSpecular是不同的白色强度。对象本身就是白色的。这意味着您看到的颜色完全由光线定义。这可能是一个概念上奇怪的方式,但它就是。

净效果是茶壶的颜色由lightAmbient和lightDiffuse定义。 lightAmbient是另一种白色,浅色,是你想要玩的那种。立即下载(第126行):

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

给人一种模糊的铜色外观。如果您将其更改为:

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

然后你会得到一个蓝色的茶壶。该向量的前三个元素是[0.0,1.0]范围内的R,G,B。设置它们可以改变茶壶的整体颜色。