更新到 IOS 7 后,我看到启用 GL_BLEND 且混合功能设置为 GL_ONE、GL_ONE_MINUS_SRC_ALPHA 的图像渲染出现错误。我检查了尚未更新到 IOS 7 的设备没有显示此问题。
解释我所看到的。- 具有非零 alpha 的图像呈现为非透明(不透明)。
这导致在艺术周围显示白色轮廓,这些轮廓混合为完整的 alpha 以隐藏锯齿状边缘。
注意构成这个小家伙的每个部分周围的渲染工件。
需要注意的另一件事是艺术图像未压缩到 PVR4。
再次记住,这一切都在 IOS7 之前工作,没有图形错误。
谢谢你的帮助。。
渲染注释: glEnable(GL_BLEND) glBlendEquation( GL_FUNC_ADD ) glBlendFunc( GL_ONE, GL_ONE_MINUS_SRC_ALPHA )
在研究了这个之后..我开始认为预编译的 alpha 发生了一些变化。我不知道 iOS 7 中会发生什么变化......仍在努力。
解决 了我的理解是,在我们的案例中,没有说你想要 GLKTextureLoaderApplyPremultiplication 的调用 textureWithContentsOfFile 似乎仍然会产生一个具有预乘 alpha 的图像。通过添加 YES 的选项,我们希望它这样做......现在 iOS7 上的一切都在工作。