Opengl es 类型为GL_无符号_字节的RGBA4格式

Opengl es 类型为GL_无符号_字节的RGBA4格式,opengl-es,opengl-es-3.0,Opengl Es,Opengl Es 3.0,我可以理解RGBA4的无符号_SHORT_4_4_4_4_4,其中每个颜色分量将为4位。 但如果我们对类型为unsigned byte的纹理使用RGBA4内部格式,那么该如何解释呢 我能理解的是这里每个组件都是8位的,但是“4”在RGBA4中意味着什么? 它会考虑每8位/分量的前4位而忽略其他吗? 的internalFormat参数就是纹理格式 如果您想询问格式和类型参数,那不是纹理的格式,而是传入数据的格式。德国劳埃德船级社将按照德国劳埃德船级社规范中描述的特定规则(8.4.4规范中像素矩形的

我可以理解RGBA4的无符号_SHORT_4_4_4_4_4,其中每个颜色分量将为4位。 但如果我们对类型为unsigned byte的纹理使用RGBA4内部格式,那么该如何解释呢

我能理解的是这里每个组件都是8位的,但是“4”在RGBA4中意味着什么?
它会考虑每8位/分量的前4位而忽略其他吗? 的
internalFormat
参数就是纹理格式

如果您想询问
格式
类型
参数,那不是纹理的格式,而是传入数据的格式。德国劳埃德船级社将按照德国劳埃德船级社规范中描述的特定规则(8.4.4规范中像素矩形的传输)解释输入数据类型

特别是,在8.4.4.1“特殊解释”项下,您询问的情况包括:

如果发生不匹配,任何命令处理像素矩形都会生成无效的_操作错误


无符号字节
仅在传输像素时使用。这用于解释
数据
指针指向的图像数据。德国劳埃德船级社将该数据复制到其自身的内部格式后,该类型不再具有任何意义。您可以将浮点图像数据复制到
GL\u RGBA4
中,如果您愿意,GL不在乎,它只是将像素数据进行转换。注意,由于您标记了此ES,因此讨论有点不同-ES不支持不匹配的内部/像素传输类型(无转换)。如果你想要一个单一的答案,我建议你坚持使用一个API来回答你的问题。Andon M.Coleman@我想专门针对opengl es 3.0和与glTexImage*调用相关的查询。规范显示此内部格式为RGBA4的GL_无符号_字节有效。但是当我用RGBA8渲染GL_UNSIGNED_BYTE和用RGBA4渲染GL_UNSIGNED_BYTE的图像时,两者看起来都不同。因此,我想知道如何将此图像数据应用于RGBA4内部格式。