Cosa sono le linee OpenGL®?

In Open Graphics Library® (OpenGL®), le linee sono una delle forme primitive di base che OpenGL® è in grado di disegnare e costituiscono uno degli elementi costitutivi che a volte vengono utilizzati per rendere i triangoli. Le linee OpenGL® sono solo una grafica diritta e di collegamento tra due vertici. Anche se il concetto e l’esecuzione delle linee OpenGL® possono essere semplici, tendono a richiedere più tempo per il rendering rispetto ad altre primitive in alcune implementazioni, in parte perché non ci sono specifiche sul loro comportamento nello standard OpenGL®. L’utilizzo esplicito delle linee OpenGL® a volte può avere risultati imprevisti, perché le linee sono rasterizzate in un modo specifico che potrebbe farle sembrare staccate dall’altra geometria nella scena o apparire leggermente fuori dal punto in cui dovrebbero essere. Oltre a una linea di base, le linee OpenGL® possono anche essere formate in strisce e anelli di linea, proprio come le strisce triangolari, con la fine di ogni linea che rappresenta l’inizio di quella successiva.

Quando vengono utilizzate in una scena, le linee OpenGL® sono un tipo di forma primitiva costituita da due vertici, o coordinate nello spazio tridimensionale (3D), collegati da un percorso rettilineo e visibile. A differenza di altre primitive, come un triangolo, una linea generalmente non ha una superficie, sebbene possa ancora essere colorata con la fusione e utilizzando la colorazione dei vertici. Le linee sono spesso utilizzate nelle visualizzazioni 3D matematiche e scientifiche, nonché per gli indicatori di visualizzazione bidimensionali (2D), come mirini o frecce che puntano ad aree del display, per lo spettatore.

La larghezza di una linea può essere definita in una certa misura tramite OpenGL®. È possibile specificare il numero di pixel di larghezza che la linea dovrebbe essere in un dato punto, anche se non esiste uno standard reale per come dovrebbe funzionare da una piattaforma all’altra. In alcune situazioni, la larghezza non può essere modificata affatto mentre, in altri casi, la larghezza delle linee OpenGL® è limitata a un numero apparentemente arbitrario.

Oltre alla linea di base, più linee OpenGL® possono essere combinate per formare altre due strutture note come strisce di linea e anelli di linea. Le strisce di linea sono semplicemente una sequenza di vertici in cui l’inizio di ogni nuova linea è il punto finale dell’ultima linea. Questa è principalmente una funzione comoda, ma può renderizzare più rapidamente rispetto all’utilizzo di singole linee. Un loop di linea è quasi identico a una striscia di linea, tranne per il fatto che l’ultimo vertice del loop viene quindi ricollegato al primo vertice specificato.

Una complicazione quando si utilizzano le linee OpenGL® è che, poiché sono larghe solo 1 pixel per impostazione predefinita, a volte non vengono visualizzate nel modo corretto. In alcuni casi, specialmente se la linea è sottoposta ad anti-alias, alcuni pixel nell’immagine rasterizzata potrebbero non essere visualizzati. La linea stessa potrebbe anche apparire a pochi pixel di distanza da dove dovrebbe essere. Ciò è in gran parte causato da minuscole variazioni nella matematica in virgola mobile utilizzata da OpenGL®; non è sempre un problema che può essere facilmente risolto senza convertire le linee in poligoni ai fini del rendering.