Sisu
OpenGL ehk Open Graphics Library on graafiline API (Application Programming Interface) 2D- ja 3D-rakenduste kirjutamiseks erinevates programmeerimiskeeltes ja -platvormidel. Selle abil saab renderdada kõike alates lihtsatest, primitiivsetest objektidest kuni keeruliste 3D-stseenideni. Open GL-i kasutatakse laialdaselt arvutikujunduses, teaduslikus visualiseerimises, lennusimulatsioonis ja videomängudes. Kuigi OpenGl-l pole meetodeid ringi otse joonistamiseks, on see võimalik ehitada reade abil. Ringi joonistamiseks peavad teil olema algteadmised OpenGL-ist.
Samm 1
Koostage OpenGL-i vaateavaga põhiprogramm. Kui te pole selle protsessiga tuttav, on OpenGL-i lehel õpetus.
2. samm
Lisage oma programmi Math.h.header-fail, sisestades programmi alguses järgmise koodi: #include Alustage ringimeetodit, lisades enne tagasihelistusfunktsiooni kuvamist järgmise koodi: void drawCircle (GLint x, GLint y, GLint raadius, int num_lines) {} Muutujaid "x" ja "y" kasutatakse teie akna ringi keskpunkti määratlemiseks, samas kui "raadius" määrab ringi raadiuse. Täisarv "num_lines" on ringi koostamiseks kasutatud ridade arv. Mida suurem on see arv, seda sujuvamalt ilmub ring. Lisage klahvide sisse järgmine konfiguratsioonikood: ujuknurk GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. Muutuja "nurk" sisaldab joone ehitamiseks kasutatud joonte nurka. Funktsiooni glColor3f () kutsumine seab joonte värvi mustaks, kus kolme 0 jada vastab punase, rohelise ja sinise intensiivsusele skaalal 0 kuni 1. Lisage 4. koodist funktsiooni glColor3f () alla järgmine kood: glBegin (GL_LINE_LOOP) Minge See ütleb OpenGL-ile, et kõik järgnevad jooned hõlmavad joonte joonistamist. Täpsemalt joonistab see "GL_LINE_LOOP", mis on ühendatud liinide rida. Pärast glBegin () kõnet sisestage for for loop järgmine kood: for (int i = 0; i <rea_number; i ++) {nurk = i * 2 * M_PI / num_line; glVertex2f (x + (cos (nurk) * raadius), y + (sin (nurk) * raadius)); } See silmus teeb kolme asja. Esiteks itereeritakse vastavalt "num_lines" väärtusele, kus num_lines on täisarv, tõmmates igas iteratsioonis joone ja tulemuseks on sirgjoontest num_lines koosnev ring. Teiseks arvutab see radiaanides sirgete nurga ringi keskpunkti suhtes. "M_P" on matemaatikas.h määratletud konstant, mis tähistab pi-d. Lõpuks arvutab kõne glVertex2f () välja sirgete lõpp-punktide koordinaadid. Pärast tsüklit sisestage järgmine koodirida: glEnd () GO See ütleb OpenGL-ile, et olete joonte joonistamise lõpetanud. Stseenis ringi joonistamiseks lisage kutse meetodilt drawCircle () programmi tagasihelistamise kuvamise funktsioonile, mis tuleb ette valmistada etapis 1. Määrake x, y, raadiuse ja num_lines väärtused, kus x ja y tähistavad punkti teie stseenis on raadius ringi raadius ja num_lines on ringi moodustavate ridade arv. Jällegi, kui te pole veel OpenGL-i ja tagasihelistamise kuvaga tuttav, vaadake OpenGL-i õpetust. Koostage ja käivitage oma programm. Kui sisestasite funktsioonid õigesti, peaks see kompileerima ilma vigadeta. Kui määrasite x, y ja raadiuse väärtused, peaksite valgel taustal kuvama musta ringi.3. samm
4. samm
5. samm
6. samm
7. samm
8. samm
9. samm