OpenGL中纹理贴图总结

 OpenGL提供了强大的纹理贴图支持

OpengGL1.1版本引入以下的几个纹理特性:

增加了一些内部纹理图像格式。

纹理代理。用于查询是否有足够的资源以容纳一幅特定的纹理图像。

纹理子图像。用于替换原有纹理图像的部分或者全部,而不是完全删除原来的纹理在创建一个新纹理来实现相同的效果。

根据帧缓存区来指定纹理数据。

纹理对象,包括常驻纹理以及纹理的优先级。

OpenGL1.2版本又引入了下面的纹理特性

3D纹理图像

一种新的纹理坐标包装模式gl_clamp_to_edge,她所有的纹理单取自纹理图像的边缘,而不是他的边框。

增强了对mipmap纹理的控制,用于表示不同的细节层(lod)

在纹理处理之后计算镜面亮点。

OpenGL1.3版本又增加了下面这些纹理特性

压缩纹理

立方图纹理

多重纹理,在一个图元上应用几个纹理渲染一个图元

纹理包装模式GL_CLAMP_TO_BORDER

纹理混绕模式gl_add和gl_combine(包括点积组合函数)

OPenGL1.4所增加的纹理特性包括

纹理包装模式gl_mirrored_repeat

用GL_Generate_mipmap自动生成mipmap

纹理参数gl_texture_lod_bias,它用于更改mipmap细节层的选择

在纹理处理以后应用辅助颜色

位于纹理组合环境模式时,能够把不同的纹理单位作为纹理颜色的来源,用于纹理组合器函数

使用深度(r坐标)作为一种内部纹理格式,以及对深度纹理单元进行比较的模式,以决定纹理的应用

OpenGL1.5所增加的纹理特性包括:

增加了一些纹理比较模式,用于实现阴影贴图的纹理

opengl2.0增加的纹理特性包括:

在纹理贴图中消除了宽度和高度必须为2的幂的限制

点块纹理的迭代式纹理坐标

 

 

纹理贴图的步骤:

创建一个纹理对象,并为他指定一个纹理

确定这个纹理应该如何应用到每个像素上

启用纹理贴图功能

绘制场景,提供纹理坐标和几何图形坐标

 

一般情况下,先要将一张图片载入,生成纹理,绑定纹理glGenTextures,glBIndTexture,设置纹理包装模式glTexParameteri,然后将纹理坐标与几何图元坐标用来实现就可以了。

 

 

指定纹理:glTexImage2D用来定义二维纹理,

你可能感兴趣的:(OpenGL中纹理贴图总结)