Kako upodobiti krog v OpenGL

Avtor: Bobbie Johnson
Datum Ustvarjanja: 10 April 2021
Datum Posodobitve: 1 November 2024
Anonim
Kako upodobiti krog v OpenGL - Članki
Kako upodobiti krog v OpenGL - Članki

Vsebina

OpenGL ali Open Graphics Library je grafični API (Application Programming Interface) za pisanje 2D in 3D aplikacij v različnih jezikih in programskih platformah. Uporablja se lahko za prikazovanje nič od preprostih in primitivnih objektov do zapletenih 3D prizorov. Open GL se široko uporablja v računalniškem oblikovanju, znanstveni vizualizaciji, simulaciji letenja in video igrah. Tudi če OpenGl nima metod za neposredno risanje kroga, ga je možno zgraditi z zaporedjem vrstic. Za risanje kroga boste morali imeti osnovno znanje OpenGL.


Navodila

Ne obstaja neposredna metoda za izdelavo kroga v OpenGL, vendar je še vedno mogoče sestaviti eno z desnimi vrsticami kode (Creatas / Creatas / Getty Images)
  1. Naredite osnovni program z oknom za ogled okna OpenGL. Če tega postopka ne poznate, je na strani OpenGL na voljo vadnica.

  2. Dodajte datoteko math.h.header v program tako, da na začetku programa vnesete naslednjo kodo: #include . S tem boste dobili funkcije cos () in sin () (sinus in kosinus), ki sta potrebni za izračun kroga.

  3. Zaženite metodo kroga tako, da pred prikazom funkcije povratnega klica dodate naslednjo kodo:

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

    Spremenljivke "x" in "y" bodo uporabljene za določitev središča kroga v vašem oknu, medtem ko "žarek" vzpostavi polmer kroga. Celo število "num_lines" je število vrstic, ki se uporabljajo za sestavo kroga. Večja kot je številka, krog bo bolj gladka.


  4. V ključe dodajte naslednjo konfiguracijsko kodo:

    float ugao GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

    Spremenljivka "angle" bo vsebovala kot linij, uporabljenih za konstruiranje kroga. Klic funkcije glColor3f () nastavi barvo linij na črno, kjer serija treh 0 ustreza intenzivnosti rdeče, zelene in modre barve na lestvici od 0 do 1.

  5. Dodajte naslednjo kodo pod funkcijo glColor3f () iz koraka 4:

    glBegin (GL_LINE_LOOP) GO

    To pove OpenGL, da vse nadaljnje vrstice vključujejo risanje. Natančneje, narisal bo "GL_LINE_LOOP", ki je niz povezanih linij.

  6. Vnesite naslednjo kodo iz zanke po klicu glBegin ():

    za (int i = 0; i <num_lines; i ++) {angle = i * 2 * M_PI / num_lines; glVertex2f (x + (cos (kot) * polmer) in + (brez (kota) * polmera)); }

    Ta kravata naredi tri stvari. Najprej se ponovi v skladu z vrednostjo "num_lines", kjer je num_lines celo število, ki na vsaki iteraciji nariše črto, kar povzroči krog, sestavljen iz številnih linij ravnih črt. Drugič, izračunajte kot linij glede na središče kroga v radianih. "M_P" je konstanta, definirana v math.h, ki predstavlja pi. Nazadnje klic glVertex2f () izračuna koordinate končnih točk vrstic.


  7. Po zanki do, vnesite naslednjo vrstico kode:

    glEnd () GO

    Tako bo OpenGL povedal, da ste končali risanje linij.

  8. Za risanje kroga v sceni dodajte klic iz metode drawCircle () funkciji povratnega klica programa, ki jo morate pripraviti v 1. koraku. Določite vrednosti x, y, polmer in a_line, kjer x in y predstavljata točko v njegovem prizoru je polmer radij kroga, num_lines pa število vrstic, ki sestavljajo krog. Še enkrat, če niste seznanjeni z OpenGL-om in zaslonom za povratni klic, si oglejte navodila za OpenGL.

  9. Prevedite in zaženite program. Če ste pravilno vnesli funkcije, se mora prevesti brez napak. Če ste določili vrednosti x, y in polmera, bi morali videti črni krog, prikazan na belem ozadju.

Kaj potrebujete

  • Računalnik s podporo za OpenGL
  • Urejevalnik besedil in orodja za prevajalce C jezika ali razvojno okolje C