OpenGL纹理贴图的基本概概念及API

本文深入探讨OpenGL中的纹理技术,包括纹理加载、环境设置、参数配置等核心操作,并介绍纹理对象、各向异性过滤、坐标生成及多重纹理等高级特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
OpenGL纹理贴图的基本概概念及API
载入纹理
       glTexImage2D()
       glEnable(GL_TEXTURE_2D)
       glTexSubImage()
       替换一个纹理帖图常常比直接使用glTexImage重新载入一个新纹理快得多。
       纹理矩阵
       glMatrixMode(GL_TEXTURE)
纹理环境
       glTexEnvi()
glTexEnvf()
       glTexEnviv()
glTexEnvfv()
纹理参数
       glTexParameterfv()
       GL_TEXTURE_MAG_FILTER
       GL_TEXTURE_MIN_FILTER
       基本过滤:
       线性过滤GL_NEAREST
       最邻近过滤GL_LINEAR
       纹理环绕:
       GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T
Mip帖图
 
纹理对象
       纹理对象允许一次载入超过一个的纹理状态(包括纹理图像),以及在它们之间进行快速切换。纹理状态由当前线定的纹理对象维护的,而纹理对象是由一个无符号整数标识的。可用下函数分配纹理对象
       Void glGenTextures(GLsizei n, GLuint *textures)
       为绑定其中一种纹理状态,可调用下面函数:
       Void glBindTexture(GLenum target, GLuint texture)
       当程序终止时,需要删除纹理对象,以完成最后的清理任务。
       glDeleteTextures(TEXTURE_COUNT,textures)
 
各向异性过滤:
       如果我们在进行纹理过滤时考虑了观察角度,那么这种方法就叫各向异性过滤(anisotropic texture filtering)。
       glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAX_ANISOTROPY_EXT,fLargest)
 
纹理坐标生成
       glEnable(GL_TEXTURE_GEN_S)
       glEnable(GL_TEXTURE_GEN_T)
       glEnable(GL_TEXTURE_GEN_R)
       glEnable(GL_TEXTURE_GEN_Q)
       可用如下函数设置用于纹理坐标生成的函数或方法:
       Void glTexGenf(GLenum coord, GLenum pname, GLfloat param)
       Void glTexGenfv(GLenum coord, GLenum pname, GLfloat* param)
       物体线性帖图GL_OBJECT_LINEAR
       视觉线性帖图GL_EYE_LINEAR
       球体帖图GL_SPHERE_MAP
       立方体帖图GL_REFLECTION_MAP
              立方体帖图增加了6个新值,它们可以传递到glTexImage2D函数中。GL_TEXTURE_CUBE_POSITION_X,
GL_TEXTURE_CUBE_NEGATIVE_X,
GL_TEXTURE_CUBE_POSITION_Y,
GL_TEXTURE_CUBE_NEGATIVE_Y,
GL_TEXTURE_CUBE_POSITION_Z,
GL_TEXTURE_CUBE_NEGATIVE_Z,
 
多重纹理
       glActiveTexture(GL_TEXTURE1)
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值