Obsah
OpenGL alebo Open Graphics Library je grafické API (Application Programming Interface) na písanie 2D a 3D aplikácií v rôznych programovacích jazykoch a platformách. Môže byť použitý na vykreslenie čohokoľvek od jednoduchých, primitívnych objektov po zložité 3D scény. Open GL sa široko používa v počítačovom dizajne, vedeckej vizualizácii, simulácii letov a videohrách. Aj keď OpenGl nemá metódy priameho nakreslenia kruhu, je možné ho vytvoriť pomocou viacerých čiar. Na nakreslenie kruhu budete musieť mať základné znalosti o OpenGL.
Krok 1
Vytvorte základný program s výrezom OpenGL. Ak nie ste oboznámení s týmto procesom, na stránke OpenGL je príručka.
Krok 2
Pridajte do svojho programu súbor math.h.header zadaním nasledujúceho kódu na začiatku programu: #include Začnite metódu kruhu pridaním nasledujúceho kódu pred zobrazením funkcie spätného volania: void drawCircle (GLint x, GLint y, GLint radius, int num_lines) {} Premenné „x“ a „y“ sa použijú na definovanie stredu kruhu vo vašom okne, zatiaľ čo „polomer“ určuje polomer kruhu. Celé číslo „num_lines“ je počet riadkov použitých na vytvorenie kruhu. Čím je toto číslo vyššie, tým bude kruh plynulejší. Pridajte nasledujúci konfiguračný kód do klávesov: plávajúci uhol GO int num_lines GO glColor3f (0,0, 0,0, 0,0) GO. Premenná „uhol“ bude obsahovať uhol čiar použitých na vytvorenie kruhu. Volanie funkcie glColor3f () nastaví farbu čiar na čiernu, kde séria troch 0 zodpovedá intenzite červenej, zelenej a modrej na škále od 0 do 1. Pridajte nasledujúci kód pod funkciu glColor3f () z kroku 4: glBegin (GL_LINE_LOOP) GO Toto hovorí OpenGL, že všetky nasledujúce čiary zahŕňajú kreslenie čiar. Konkrétne nakreslí „GL_LINE_LOOP“, čo je séria prepojených liniek. Po volaní glBegin () zadajte nasledujúci kód pre cyklus for: pre (int i = 0; i <cislo_riadku; i ++) {uhol = i * 2 * M_PI / num_line; glVertex2f (x + (cos (uhol) * polomer), y + (sin (uhol) * polomer)); } Táto slučka robí tri veci. Najskôr iteruje podľa hodnoty „num_lines“, kde num_lines je celé číslo, v každej iterácii nakreslí čiaru a vyústi do kruhu zloženého z priamych čiar num_lines. Po druhé, vypočítava uhol čiar vzhľadom na stred kruhu v radiánoch. "M_P" je konštanta definovaná v math.h predstavujúca pi. Nakoniec volanie glVertex2f () vypočíta súradnice koncových bodov čiar. Po opakovanom pripojení zadajte nasledujúci riadok kódu: glEnd () GO To povedie OpenGL, že ste dokončili kreslenie čiar. Ak chcete nakresliť kruh na scéne, pridajte volanie z metódy drawCircle () do funkcie zobrazenia spätného volania programu, ktorú je potrebné pripraviť v kroku 1. Zadajte hodnoty x, y, polomer a num_lines, kde x a y predstavujú bod na vašej scéne je polomer polomer kruhu a num_lines počet riadkov, ktoré tvoria kruh. Pokiaľ opäť nepoznáte OpenGL a spätné volanie, prečítajte si tutoriál OpenGL. Zostavte a spustite svoj program. Ak ste zadali funkcie správne, mali by sa kompilovať bez chýb. Ak ste zadali hodnoty pre x, y a polomer, mali by ste vidieť čierny kruh zobrazený na bielom pozadí.Krok 3
Krok 4
Krok 5
Krok 6
Krok 7
Krok 8
Krok 9