Líneas con anti-aliasing en OpenGL

Para dibujar líneas suaves (con anti-aliasing) en OpenGL, se deben tener en cuenta varios detalles:

  • El blending debe estar activo mientras se está pintando
  • Debe haberse definido una función de blending específica
  • El suavizado de líneas debe estar activado
  • En algunos casos, un hint para el pintado de líneas suaves debe haberse definido

Las siguientes lineas de código son las llamadas OpenGL necesarias para obtener lineas suaves:

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);

La siguiente imagen muestra la diferencia entre pintar lineas con y sin anti-aliasing:

Comparison between non-antialiased lines and antialiased lines

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>