看见以前写的文章,都是4月份了。。呵呵,最近终于有时间,重新来搞搞opengl。不出意料,不一会就碰见拦路虎---多边形锯齿。
查遍谷歌和度娘,stackoverflow也看了不少,竟然没有现成方案解决opengl的多边形锯齿问题!
最后终于在各种补充基础后,找到了解决方案,要是省了你很多时间,请给32个赞。
代码很简单:
mGLView = new GLSurfaceView(this);
mGLView.setEGLConfigChooser(new EGLConfigChooser() {
@Override
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
int[] attrList = new int[] { //
EGL10.EGL_SURFACE_TYPE, EGL10.EGL_WINDOW_BIT, //
EGL10.EGL_RED_SIZE, 8, //
EGL10.EGL_GREEN_SIZE, 8, //
EGL10.EGL_BLUE_SIZE, 8, //
EGL10.EGL_DEPTH_SIZE, 16, //
EGL10.EGL_SAMPLE_BUFFERS, 1,
EGL10.EGL_SAMPLES, 2,
EGL10.EGL_NONE //
};
EGLConfig[] configOut = new EGLConfig[1];
int[] configNumOut = new int[1];
egl.eglChooseConfig(display, attrList, configOut, 1, configNumOut);
return configOut[0];
}
});
帮助了我的文章:http://www.linuxgraphics.cn/opengl/aa.html