【发布时间】:2011-11-25 06:51:03
【问题描述】:
我的代码适用于除镜面反射组件之外的所有内容。
glEnable(GL_COLOR_SUM);
...
glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, color);
glEnableClientState(GL_SECONDARY_COLOR_ARRAY);
glSecondaryColorPointer(3, GL_UNSIGNED_BYTE, 0, specular);
...
glDrawArrays(D3DPT_TRIANGLELIST, 0, 2);
似乎忽略了高光,但颜色、纹理坐标、位置等都完全没问题。
这不是使用灯光和材质。固定顶点管道。不幸的是,此时着色器不是一个选项。
glGetError() 也不会在任何时候报告错误。
【问题讨论】:
-
"这不是使用灯光和材料。"如果您不使用灯光和材质,则辅助颜色将仅用作纹理环境功能的一部分。那么......他们是什么。你调用了哪些
glTexEnv函数? -
我正在使用默认值...如果我必须适当地更改 glTexEnv,它们会更改为什么?那么文档中提到的GL_COLOR_SUM有什么用呢?
标签: opengl colors vertices specular