【发布时间】:2016-07-21 16:32:27
【问题描述】:
我一直在桌面和 ES 配置文件(es 2.0 及更高版本)上研究和试用 OpenGL 中的不同 AA 技术,以将 2D 内容渲染到屏幕外 FBO。
到目前为止,我已经尝试过 FSAA、FXAA、MSAA 并使用 GL_LINE_SMOOTH 功能。
我无法为 ES 配置文件找到合适的 AA 解决方案,由于 API 限制,我一直受限于 FSAA 和 FXAA。例如 glTexImage2DMultisample(MSAA 需要)和 GL_LINE_SMOOTH 功能不可用。
FXAA 很聪明,但会使文本字形模糊到弊大于利的地步,它只真正适合 3D 场景。
FSAA 提供了非常好的结果,特别是在 2 倍超级采样时,但消耗了太多额外的视频内存,我无法在我们的大多数硬件上使用。
我在问其他人是否在类似情况下对任何其他技术有很大的运气 - 即:使用 OpenGL ES 配置文件将抗锯齿 2D 内容渲染到屏幕外 FBO。
请注意:我知道在 ES 配置文件上通过 GL_MULTISAMPLE 设置窗口时,我可以要求对默认帧缓冲区进行多重采样,但这对我渲染到必须实现 AA 的屏幕外 FBO 没有好处自己。
如果我的上述任何陈述不正确,请直接加入并直言不讳,这可能会有所帮助!
谢谢。
【问题讨论】: