Skip to main content

¿Qué es un círculo OpenGL®?

No hay una primitiva de forma real incorporada para un círculo básico de Open Graphics Library (OpenGL®), por lo que dibujar un círculo implica seguir un algoritmo simple para determinar la ubicación de los puntos, después de lo cual los puntos se pueden conectar con líneas para formar el circulo. En la mayoría de los casos, para una aplicación de renderizado en tiempo real, un círculo OpenGL® se aproxima y en realidad está compuesto por una serie de líneas rectas que se parecen a un círculo cuando la distancia entre los puntos finales de las líneas es lo suficientemente corta. Un truco que puede ayudar a suavizar un círculo es habilitar la fusión y usar el modo de dibujo de líneas suaves para reducir la apariencia de los ángulos donde dos líneas se conectan en el perímetro del círculo. Otra forma de dibujar un círculo es usar la primitiva de forma de utilidad OpenGL® conocida como disco, que esencialmente es un círculo bidimensional (2D) que tiene un círculo interno adicional que se puede configurar para que coincida con el diámetro del borde externo de manera algo ineficiente dibuja un círculo OpenGL®.

La definición simple de un círculo es una forma 2D en la que cada punto de borde es exactamente la misma distancia desde un punto central dado. El algoritmo más básico para dibujar un círculo OpenGL® es trazar puntos desde una coordenada central utilizando las funciones seno y coseno en un bucle que recorre los grados de un ángulo de hasta 360 °. Sin embargo, avanzar 1 grado a la vez es bastante ineficiente, por lo que los pasos generalmente se realizan en incrementos mayores. Cuanto más grandes sean los incrementos, más angular se verá el círculo, y el ejemplo final será un círculo dibujado con solo cuatro puntos, lo que haría un cuadrado.

Durante cada paso para determinar la coordenada de un punto en el borde de un círculo OpenGL®, se puede dibujar una línea desde el último punto hasta el punto actual. Por lo general, es más rápido usar una franja de línea para hacer un círculo completo que dibujar líneas separadas por separado. Una vez que los puntos que componen el círculo se han calculado, se pueden almacenar en una matriz y traducir como cualquier conjunto de vértices OpenGL®.

Un disco OpenGL® es una forma primitiva que la biblioteca de utilidades OpenGL® puede dibujar de forma nativa. Está hecho de un círculo externo y un círculo interno, con el área entre los círculos interno y externo sólida y llena. El disco OpenGL® se puede usar para dibujar un círculo OpenGL® configurando el radio interno para que coincida con el radio externo, aunque esta técnica significa que el círculo realmente se dibuja dos veces debido a los bordes interno y externo y podría dejar algunos artefactos gráficos cuando se gira en diferentes ángulos.