1

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

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

测试用例很简单,只是用正射投影方式渲染一个贴有纹理的四边形,纹理的颜色格式是RGBA8888。

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

顺便说一句,我使用的 SDK 是 Xcode 4.3.2 附带的,ios 部署目标设置为 4.0

4

1 回答 1

0

原来根本原因是 eaglLayer.drawableProperties 设置为 kEAGLColorFormatRGB565。

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

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

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

于 2012-07-15T08:27:12.143 回答