您可以在Open GLES2.0中的mip贴图级别上混合纹理格式吗

时间:2018-09-19 16:07:41

标签: ios opengl-es-2.0 mipmaps

我们在IOS上使用压缩纹理来处理草皮和沙子纹理,但是较小的Mip贴图级别应该变为平滑的颜色,由于压缩纹理抖动,因为它们不能代表确切的混合颜色,所以最终在其中具有细节。

那么,我们可以对1024x1024、512x512和256x256使用压缩纹理,然后对128x128和更小的级别使用32位纹理吗?我们只会使总纹理大小略有增加,并获得更好的质量。

看来您可以为每个单独的Mip贴图级别传递格式,但是我已经尝试过了,但是除非所有纹理Mip贴图级别都相同,否则所有内容看起来都是黑色的,而实际上没有导致GL错误。

有可能吗?

谢谢

肖恩

OR,

1 个答案:

答案 0 :(得分:2)

不幸的是,不是。

摘自gles 2 spec 3.8.7:

  

如果所有图像阵列和纹理都被认为是完整的纹理   将纹理用于纹理应用所需的参数是   一致定义。

...

  

对于2D和3D纹理,如果   以下条件均成立:   •用相同的类型和相同的格式指定一组mipmap数组。