我可以在WebGL中使用每个通道16位(即RGB的48位)图像数据吗?我可以使用PNG作为输入格式吗?如果我这样做,是基于某些官方标准还是依赖于浏览器特定的扩展,这些扩展可能会在其他浏览器上中断?
答案 0 :(得分:2)
Core WebGL每个颜色通道不支持超过8位。但OES_texture_float
扩展名得到广泛支持,因此这可能是最好的前进方式。 (好吧,只要你远离移动设备,无论如何。)
您可以在任何浏览器上加载48位PNG,但在您访问它之前它将转换为24位。您必须使用JavaScript和XMLHttpRequest手动加载图像数据,然后在调用texImage2D
之前将16位整数转换为浮点数。