我有灯光效果很好的场景。我想添加一个会消失的天空盒,所以我正在使用
glEnable(GL_BLEND)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
与 glColor4f 一起执行此操作,并且效果很好。但是要让淡入淡出工作,我需要启用 GL_COLOR_MATERIAL 来完全摆脱我的灯光效果。我试着把天空盒部分夹在中间
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
(..light details..)
glEnable(GL_COLOR_MATERIAL);
(drawSkyBox)|
glDisable(GL_COLOR_MATERIAL);
(draw rest of scene)
但这只是让淡入淡出工作并且仍然没有显示我的照明。奇怪的是,如果这样做
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
(..light details..)
glEnable(GL_COLOR_MATERIAL);
glDisable(GL_COLOR_MATERIAL);
(drawSkyBox)
(draw rest of scene)
我失去了淡入淡出和我的灯光效果。我是否正确使用 GL_COLOR_MATERIAL?如果我立即启用和禁用,不应该没有任何效果,让我的照明完好无损吗?