一段时间以来,我一直在尝试使用 ETC1(特别是 PKM 文件)进行纹理压缩。我试图做到这一点而不必升级到 OpenGL ES 2,所以我一直在使用多纹理。
我现在(终于)有了多重纹理工作,但问题是它的行为不像人们期望的那样,我想我已经弄清楚了原因。在创建 PKM 时,您最终会得到仅包含颜色组件的 PKM,以及仅包含 Alpha 组件的 PKM。问题是 alpha PKM 似乎将 alpha 值存储在 RGB 通道中。黑色似乎代表完全透明,白色似乎代表完全不透明。
我的问题是:在使用多重纹理时,有没有办法将这些 RGB 值组合并转换为 alpha 值?如果不是,那么我看不到在 OpenGL ES 1.1 下使用 ETC1 和支持 alpha 的任何选项(如果我错了,请纠正我)。