奇怪的纹理数组缓冲区限制

时间:2016-02-04 05:33:33

标签: opengl-es floating-point webgl

在WebGl片段着色器中,我使用的是从32位值数组生成的纹理,但在高于7000x7000px的分辨率时会产生错误,这远远低于我的gpu 16384x16384px的最大纹理分辨率。 gl.Unsigned在更高分辨率下没有问题但在更改为gl.float时没有问题。处理花车时这是一个已知的限制吗?有工作吗?任何输入都非常赞赏。

我的纹理参数 - “gl.texImage2D(gl.TEXTURE_2D,0,gl.ALPHA,8192,8192,0,gl.ALPHA,gl.FLOAT,Z_pixels)”

1 个答案:

答案 0 :(得分:1)

7000 * 7000 *每位浮点数32位* 4~ = 784兆字节的内存。也许这超出了您的显卡内存容量?

根据MSDN https://msdn.microsoft.com/en-us/library/dn302435(v=vs.85).aspx说“[gl.FLOAT]为图像创建128位/像素纹理而不是每像素32位。”所以gl.ALPHA仍然可以使用每像素128位。