Hacker News new | ask | show | jobs
by w0utert 4686 days ago
Yes, generic anti-aliasing for 3D graphics isn't as straightforward as modern desktop GPU's make it appear to be.

The multi-sampling approach that desktop hardware uses is basically brute-forcing it, and doesn't work on mobile hardware that uses tile-based deferred rendering. Subpixel rendering only works for contours. Texture filtering requires you to model everything using bitmaps. Solutions that intelligently combine different techniques to get antialiasing without requiring MSAA have to be implemented manually because AFAIK OpenGL does not have any API's to do anything other than full-scene antialiasing using multisampling (GL_POLYGON_SMOOTH is basically useless, if it even exists in OpenGL ES).

Antialiasing is actually a pretty hard topic unless you have lots of fillrate ;-)

1 comments

>Subpixel rendering only works for contours.

That's simply not true. It works for any non-horizontal edge.

If you have touching faces rendered using different shaders, different lighting/material properties and/or different textures, internal edges rendered using subpixel antialiasing will look bad, which is why FSAA using multisampling is the preferred way to antialias on any system that has sufficient fillrate.