代码之家  ›  专栏  ›  技术社区  ›  jpx

如何确定调用glTexImage3D()的数据长度(以字节为单位)?

  •  1
  • jpx  · 技术社区  · 7 年前

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

    size_t num_pixels = width*height*depth;
    

    但我不确定如何确定给定的每像素字节数 internalformat , format type ?

    给我颜色组件?和 类型

    1 回复  |  直到 7 年前
        1
  •  2
  •   Nicol Bolas    7 年前

    内部格式

    嗯,实际上不是“唯一”。看见 总体安排 类型 总体安排 告诉您数据中有多少个通道,这些通道的顺序,以及数据是浮点型还是整数型; 告诉您如何存储通道或像素值)。但要确定如何从像素到像素、从行到行、从2D图像到2D图像移动,您需要更多。

    你需要的是所有的 GL_UNPACK_* state, whose values are set by the glPixelStore GL_UNPACK_ALIGNMENT 告诉您每行像素数据的对齐方式。为了从一行跳到另一行,您需要这个。还有其他的 UNPACK 状态,允许用户选择要从中上载的子矩形。如果您想解释在所有情况下上传的内容,必须使用 glGetIntegerv 其中 打开

    推荐文章