In order to draw smooth (anti-aliased) lines in OpenGL, some things must be taken into account:
- Blending during rendering must be enabled
- An specific blending function must be explicitly defined
- Line smoothing must also be enabled
- In some cases, the proper hint for line smoothing should be specified
The following code are the OpenGL calls needed to obtain anti-aliased rendering of lines:
1 2 3 4 | glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_LINE_SMOOTH); glHint(GL_LINE_SMOOTH_HINT, GL_NICEST); |
In the next image one can see the difference between drawing lines with and without anti-aliasing: