我们在IOS上使用压缩纹理来处理草皮和沙子纹理,但是较小的Mip贴图级别应该变为平滑的颜色,由于压缩纹理抖动,因为它们不能代表确切的混合颜色,所以最终在其中具有细节。
那么,我们可以对1024x1024、512x512和256x256使用压缩纹理,然后对128x128和更小的级别使用32位纹理吗?我们只会使总纹理大小略有增加,并获得更好的质量。
看来您可以为每个单独的Mip贴图级别传递格式,但是我已经尝试过了,但是除非所有纹理Mip贴图级别都相同,否则所有内容看起来都是黑色的,而实际上没有导致GL错误。
有可能吗?
谢谢
肖恩
OR,
答案 0 :(得分:2)
不幸的是,不是。
摘自gles 2 spec 3.8.7:
如果所有图像阵列和纹理都被认为是完整的纹理 将纹理用于纹理应用所需的参数是 一致定义。
...
对于2D和3D纹理,如果 以下条件均成立: •用相同的类型和相同的格式指定一组mipmap数组。