我已从Apple网站下载了GLGravity项目。 我正在尝试改变茶壶的颜色,但它没有改变
答案 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。设置它们可以改变茶壶的整体颜色。