OpenGL 4.5文档和规范提到了glTextureLevelParameter*
的参数名称GL_TEXTURE_RED_TYPE, GL_TEXTURE_GREEN_TYPE, GL_TEXTURE_BLUE_TYPE, GL_TEXTURE_ALPHA_TYPE, GL_TEXTURE_DEPTH_TYPE
的存在,说它们返回每个单独组件的数据类型。我理解深度和模板组件的吸引力,但是RGBA呢?是否有可能有一个纹理,比如说为了参数,带符号int红色,浮动绿色,无符号int蓝色和带符号固定α ?或者红色、绿色、蓝色和alpha组件保证总是返回相同的数据类型吗?不确定如何请求这样一个内部格式的纹理开始。
请注意,我理解GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_DEPTH_SIZE
的意义,特别是对于R5G6B5或RGB10A2等格式。
没有允许不同颜色组件具有不同类型的内部格式。理论上,查询API允许这样做,但据我所知,没有内部格式允许这样做。