我可以将每个通道使用16位用于WebGL纹理

时间:2012-12-13 05:46:54

标签: image html5 png webgl color-depth

我可以在WebGL中使用每个通道16位(即RGB的48位)图像数据吗?我可以使用PNG作为输入格式吗?如果我这样做,是基于某些官方标准还是依赖于浏览器特定的扩展,这些扩展可能会在其他浏览器上中断?

1 个答案:

答案 0 :(得分:2)

Core WebGL每个颜色通道不支持超过8位。但OES_texture_float扩展名得到广泛支持,因此这可能是最好的前进方式。 (好吧,只要你远离移动设备,无论如何。)

您可以在任何浏览器上加载48位PNG,但在您访问它之前它将转换为24位。您必须使用JavaScript和XMLHttpRequest手动加载图像数据,然后在调用texImage2D之前将16位整数转换为浮点数。