我可以用 UNSIGNED_SHORT_4_4_4_4 理解 RGBA4,其中每个颜色分量都是 4 位。但是,如果我们对无符号字节类型的纹理使用 RGBA4 内部格式,那么如何解释呢?
我能理解的是这里每个组件都是 8bits ,但是 '4' 在 RGBA4 中意味着什么?它会考虑每 8 位/组件的前 4 位而忽略其他吗?
我可以用 UNSIGNED_SHORT_4_4_4_4 理解 RGBA4,其中每个颜色分量都是 4 位。但是,如果我们对无符号字节类型的纹理使用 RGBA4 内部格式,那么如何解释呢?
我能理解的是这里每个组件都是 8bits ,但是 '4' 在 RGBA4 中意味着什么?它会考虑每 8 位/组件的前 4 位而忽略其他吗?
glTexImage2D的internalFormat
参数就是纹理格式。
如果您要询问format
和type
参数,那不是纹理的格式,而是传入数据的格式。GL 将按照 GL 规范(GL 4.3 核心规范中的 8.4.4 像素矩形传输)中描述的特定规则来解释传入的数据类型。
特别是,在 8.4.4.1 拆包中,在“特殊解释”下,您询问的情况包括:
如果发生不匹配,任何处理像素矩形的命令都会生成 INVALID_OPERATION 错误