I was making a line drawing app and learning about anti-aliasing using openGL, however was getting a bit confused about the options.
First of, I was using a shader to anti-aliase the line using smooth step function with a specified distance from the edge. This worked well but gets more involved when I start trying to draw different shapes. i.e. trying to work out how far a pixel is from the nearest edge of a triangle.
I am now using msaa, which achieves anti-aliasing on the edges without doing any smooth-step. However I noticed msaa is only supported on gl3 and gl4 versions and not on either gl es versions.
With the software renderer I believe we just got anti-aliasing for free by offsetting the pixel start position by a percentage and doing bilinear blending. I thought the GPU would have this same functionality for free (i.e. not using a msaa buffer).
What is the most common technique for anti-aliasing on the GPU?
Any help would be great!