Skip to main content

¿Qué son las líneas OpenGL®?

  • Berger

En Open Graphics Library® (OpenGL®), las líneas son una de las formas primitivas básicas que OpenGL® puede dibujar, y constituyen uno de los bloques de construcción que a veces se utilizan para representar triángulos. Las líneas OpenGL® son solo un gráfico recto que conecta dos vértices. Aunque el concepto y la ejecución de las líneas OpenGL® pueden ser simples, tienden a tomar más tiempo en renderizarse que otras primitivas en algunas implementaciones, en parte porque no hay una especificación sobre su comportamiento en el estándar OpenGL®. El uso explícito de líneas OpenGL® a veces puede tener resultados inesperados, porque las líneas se rasterizan de una manera específica que puede hacer que parezcan separadas de otra geometría en la escena o que parezcan estar ligeramente fuera de donde se espera que estén. Además de una línea básica, las líneas OpenGL® también se pueden formar en líneas y bucles, al igual que las líneas triangulares, siendo el final de cada línea el comienzo de la siguiente.

Cuando se usan en una escena, las líneas OpenGL® son un tipo de forma primitiva que consta de dos vértices o coordenadas en un espacio tridimensional (3D), que están conectados por un camino recto y visible. A diferencia de otras primitivas, como un triángulo, una línea generalmente no tiene una superficie, aunque todavía se puede colorear mezclando y usando coloración de vértice. Las líneas se utilizan con frecuencia en visualizaciones 3D matemáticas y científicas, así como en indicadores de visualización bidimensionales (2D), como puntos de mira o flechas que apuntan a áreas de la pantalla, para el espectador.

El ancho de una línea se puede definir en cierta medida a través de OpenGL®. Se puede especificar el número de píxeles de ancho que debe tener la línea en cualquier punto dado, aunque no existe un estándar real sobre cómo debería funcionar de una plataforma a otra. En algunas situaciones, el ancho no se puede cambiar en absoluto mientras que, en otros casos, el ancho de las líneas OpenGL® está restringido a un número aparentemente arbitrario.

Además de la línea básica, se pueden combinar varias líneas OpenGL® para formar otras dos estructuras conocidas como franjas de línea y bucles de línea. Las franjas de línea son simplemente una secuencia de vértices en la que el inicio de cada nueva línea es el punto final de la última línea. Esta es principalmente una función de conveniencia, pero puede renderizarse más rápidamente que el uso de líneas individuales. Un bucle de línea es casi idéntico a una franja de línea, excepto que el último vértice del bucle se conecta de nuevo al primer vértice especificado.

Una complicación cuando se usan líneas OpenGL® es que, debido a que tienen solo 1 píxel de ancho por defecto, a veces no se procesan de la manera correcta. En ciertos casos, especialmente si la línea está suavizada, es posible que ciertos píxeles de la imagen rasterizada no se muestren. La línea en sí también puede aparecer a unos pocos píxeles de donde se espera que esté. Esto se debe en gran medida a variaciones mínimas en las matemáticas de coma flotante que utiliza OpenGL®; no siempre es un problema que se puede resolver fácilmente sin convertir líneas en polígonos para fines de representación.