OpenGL GltexSubimage数据包装

OpenGL glTexSubImage Data Packing

本文关键字:包装 数据包 数据 GltexSubimage OpenGL      更新时间:2023-10-16

使用OpenGL的GltexSubiMage2D和GlTexSubimage3D函数时,如果数据指针包含包装包装的数据以匹配实际纹理尺寸或实际纹理尺寸或子图像?

例如,如果您具有简单的3x3纹理,并且只想上传中心像素,那将是x偏移1,y偏移1,宽度1和高度1的子图像,您将调用...

glTexSubImage2D(GL_TEXTURE_2D, 0, 1, 1, 1, 1, GL_RED, GL_UNSIGNED_BYTE, data)

data应该看起来像{ 255 }还是{ 0, 0, 0, 0, 255, 0, 0, 0, 0 }

纹理的大小没关系。

子区域更新的大小。具体而言,glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, data)期望data指向适当类型和格式的大小(width, height)的矩形图像。从内存中解开数据的方式由GL_UNPACK_ALIGNMENTGL_UNPACK_ROW_LENGTH和朋友控制。请参阅OpenGL规范§8.4像素矩形。

在您的特殊情况下,data必须指向一个单一值,例如{ 255 }