Kuidas muuta ringi OpenGLis

Autor: Florence Bailey
Loomise Kuupäev: 27 Märts 2021
Värskenduse Kuupäev: 16 Mai 2024
Anonim
Kuidas muuta ringi OpenGLis - Artiklid
Kuidas muuta ringi OpenGLis - Artiklid

Sisu

OpenGL või Open Graphics Library on graafiline API (rakenduste programmeerimise liides) 2D ja 3D rakenduste kirjutamiseks erinevates keeltes ja programmeerimisplatvormides. Seda saab kasutada, et muuta midagi lihtsatest ja primitiivsetest objektidest keerulisteks 3D-stseenideks. Open GLi kasutatakse laialdaselt arvutipõhises disainis, teaduslikus visualiseerimises, lennusimulatsioonis ja videomängudes. Isegi kui OpenGlil pole meetodeid ringi joonistamiseks, on võimalik konstrueerida rida rea ​​abil. Ringi joonistamiseks peate olema OpenGLi põhiteadmised.


Juhised

OpenGLis ei ole ringi valmistamiseks otsest meetodit, kuid see on ikka võimalik koostada õige koodijoonega (Creatas / Creatas / Getty Images)
  1. Tee põhiprogramm OpenGL vaateakna aknaga. Kui te ei tunne seda protsessi, on OpenGL-i lehel juhendaja.

  2. Lisage oma programmis math.h.header fail, sisestades programmi alguses järgmise koodi: #include . See annab teile cos () ja sin () (sinine ja kosiin) funktsioonid, mis on vajalikud ringi arvutamiseks.

  3. Alustage ringi meetodit, lisades enne tagasihelistamise funktsiooni kuvamist järgmise koodi:

    void drawCircle (GLint x, GLint y, GLint ray, int num_lines) {}

    Muutujaid "x" ja "y" kasutatakse ringi keskpunkti määramiseks teie aknas, samas kui "ray" määrab ringi raadiuse. Täisarv "num_lines" on ringi koostamiseks kasutatavate ridade arv. Mida suurem on see number, seda siledam on ring.


  4. Lisage klahvide sees järgmine konfiguratsioonikood:

    float-nurk GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

    Muutuja "nurk" sisaldab ringi ehitamiseks kasutatavate joonte nurka. GlColor3f () funktsiooni kõne seab joonte värvi mustaks, kus kolme 0 seeria vastab punase, rohelise ja sinise intensiivsusele skaalal 0 kuni 1.

  5. Lisage sammust 4 glColor3f () funktsiooni all järgmine kood:

    glBegin (GL_LINE_LOOP) GO

    See ütleb OpenGLile, et kõik järgnevad read sisaldavad joonistusjooni. Täpsemalt joonistatakse see "GL_LINE_LOOP", mis on ühendatud liinide seeria.

  6. Pärast glBegini () kõne sisestamist sisestage järgmine kood:

    (int i = 0; i <num_lines; i ++) {nurk = i * 2 * M_PI / num_line; glVertex2f (x + (cos (nurk) * raadius) ja + (ilma (nurga) * raadiuseta)); }

    See seos teeb kolm asja. Esiteks kordub see vastavalt numbritele "num_lines", kus num_lines on täisarv, joonistades jooni igale iteratsioonile ja tulemuseks on sirgjoontest koosnev ring. Teiseks, arvutage joonte nurk ringi keskosa suhtes radiaanides. "M_P" on püsivus, mis on defineeritud matemaatikas. Lõpuks arvutab glVertex2f () kõne ridade lõpp-punktide koordinaadid.


  7. Pärast ahela sisestamist sisestage järgmine rida koodi:

    glEnd () GO

    See ütleb OpenGLile, et olete joonte joonistamise lõpetanud.

  8. Ringi joonistamiseks stseenis lisage programmi callCircle () meetodist kõne programmi tagasihelistamisfunktsiooni, mis tuleb ette valmistada 1. etapis. Määrake x, y, raadiuse ja a_line väärtused, kus x ja y esindavad punkti selle raadius on ringi raadius ja num_lines on ringi moodustavate ridade arv. Jällegi, kui te ei tunne OpenGLi ja tagasihelistamise kuva, vaadake OpenGLi juhendit.

  9. Koosta ja käivita oma programm. Kui sisestasite õigesti funktsioone, peaks see ilma vigadeta kompileerima. Kui olete määranud x-, y- ja raadiuses väärtused, peaksite nägema musta ringi, mis kuvatakse valge taustal.

Mida sa vajad

  • Arvuti OpenGL toega
  • Tekstiredaktori ja C keele kompilaatori tööriistad või C arenduskeskkond