Sisältö
OpenGL tai Open Graphics Library on graafinen sovellusliittymä (Application Programming Interface) 2D- ja 3D-sovellusten kirjoittamiseen useille ohjelmointikielille ja -alustoille. Sitä voidaan käyttää renderöimään kaikkea yksinkertaisista, alkeellisista esineistä monimutkaisiin 3D-kohtauksiin. Open GL: ää käytetään laajalti tietokonesuunnittelussa, tieteellisessä visualisoinnissa, lentosimulaatiossa ja videopeleissä. Vaikka OpenGl: llä ei ole tapoja piirtää ympyrää suoraan, on mahdollista rakentaa se käyttämällä sarjaa viivoja. Ympyrän piirtämiseen vaaditaan perustiedot OpenGL: stä.
Vaihe 1
Tee perusohjelma OpenGL-näkymällä. Jos et ole perehtynyt tähän prosessiin, OpenGL-sivulla on opetusohjelma.
Vaihe 2
Lisää math.h.header-tiedosto ohjelmaasi kirjoittamalla seuraava koodi ohjelman alkuun: #include Aloita ympyrämenetelmä lisäämällä seuraava koodi ennen soittopyynnön näyttämistä: void drawCircle (GLint x, GLint y, GLint säde, int num_lines) {} Muuttujia "x" ja "y" käytetään määrittelemään ympyrän keskipiste ikkunassasi, kun taas "säde" määrittää ympyrän säteen. Luku "num_lines" on ympyrän muodostamiseen käytettyjen rivien määrä. Mitä suurempi luku, sitä tasaisempi ympyrä tulee näkyviin. Lisää seuraava määrityskoodi näppäinten sisään: uimakulma GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. Muuttuja "kulma" sisältää ympyrän muodostamiseen käytettyjen viivojen kulman. Funktion glColor3f () kutsuminen asettaa linjojen värin mustaksi, jolloin kolmen 0-sarja vastaa punaisen, vihreän ja sinisen voimakkuutta asteikolla 0-1. Lisää seuraava koodi glColor3f () -funktion alle vaiheesta 4: glBegin (GL_LINE_LOOP) GO Tämä kertoo OpenGL: lle, että kaikkiin seuraaviin viivoihin liittyy viivojen piirtämistä. Tarkemmin sanottuna se piirtää "GL_LINE_LOOP", joka on sarja yhdistettyjä viivoja. Anna seuraava koodi for for -silmukalle glBegin () -kutsun jälkeen: for (int i = 0; i <rivinumero_; i ++) {kulma = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kulma) * säde), y + (sin (kulma) * säde)); } Tämä silmukka tekee kolme asiaa. Ensinnäkin se iteroi arvon "num_lines" arvon mukaan, missä num_lines on kokonaisluku, piirtämällä viiva kullekin iteraatiolle ja tuloksena ympyrä, joka koostuu suorista viivoista num_lines. Toiseksi se laskee viivojen kulman ympyrän keskustaan nähden radiaaneina. "M_P" on matematiikassa h määritelty vakio, joka edustaa pi: tä. Lopuksi kutsu glVertex2f () laskee viivojen päätepisteiden koordinaatit. Syötä silmukan jälkeen seuraava koodirivi: glEnd () GO Tämä kertoo OpenGL: lle, että olet lopettanut viivojen piirtämisen. Piirrä ympyrä kohtaukseen lisäämällä kutsu drawCircle () -metodista ohjelman takaisinsoittonäyttöön, joka on valmisteltava vaiheessa 1. Määritä x: n, y: n, säteen ja num_linjan arvot, joissa x ja y edustavat pistettä kohtauksessasi säde on ympyrän säde ja num_lines on ympyrän muodostavien rivien määrä. Jälleen, jos et ole vielä perehtynyt OpenGL: ään ja takaisinsoittonäyttöön, katso OpenGL-opetusohjelma. Käännä ja suorita ohjelma. Jos syötit toiminnot oikein, sen pitäisi kääntyä virheettömästi. Jos määritit x: n, y: n ja säteen arvot, sinun pitäisi nähdä musta ympyrä valkoisella taustalla.Vaihe 3
Vaihe 4
Vaihe 5
Vaihe 6
Vaihe 7
Vaihe 8
Vaihe 9