同时,我在纹理立方体旁边绘制了一个顶点彩色立方体,使用glDrawArrays()
, 并发现启用照明后,纹理立方体变得“稍微亮一点”。
经过一些调试,我发现glEnable(GL_COLOR_MATERIAL)
调用的第一个时刻,即使glDisable(GL_COLOR_MATERIAL)
随后立即调用,也会对纹理立方体产生“稍微亮一点”的效果!
这是简短的描述:
glEnable(GL_COLOR_MATERIAL);
glDisable(GL_COLOR_MATERIAL);
(...)
glDrawArrays(GL_QUADS, 0, n);
如果glEnable(GL_COLOR_MATERIAL)
根本没有调用,则用黄色绘制立方体。而如果glEnable(GL_COLOR_MATERIAL)
被调用,即使后面跟着glDisable(GL_COLOR_MATERIAL)
,立方体也会被画成稍微亮一点的黄色,我无法切换回“最初的深黄色立方体颜色”。
你能告诉我这是否是预期的行为吗?