我用OpenGLES2在iOS 4.3.3上启用了多采样支持,渲染结果很糟糕,就好像颜色是RGB565格式的,而不是ARGB8888格式的。
问题是,要么关闭多重采样,要么将相同的ipa部署到iOS 5设备上(这表明我确实正确地打开了多重采样),问题不会发生,除非关闭多重采样会让它看起来非常丑陋(这也表明多重采样在大多数情况下都可以工作)。
测试用例非常简单,只需在正交投影模式( texture isRGBA8888的颜色格式)下渲染一个带有纹理的四边形。
以前有没有人遇到过同样的问题?这是Apple SDK的bug吗?
顺便说一句,我使用的SDK是Xcode 4.3.2附带的SDK,ios部署目标设置为4.0
发布于 2012-07-15 16:27:12
事实证明,根本原因是eaglLayer.drawableProperties被设置为kEAGLColorFormatRGB565。
但是,为什么在打开/关闭多重采样时,结果会如此不同?
我想知道这是不是因为采样缓冲区(RGBA8)和表面缓冲区(RGB565)的颜色格式不同而导致的,然后我将采样缓冲区改为GL_RGB565,但问题仍然没有解决。
也许这是关于glResolveMultisampleFramebufferAPPLE没有很好地实现的东西?无论如何,这个问题在iOS 5设备上不存在。
https://stackoverflow.com/questions/11482764
复制相似问题