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

How to find out Max Texture Size for WebGL on my system

我正在开发一个应用程序,我使用 WebGL 在高清图像上应用滤镜。我面临的问题是,当我使用 WebGL 应用过滤器时,图像会被切掉,这是因为我的系统中 WebGL 的一部分受到限制。

所以我的问题是如何找出系统上 WebGL 的 最大纹理大小。目前我确定它设置为 2048。因为 2048 x 2048 的图像工作得很好,大于 2048 的图像会导致问题。

WebGLRenderingContext 的最大纹理大小由 gl.getParameter(gl.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>