OpenGL提供了3种不同的贴图模式:GL_MODULATE,GL_DECAL和GL_BLEND。
我们可以调用glTexEnvi函数来设置当前贴图模式
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND);
(1)默认情况下,贴图模式是GL_MODULATE,在这种模式下,OpenGL会根据当前的光照系统调整物体的色彩和明暗,也就是和纹理和物体原本色彩叠加。
(2)第二种模式是GL_DECAL, 在这种模式下所有的光照效果都是无效的,OpenGL将仅依据纹理贴图来绘制物体的表面。
GLfloat fColor[4] = { 1.0f,0.0f,0.0f,0.0f };
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_BLEND);
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, fColor);