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 dei blocchi utilizzati a volte per il rendering di triangoli. Le linee OpenGL® sono solo una linea retta che collega la grafica 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'uso esplicito di linee OpenGL® a volte può avere risultati inaspettati, perché le linee sono rasterizzate in un modo specifico che potrebbe farle sembrare distaccate da altre geometrie nella scena o apparire leggermente fuori da dove dovrebbero essere. Oltre a una linea di base, le linee OpenGL® possono anche essere formate in strisce e anelli, proprio come strisce triangolari, con la fine di ogni linea che è l'inizio di quella successiva.
Se utilizzate in una scena, le linee OpenGL® sono un tipo di primitiva di forma costituita da due vertici o coordinate nello spazio tridimensionale (3D), che sono collegati da un percorso diritto e visibile. A differenza di altri primitivi, come un triangolo, una linea generalmente non ha una superficie, sebbene possa ancora essere colorata con la fusione e usando la colorazione del vertice. Le linee vengono 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 della linea in un determinato 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, è possibile combinare più linee OpenGL® 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 di convenienza, ma può eseguire il rendering più rapidamente rispetto all'utilizzo di singole linee. Un loop di linea è quasi identico a un strip 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 largamente solo 1 pixel per impostazione predefinita, a volte non vengono visualizzati in modo corretto. In alcuni casi, specialmente se la linea è anti-alias, alcuni pixel dell'immagine rasterizzata potrebbero non essere visualizzati. Anche la linea stessa potrebbe apparire a pochi pixel da dove dovrebbe essere. Ciò è in gran parte causato da minime variazioni nella matematica in virgola mobile che OpenGL® utilizza; non è sempre un problema che può essere facilmente risolto senza convertire le linee in poligoni a scopo di rendering.