我们如何在Android 1.5上的OpenGL ES中获得Polygon Antialiasing?

基于我对Ch的阅读.红皮书中的6,更改了需要为ES更改的内容,我认为以下代码应该已经完成​​了:
gl.glEnable(GL10.GL_POLYGON_SMOOTH);
gl.glBlendFunc(GL10.GL_SRC_ALPHA_SATURATE,GL10.GL_ONE);
gl.glHint(GL10.GL_POLYGON_SMOOTH_HINT,GL10.GL_NICEST); // no visible diff
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT,GL10.GL_NICEST);
gl.glColor4f(1,1,1);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP,4);         // first and count

等等

但上述失败.输出中没有明显的差异,混叠伪像与插入glEnable … glHint之前的痛苦明显一样明显.

实际上,我刚才描述的是当我用GL_LINE_SMOOTH代替GL_POLYGON_SMOOTH时.甚至找不到后者!那么,如果没有GL10,它会在哪里?或者它怎么能被排除在OpenGL ES之外呢?如果没有使用GL_POLYGON_SMOOTH,我们如何绘制带抗锯齿的填充多边形?

解决方法

如果不尝试,你上面所做的事情似乎并不正确.然而,尽管API确实存在,但许多手机实际上并不支持抗锯齿.

您应该能够通过多次绘制屏幕来实现全屏抗锯齿,同时抖动每个矩阵.

有关iPhone上的相同问题,请参阅http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node63.htmlthis post

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...