OpenGL-纹理相关函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL-纹理相关函数相关的知识,希望对你有一定的参考价值。

参考技术A 本文主要记录一些OpenGL中有关纹理相关的函数,有些函数使用频率不高,简单记录一下,为将来遇到使用场景时,有个快速的查看途经。

GL_UNPACK_ALIGNMENT 指内存中每个像素⾏起点的排列请求,允许设置为1 (byte排列)、2(排列为偶数byte的⾏)、4(字word排列)、8(⾏从双字节
边界开始)

使用频率: 低

使用频率: 低

使用频率: 低

使用频率: 高

更新纹理

插入替换纹理

这两类函数与加载纹理glTexImage2D函数中的参数列表相差不多。
使用频率: 低

参数与前面的记录过的差不多,所以不再啰嗦了。参数大概就是要确定读取颜色缓冲区中的范围。缓冲区中的数据,是通过glReadBuffer设置的。
==注意:==不存在glCopyTextImage3D ,因为颜⾊缓存区是2D的,无法从中获取体积数据。

使用频率: 低

分配纹理对象

绑定纹理

删除绑定纹理对象

测试纹理对象是否有效

如果texture是⼀个已经分配空间的纹理对象,那么这个函数会返回GL_TRUE,否则会返回GL_FALSE。

示例:缩放

GL_NEAREST和GL_LINEAR区别:
效果上来说GL_NEAREST边缘会有些锯齿,而GL_LINEAR边缘过滤的比较好。

原理:
临近模式GL_NEAREST:获取最近像素点的颜色值

线性模式GL_LINEAR:获取周边颜色的混合值

示例:环绕方式

纹理中的坐标系是用s、t、r标示,这个可以理解为s对应x,t对应y,z对应r。

纹理中的点与屏幕显示对应的点是可以自定义匹配的,可以理解为‘贴图’。可以正着贴,也可以倒着贴

如图:倒着贴,也就是(0,0)对应(0,1)、(0,1)对应(0,0)、(1,1)对应(1,0)、(1,0)对应(1,1)

本文写给未来的自己,如果对相关知识点忘记了,记得回来看哦。---过去的自己,留!

Opengl-纹理——相关函数小记

glTexImage2D

void glTexImage2D( GLenum target,
GLint level,
GLint internalformat,
GLsizei width,
GLsizei height,
GLint border,
GLenum format,
GLenum type,
const void * data);

技术图片

以上是关于OpenGL-纹理相关函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 OpenGL 和 QT 进行纹理映射 - C++

在 CG 和 openGL 中使用统一的 1D 纹理参数时出错

OpenGL-载入纹理

我的渲染技术进阶之旅关于OpenGL纹理压缩的相关资料

我的渲染技术进阶之旅关于OpenGL纹理压缩的相关资料

我的渲染技术进阶之旅关于OpenGL纹理压缩的相关资料