小编mru*_*lle的帖子

是否可以使用WebGL最大纹理大小?

我正在开发一个应用程序,其中更高的分辨率总是更好.

但我遇到了WebGL max_texture_size问题.我创建了一个大小正好这个尺寸的图像(我的笔记本电脑上的16384x16384)和WebGL崩溃说:

GL_INVALID_ENUM:glBindFramebuffer:target是GL_READ_FRAMEBUFFER_ANGLE GL_INVALID_ENUM:glBindFramebuffer:target是GL_READ_FRAMEBUFFER_ANGLE WebGL:CONTEXT_LOST_WEBGL:loseContext:context lost

当我尝试0.75的最大值时也会发生同样的情况.只能以最大分辨率的一半工作,但这意味着我的图形内存中只有1/4的像素被使用!

所以我的问题是是否可以使用最大纹理大小,如果没有,怎么能找到WebGL可以吃到的最大纹理?我发现很少(如果有的话)在线文档.

以防万一,这是我如何绑定我的纹理:

gl.activeTexture(glTexture);
texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
with(gl){
    texParameteri(TEXTURE_2D, TEXTURE_MAG_FILTER, LINEAR);
    texParameteri(TEXTURE_2D, TEXTURE_MIN_FILTER, NEAREST);
    texParameteri(TEXTURE_2D, TEXTURE_WRAP_S, CLAMP_TO_EDGE);
    texParameteri(TEXTURE_2D, TEXTURE_WRAP_T, CLAMP_TO_EDGE);
}
program.samplerUniform = gl.getUniformLocation(program, textureName);
gl.uniform1i(program.samplerUniform, textureNb);
Run Code Online (Sandbox Code Playgroud)

javascript browser textures webgl

6
推荐指数
1
解决办法
6651
查看次数

标签 统计

browser ×1

javascript ×1

textures ×1

webgl ×1