100分,有关OpenGL光照条件下的透视问题,有请大侠们。
为什么在光照条件下 glColor(r,g,b,a)中a 无法实现透视呢? 反而设置材质漫反射色的
GLfloat mat_diffuse[] = {r,g,b,a}
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); 中 a(0~1) 却能影响整个图形的透视效果?
我的环境条件设置为;
1、一个光源。 2、光源特性设置://环境光色//漫反射光//镜面反射光 统统设置为(1,1,1,1)
3、材质特性设置://环境光色{ 0.3f, 0.3f, 0.3f, 1.0f }, //漫反射色 {0.3f, 0.3f, 0.3f, 0.5f };(能实现0.5的透明度),
需要实现透视操作时:glEnable(GL_BLEND);glDepthMask(GL_TRUE);
否则:
glDisable(GL_BLEND); //关闭融合处理
glDepthMask(GL_TRUE); //激活对深度缓存的写操作
现在需要对图形的不同构件分别实现不通程度的透明度,我该如何处理呢?