![]() |
2
8
从iOS 4.0开始,通过对OpenGL的Apple扩展直接支持全屏消除混叠。
基本概念类似于epatel的建议:将场景渲染到更大的帧缓冲区,然后将其复制到屏幕大小的帧缓冲区,然后将该缓冲区复制到屏幕。不同的是,复制/采样操作不是创建纹理并将其渲染到四元体上,而是由单个函数调用执行(具体来说,
有关如何设置缓冲区和修改绘图代码的详细信息,可以阅读 a tutorial on the Gando Games blog 它是为OpenGLES1.1编写的;还有 a note on Apple's Developer Forums 解释同样的事情。 感谢Bersaelor pointing this out in another SO question . |
![]() |
3
2
查看egl_sample_buffers和egl_samples参数 eglChooseConfig() 以及 glEnable(GL_MULTISAMPLE) . 编辑:人力资源管理, apparently 你运气不好,至少就标准化方法而言。如该线程中所述,可以渲染为较大的屏幕外纹理,并缩放为较小的屏幕四元体,或多次抖动视图矩阵。 |
![]() |
4
2
我们找到了另一种实现这一目标的方法。如果编辑纹理并添加透明像素的2像素帧,则纹理中的彩色像素将在必要时与透明像素混合,从而产生基本的抗混叠效果。你可以在这里阅读全文 our blog . 这种方法的优点是,您不会渲染更大的图像,也不会复制缓冲区,甚至更糟的是,不会从缓冲区生成纹理,因此不会影响性能。 |
![]() |
Phil · 从URL读取图像,调整其大小并应用抗锯齿 7 年前 |
![]() |
ar2015 · C++:从openGL中消除莫尔效应 7 年前 |
![]() |
Rafael · 如何在Gnuplot中使用抗锯齿来制作gif? 7 年前 |