Che cos'è un cerchio OpenGL®?
Non esiste una vera e propria 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, dopodiché 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 e in realtà è composto da un numero di linee rette che sembrano un cerchio quando la distanza tra i punti finali delle linee è abbastanza breve. Un trucco che può aiutare a rendere uniforme un cerchio è abilitare la fusione e utilizzare la modalità di disegno a linea liscia per ridurre l'aspetto degli angoli in cui due linee si collegano sul perimetro del cerchio. Un altro modo per disegnare un cerchio è usare la primitiva della forma di utilità OpenGL® nota come disco, che essenzialmente è un cerchio bidimensionale (2D) che ha un cerchio interno aggiuntivo che può essere impostato in modo da abbinare il diametro del bordo esterno a un po 'in modo inefficiente disegna un cerchio OpenGL®.
La semplice definizione di un cerchio è una forma 2D in cui ciascun punto del bordo è esattamente la stessa distanza da un determinato punto centrale. L'algoritmo più elementare per disegnare un cerchio OpenGL® è tracciare punti da una coordinata centrale usando le funzioni seno e coseno in un anello che attraversa i gradi di un angolo fino a 360 °. Il passaggio di 1 grado alla volta è abbastanza inefficiente, tuttavia, i passaggi di solito vengono eseguiti con incrementi maggiori. Più grandi sono gli incrementi, più angolare sarà il cerchio, con l'esempio finale un cerchio disegnato con solo quattro punti, che formerebbe un quadrato.
Durante ogni passaggio nella determinazione delle coordinate 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 linea per creare un cerchio completo piuttosto che disegnare linee separate. Una volta che i punti che compongono il cerchio sono stati calcolati, possono essere memorizzati in un array e tradotti proprio come qualsiasi set di vertici OpenGL®.
Un disco OpenGL® è una forma primitiva che la libreria di utilità OpenGL® può disegnare in modo nativo. È costituito da un cerchio esterno e un cerchio interno, con l'area tra i cerchi interno ed esterno che è solida 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 effettivamente disegnato due volte a causa dei bordi interni ed esterni e potrebbe lasciare alcuni artefatti quando ruotato su diverse angolazioni.