(1)创建纹理对象,并为它装载一个纹理
• glGenTextures(1, &texName);
• glBindTexture(GL_TEXTURE_2D,texName);
• void glTexImage2D(GLenum target,GLint level,GLint components,
GLsizei width, glsizei height,GLint border, GLenum format,GLenum
type, const GLvoid *pixels);
程序的最后还应该释放纹理资源:
void glDeleteTextures( GLsizei n, const GLuint *textures )
(2)确定纹理如何应用到每个像素上
void glTexEnvf( GLenum target , GLenum pname , GLfloat param );
//target必须是:GL_TEXTURE_ENV
//pname必须是:GL_TEXTURE_ENV_MODE
//param可以有四种选择:
//GL_MODULATE, GL_DECAL, GL_BLEND, or GL_REPLACE
(3)启用纹理贴图功能
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, texName);
(4)绘制场景,提供纹理坐标和几何图形坐标
glTexCoord2f(0.0, 0.0) ;
glVertex3f(-2.0, -1.0, 0.0) ;
// 纹理坐标取值范围是[0, 1],如果超出这个范围,则
//glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S,GL

本文详细介绍了在OpenGL中应用纹理的四个步骤:创建纹理对象并装载纹理,设置纹理映射模式,启用纹理贴图功能,以及绘制时提供纹理和几何坐标。同时,还探讨了对纹理坐标进行几何变换的过程,以实现更复杂的渲染效果。
最低0.47元/天 解锁文章
6808

被折叠的 条评论
为什么被折叠?



