如何在我的系统上找到WebGL的最大纹理大小

时间:2017-09-08 05:42:38

标签: textures webgl

我正在开发一个应用程序,我使用WebGL在高清图像上应用过滤器。我面临的问题是当我使用WebGL图像应用过滤器时,由于我的系统中部分WebGL的限制而被切掉了。

所以我的问题是如何在我的系统上找到最大纹理大小的WebGL 。目前我肯定知道它设置为2048.因为2048 x 2048的图像工作得非常好,图像大于此导致问题。

1 个答案:

答案 0 :(得分:1)

gl.getParameter(gl.MAX_TEXTURE_SIZE)返回WebGLRenderingContext的最大纹理尺寸 请参阅问题"Is it possible to use WebGL max texture size?"的答案。

function getMaxTextureSize() {
    var gl = document.getElementById( "my-canvas").getContext( "experimental-webgl" );
    if ( !gl )
      return;
    document.getElementById( "textureSize" ).innerHTML = gl.getParameter(gl.MAX_TEXTURE_SIZE)
}
<body onload="getMaxTextureSize();">
    MAX_TEXTURE_SIZE : <span id="textureSize">0</span>
    <canvas id="my-canvas" style="border: none;" width="64" height="64"></canvas>
</body>