如何确定数据的字节长度的呼叫glTexImage3D()?

问题描述 投票:1回答:1

我跟踪了一些GL调用,并希望记录()传递到glTexImage3D数据。我需要知道有多少字节的数据。

它开始容易:

size_t num_pixels = width*height*depth;

但我不知道正确的方法来确定每个像素给出internalformatformattype字节?

是否format给我颜色分量?和type给我每个颜色分量的位数?

opengl trace opengl-4
1个回答
2
投票

所述internalformat参数无关搞清楚存储在像素传送操作的数据;只有格式化和物质类型。

哦,不是“唯一”其实。见,格式和类型相结合,确定像素的价值的数据(格式告诉你有多少通道中的数据,这些通道的顺序,以及数据是否是浮点或整数的大小,类型告诉你如何信道或像素值被存储)。不过,以确定如何从像素移动像素,逐行,和2D图像以2D图像,你需要更多。

你需要的是所有的GL_UNPACK_* state, whose values are set by the glPixelStore的。 GL_UNPACK_ALIGNMENT告诉你的像素数据的每一行的对齐方式。你需要这个以行与行跳。还有其他UNPACK状态,它允许用户选择一个子矩形从上传。如果你想解释什么得到在所有情况下上传的,你必须使用glGetIntegerv获得所有这些UNPACK参数,并解释它们作为标准规定。

© www.soinside.com 2019 - 2024. All rights reserved.