这是不加任何光照的情况下的天空盒:
将一个无纹理的坦克模型加入的天空盒:
加入模型后整个环境的光线一下暗下来了,这是怎么回事啊?
能不能有什么办法让加入模型对环境光线没有影响?
加入光照但没加入坦克模型的天空盒:
加入光照又加入坦克模型后的天空盒:
坦克和地面明显比上面没加入光照亮多了,但是天空还是那么暗。能不能有什么方式通过加光照来改善天空的亮度呢?
其中光照函数如下:
1 GLfloat AmbientLight[]={1.0f,1.0f,1.0f,1.0f}; 2 GLfloat Ambient[4]={1.0,1.0,1.0,1.0}; 3 glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,Ambient); 4 glLightfv(GL_LIGHT0,GL_AMBIENT,AmbientLight); 5 glLightModelfv(GL_LIGHT_MODEL_AMBIENT,AmbientLight); 6 glEnable(GL_COLOR_MATERIAL); 7 glColorMaterial(GL_FRONT,GL_AMBIENT_AND_DIFFUSE); 8 glEnable(GL_LIGHTING); 9 glEnable(GL_LIGHT0); 10 GLfloat LightAmbient[]={1.0,1.0,1.0,1.0}; 11 GLfloat LightDiffuse[]={1.0,1.0,1.0,1.0}; 12 glLightfv(GL_LIGHT0,GL_AMBIENT,LightAmbient); 13 glLightfv(GL_LIGHT0,GL_DIFFUSE,LightDiffuse); 14 glEnable(GL_LIGHTING); 15 glEnable(GL_LIGHT0);
光照在模型绘制前被我关闭了,现在解决了!