我的代码适用于镜面反射分量以外的所有内容。
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() 在任何时候都不会报告错误。