WebGL2中具有自定义大小的mipmaps问题



AFAIK,WebGL2对纹理大小没有限制,在WebGL1中应该是2的幂。但是,使用WebGL2,我尝试以自定义大小(不是2的幂)为DDS格式的压缩纹理生成mipmap,但总是遇到一个异常:"级别0不是2的次方…"。我尝试过一个mipmap级别和多个mipma级别。运气不好。只有当尺寸为2的幂时,它才有效。有人知道为什么吗?我已经尝试过使用imagemagik等工具创建的mipmaps,以及在运行时使用gl.generateMipmap(target)生成的mipmap。运气不好。

DXT明确适用于非POT纹理。它使用4x4块,因此它可以很好地处理任何尺寸为4的倍数的图像。你必须遵守这个规则。最初,我的纹理的宽度/高度不是4的倍数。我试过DXT5的宽度/高度为mip级别,是4的倍数,一切都很好。谢谢

最新更新