基于我对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, 1);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4); // first and count
Run Code Online (Sandbox Code Playgroud)
等等
但是上面的失败了.输出中没有明显的差异,混叠伪像与插入glEnable ... glHint之前的痛苦明显一样明显.
实际上,我刚才描述的是当我用GL_LINE_SMOOTH代替GL_POLYGON_SMOOTH时.甚至找不到后者!那么,如果没有GL10,它会在哪里?或者它怎么能被排除在OpenGL ES之外呢?如果没有使用GL_POLYGON_SMOOTH,我们如何绘制带抗锯齿的填充多边形?
如果不尝试,您上面所做的事情似乎并不正确。然而,尽管 API 支持抗锯齿功能,但许多手机实际上并不支持抗锯齿功能。
您应该能够通过在抖动透视矩阵的同时多次绘制屏幕来实现全屏抗锯齿。
请参阅http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node63.html和这篇关于 iPhone 上相同问题的文章
| 归档时间: |
|
| 查看次数: |
3142 次 |
| 最近记录: |