Ce este un cerc OpenGL®?

Nu există o formă primitivă reală încorporată pentru un cerc de bază Open Graphics Library (OpenGL®), așa că desenarea unui cerc implică urmarea unui algoritm simplu pentru a determina locația punctelor, după care punctele pot fi conectate cu linii pentru a forma cerc. În cele mai multe cazuri, pentru o aplicație de randare în timp real, un cerc OpenGL® este aproximat și de fapt este compus dintr-un număr de linii drepte care arată ca un cerc atunci când distanța dintre punctele de capăt ale liniilor este suficient de scurtă. Un truc care poate ajuta la netezirea unui cerc este să activați amestecarea și să utilizați modul de desenare a liniilor netede pentru a reduce aspectul unghiurilor în care două linii se conectează pe perimetrul cercului. O altă modalitate de a desena un cerc este să utilizați primitivul de formă utilitar OpenGL® cunoscut sub numele de disc, care în esență este un cerc bidimensional (2D) care are un cerc interior suplimentar care poate fi setat pentru a se potrivi oarecum ineficient cu diametrul marginii exterioare. desenați un cerc OpenGL®.

Definiția simplă a unui cerc este o formă 2D în care fiecare punct de margine este exact la aceeași distanță față de un punct central dat. Cel mai de bază algoritm pentru desenarea unui cerc OpenGL® este reprezentarea punctelor dintr-o coordonată centrală folosind funcțiile sinus și cosinus într-o buclă care trec prin gradele unui unghi de până la 360°. Cu toate acestea, pașii de 1 grad la un moment dat sunt destul de ineficiente, așa că pașii sunt de obicei executați în trepte mai mari. Cu cât creșterile sunt mai mari, cu atât va arăta mai unghiular cercul, exemplul final fiind un cerc desenat cu doar patru puncte, care ar face un pătrat.

În timpul fiecărui pas în determinarea coordonatei unui punct de pe marginea unui cerc OpenGL®, se poate trasa o linie de la ultimul punct până la punctul curent. În general, este mai rapid să folosiți o bandă de linii pentru a face un cerc complet decât să desenați individual linii separate. Odată ce punctele care compun cercul au fost calculate, acestea pot fi stocate într-o matrice și traduse la fel ca orice set de vârfuri OpenGL®.

Un disc OpenGL® este o formă primitivă pe care biblioteca de utilitare OpenGL® o poate desena în mod nativ. Este format dintr-un cerc exterior și un cerc interior, zona dintre cercurile interior și exterior fiind solidă și plină. Discul OpenGL® poate fi folosit pentru a desena un cerc OpenGL® prin setarea razei interioare pentru a se potrivi cu raza exterioară, deși această tehnică înseamnă că cercul este într-adevăr desenat de două ori din cauza marginilor interioare și exterioare și ar putea lăsa unele artefacte grafice atunci când este rotit la unghiuri diferite.