¿Qué son las líneas OpenGL?

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 renderizar 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 tardar más en renderizarse que otras primitivas en algunas implementaciones, en parte porque no existe 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 están rasterizadas 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 tiras de línea y bucles, al igual que las tiras triangulares, siendo el final de cada línea el comienzo de la siguiente.

Cuando se utilizan 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 una ruta recta 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 con la combinación y el uso de coloración de vértices. Las líneas se utilizan con frecuencia en visualizaciones matemáticas y científicas en 3D, así como para indicadores de pantalla 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 hasta cierto punto 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 debe operar 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 usando líneas individuales. Un bucle de línea es casi idéntico a una tira de línea, excepto que el último vértice del bucle se conecta de nuevo al primer vértice especificado.

Una complicación al usar líneas OpenGL® es que, debido a que tienen solo 1 píxel de ancho por defecto, a veces no se renderizan de la manera correcta. En ciertos casos, especialmente si la línea está suavizada, es posible que no se muestren ciertos píxeles de la imagen rasterizada. 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 parte a variaciones mínimas en la matemática de coma flotante que utiliza OpenGL®; no siempre es un problema que pueda resolverse fácilmente sin convertir líneas en polígonos para fines de renderizado.