WebGL选择内部格式

时间:2012-12-17 19:01:47

标签: javascript html5 browser textures webgl

在WebGL的internalformat来电中传递给texImage2D的有效可能值是多少? WebGL规范似乎没有说清楚,我不确定桌面GL文档中的哪些枚举将在WebGL中起作用。

WebGL定义:RGBRGBARGBA4RGB5_A1RGB565。所有这些都保证是有效的内部格式吗?

type参数是否被记入帐户?如果我将internalformat设置为RGB而将type设置为UNSIGNED_SHORT_5_6_5,这是否可以保证内部格式为16位?或者它总是使用RGB8或根据其他因素决定?

1 个答案:

答案 0 :(得分:3)

根据我的理解,以下参数在webgl中有效:

  

internalformat:GL_ALPHA,GL_LUMINANCE,GL_LUMINANCE_ALPHA,GL_RGB,GL_RGBA。

     

格式:GL_ALPHA,GL_RGB,GL_RGBA,GL_LUMINANCE和GL_LUMINANCE_ALPHA。

     

输入:GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT_5_6_5,GL_UNSIGNED_SHORT_4_4_4_4和GL_UNSIGNED_SHORT_5_5_5_1。

     

internalformat必须匹配格式

来自opengl ES 2.0文档:

  

internalformat必须与格式匹配。纹理图像处理期间不支持格式之间的转换。 type可以用作提示来指定所需的精度,但GL实现可以选择以任何内部分辨率存储纹理数组。

如果webgl文档没有提供足够的详细信息,那么full opengl es 2.0文档可以提供帮助(第3.7.1章)。通过查看differences between webgl and opengl es 2.0,webgl和opengl es 2.0之间的glTexImage2D不应有任何区别