webgl2 - WebGL2 中具有自定义大小的 mipmap 问题
问题描述
AFAIK,WebGL2对纹理大小没有限制,在 WebGL1 中应该是 2 的幂。但是,使用 WebGL2,我尝试为具有自定义大小(不是 2 的幂)的 DDS 格式的压缩纹理生成 mipmap,但总是遇到异常:“级别 0 不是 2 的幂......”。我已经尝试了一个 mipmap 级别和 miltiple 级别。没运气。它仅在大小为 2 的幂时有效。有人知道为什么吗?我已经尝试过使用 imagemagick 之类的工具创建的 mipmap 以及在运行时使用gl.generateMipmap(target)生成的 mipmap 。没运气。
解决方案
DXT 绝对适用于非 POT 纹理。它使用 4x4 块,因此它适用于任何尺寸为 4 倍数的图像。您必须遵循此规则。最初,我的纹理的宽度/高度不是 4 的倍数。我尝试了 DXT5,mip 级别的宽度/高度是 4 的倍数,一切正常。谢谢。
推荐阅读
- sql - Microsoft Access Make-Table 性能与传递查询
- kotlin - 为什么使用种类
而不是 F - google-cloud-platform - 如何使用 googleapiclient 列出 GCE 子网
- batch-file - 是否可以告诉批处理文件在某个字符之后分析所有数据?
- javascript - NodeJS APIs 文件夹结构
- asp.net-core - 无法连接到 IdentityServer4 快速入门中的 IdentityController
- javascript - 谷歌表格是否支持 JavaScript function.bind()?
- r - 如何在同一数据集中查找不同类别的总数?
- c - 通过C中的多种方法通过引用传递 - 值丢失
- ruby-on-rails - Ruby on Rails Rake 资产:预编译错误 - 连接被拒绝