Che cos’è un cerchio OpenGL®?

Non esiste una vera primitiva di forma incorporata per un cerchio di base Open Graphics Library (OpenGL®), quindi disegnare un cerchio implica seguire un semplice algoritmo per determinare la posizione dei punti, dopo di che i punti possono essere collegati con linee per formare il cerchio. Nella maggior parte dei casi, per un’applicazione di rendering in tempo reale, un cerchio OpenGL® è approssimato ed è effettivamente composto da un numero di linee rette che sembrano un cerchio quando la distanza tra i punti finali delle linee è sufficientemente breve. Un trucco che può aiutare a rendere uniforme un cerchio è abilitare la fusione e utilizzare la modalità di disegno a linee morbide per ridurre l’aspetto degli angoli in cui due linee si collegano sul perimetro del cerchio. Un altro modo per disegnare un cerchio consiste nell’utilizzare la primitiva forma di utilità OpenGL® nota come disco, che essenzialmente è un cerchio bidimensionale (2D) con un cerchio interno aggiuntivo che può essere impostato in modo che corrisponda al diametro del bordo esterno in modo alquanto inefficiente disegna un cerchio OpenGL®.

La semplice definizione di cerchio è una forma 2D in cui ogni punto del bordo è esattamente alla stessa distanza da un dato punto centrale. L’algoritmo di base per disegnare un cerchio OpenGL® consiste nel tracciare punti da una coordinata centrale utilizzando le funzioni seno e coseno in un ciclo che passa attraverso i gradi di un angolo fino a 360°. Tuttavia, fare un passo di 1 grado alla volta è abbastanza inefficiente, quindi i passaggi di solito vengono eseguiti con incrementi maggiori. Più grandi sono gli incrementi, più angolare apparirà il cerchio, con l’esempio finale di un cerchio disegnato con solo quattro punti, che farebbe un quadrato.

Durante ogni passaggio nella determinazione della coordinata di un punto sul bordo di un cerchio OpenGL®, è possibile tracciare una linea dall’ultimo punto al punto corrente. In genere è più veloce utilizzare una striscia di linea per creare un cerchio completo piuttosto che disegnare linee separate individualmente. Una volta che i punti che compongono il cerchio sono stati calcolati, possono essere memorizzati in un array e traslati come qualsiasi insieme di vertici OpenGL®.

Un disco OpenGL® è una primitiva di forma che la libreria di utilità OpenGL® può disegnare in modo nativo. È composto da un cerchio esterno e un cerchio interno, con l’area tra i cerchi interno ed esterno piena e piena. Il disco OpenGL® può essere utilizzato per disegnare un cerchio OpenGL® impostando il raggio interno in modo che corrisponda al raggio esterno, sebbene questa tecnica significhi che il cerchio viene realmente disegnato due volte a causa dei bordi interno ed esterno e potrebbe lasciare alcuni artefatti grafici quando ruotato a angoli diversi.