AFAIK, WebGL2 没有纹理大小限制,在WebGL1中纹理大小应为2的幂。但是,对于WebGL2,我尝试生成具有自定义尺寸(不是2的幂)的DDS格式的压缩纹理的mipmap,并且总是出现一个例外:“级别0不是2的幂...”。我已经尝试了一个mipmap级别和多个级别。没运气。它仅在大小为2的幂时起作用。有人知道为什么吗?我已经尝试过使用像imagemagick这样的工具创建的mipmap和在运行时使用 gl.generateMipmap(target)生成的mipmap。没有运气。
答案 0 :(得分:0)
DXT绝对适用于非POT纹理。它使用4x4块,因此在尺寸为4的倍数的任何图像上都可以正常工作。您必须遵循此规则。最初,我的纹理的宽度/高度不是4的倍数。我尝试过DXT5,其mip级别的宽度/高度是4的倍数,并且一切正常。谢谢。