OpenGL用不同参数调用glTexEnvf的效果实验

glTexEnvf 函数的声明如下:

void glTexEnvf(GLenum target, GLenum pname, GLfloat param);

对于贴了纹理的模型,可以使用 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,XX)来指定纹理贴图和材质混合的方式,从而产生特定的绘制效果。(XX为混合方式参数,OpenGL默认为GL_REPLACE,即只使用纹理)

加载一圆柱体模型(带纹理贴图,材质为全红):
OpenGL用不同参数调用glTexEnvf的效果实验  OpenGL用不同参数调用glTexEnvf的效果实验
 
----------------------------------------------------------------------
(1)XX为GL_REPLACE模式
OpenGL用不同参数调用glTexEnvf的效果实验

(2)XX为GL_BLEND模式
OpenGL用不同参数调用glTexEnvf的效果实验

(3)XX为GL_DECAL模式
OpenGL用不同参数调用glTexEnvf的效果实验

(4)XX为GL_MODULATE模式
OpenGL用不同参数调用glTexEnvf的效果实验

(5)XX为GL_ADD模式
OpenGL用不同参数调用glTexEnvf的效果实验

你可能感兴趣的:(OpenGL)