android - OpenGL ES 2.0 上的抗锯齿

标签 android opengl-es rendering antialiasing

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

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

enter image description here

最佳答案

经过深入研究,我发现其实很简单,最常见的就是渲染成屏幕大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)。

这是最终结果,使用和不使用多重采样:

enter image description here

关于android - OpenGL ES 2.0 上的抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17928181/

相关文章:

java - 如何将 .obj 文件转换为 Android openGL?

android - MoPub 原生广告和 Facebook“未发现广告”

java - Crosswalk 在 android 上从 java 调用 js 函数

javascript - 来自本地 HTML 文件的 WebView Javascript 跨域

android - Opengl - 将纹理转换为数组

java - LWJGL 可以与 Graphics2D 一起使用吗?

java - 将 progressBar 可见性设置为消失时应用程序崩溃

objective-c - ccDrawLine 不透明度?

android - 呈现问题注意 : This project contains Java compilation errors

reactjs - react 表格重新渲染,在表格单元格中输入文本时失去焦点