1

如何在整个渲染上对三角形进行抗锯齿处理?我应该把它放在fragmentShader上吗?有没有其他好的解决方案来改善这种事情?

这是我的“观点”,边缘非常脆(不是很好)。

在此处输入图像描述

4

1 回答 1

6

经过深入研究,我发现它其实很简单,最常见的做法是渲染就像有一个屏幕大 4 倍(甚至超过 4 倍)。在渲染到这个更大的屏幕后,GPU 将获取该区域的平均值并基于此设置像素颜色。

使用这个库很容易启用它:

https://code.google.com/p/gdc2011-android-opengl/source/browse/trunk/src/com/example/gdc11/MultisampleConfigChooser.java

但是,您应该记住,渲染所有内容将花费 4 倍或更多时间,这意味着更多的时间来处理,也许,更少的 FPS...

此外,如果您正在使用 OpenGL 模拟 Android 设备,请确定您的 GPU 是否支持这种多重采样。例如,我的没有(Tegra)。

这是最终结果,有和没有多重采样:

在此处输入图像描述

于 2013-07-29T20:22:39.647 回答