任何人在iOS 4.3.3上使用OpenGLES2和MultiSampling开启了奇怪的alpha混合错误?

时间:2012-07-14 09:53:49

标签: ios alpha blending multisampling

我在iOS 4.3.3上使用OpenGLES2启用了多重采样支持,渲染结果很糟糕,就好像颜色是RGB565而不是ARGB8888。

问题是,要么关闭多重采样,要么将相同的ipa部署到iOS 5设备(这表明我确实打开了正确的多重采样),问题不会发生,除了关闭多重采样将使其非常难看(这也表明多重采样确实适用于大多数情况)。

测试用例非常简单,只需在正交投影模式下渲染纹理四边形,纹理的颜色格式为RGBB8888。

以前有人遇到过同样的问题吗?这是Apple SDK的错误吗?

BTW,我使用的SDK是随Xcode 4.3.2一起提供的,ios部署目标设置为4.0

1 个答案:

答案 0 :(得分:0)

原因是eaglLayer.drawableProperties被设置为kEAGLColorFormatRGB565。

但是,为什么在开启/关闭多重采样时结果如此不同?

我想知道这是由不同颜色格式的采样缓冲区(RGBA8)和表面缓冲区(RGB565)引起的,然后我将采样缓冲区更改为GL_RGB565,但问题仍未解决。

对于glResolveMultisampleFramebufferAPPLE,这可能是没有很好实现的吗?无论如何,iOS 5设备上不存在该问题。