views:

413

answers:

0

Based on my reading of Ch. 6 in the Red Book, changing the things that need to be changed for ES, I thought the following code should have done it:

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

etc.

But the above fails. There is no visible difference in the output, the aliasing artifacts are just as painfully evident as before the calls to glEnable...glHint were inserted.

Actually, what I just described was when I had GL_LINE_SMOOTH in place of GL_POLYGON_SMOOTH. The latter is not even found! So where is it if not in GL10? Or how could it have been left out of OpenGL ES? How are we supposed to draw filled polygons w/ antialiasing if not with GL_POLYGON_SMOOTH?