OpenGL用不同参数调用glTexEnvf的效果实验
glTexEnvf 函数的声明如下:
void glTexEnvf(
GLenum target, GLenum pname, GLfloat param)
;
对于贴了纹理的模型,可以使用 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,XX)来指定纹理贴图和材质混合的方式,从而产生特定的绘制效果。(XX为混合方式参数,OpenGL默认为GL_REPLACE,即只使用纹理)
加载一圆柱体模型(带纹理贴图,材质为全红):
![](https://pic002.cnblogs.com/images/2011/78946/2011052320052074.png)
![](https://pic002.cnblogs.com/images/2011/78946/2011052320053610.png)
----------------------------------------------------------------------
(1)XX为GL_REPLACE模式
![](https://pic002.cnblogs.com/images/2011/78946/2011052320064329.png)
(2)XX为GL_BLEND模式
![](https://pic002.cnblogs.com/images/2011/78946/2011052320072132.png)
(3)XX为GL_DECAL模式
![](https://pic002.cnblogs.com/images/2011/78946/2011052320075682.png)
(4)XX为GL_MODULATE模式
![](https://pic002.cnblogs.com/images/2011/78946/2011052320082656.png)
(5)XX为GL_ADD模式
![](https://pic002.cnblogs.com/images/2011/78946/2011052320090610.png)