Kako prikazati krug u OpenGL-u

Autor: Eugene Taylor
Datum Stvaranja: 14 Kolovoz 2021
Datum Ažuriranja: 13 Studeni 2024
Anonim
Morali smo na operaciju 👨‍⚕️| Ženski Svijet 🦋
Video: Morali smo na operaciju 👨‍⚕️| Ženski Svijet 🦋

Sadržaj

OpenGL ili Open Graphics Library je grafički API (Sučelje za programiranje aplikacija) za pisanje 2D i 3D aplikacija na različitim programskim jezicima i platformama. Može se koristiti za prikazivanje bilo čega, od jednostavnih, primitivnih objekata do složenih 3D scena. Open GL se široko koristi u računalnom dizajnu, znanstvenoj vizualizaciji, simulaciji leta i video igrama. Iako OpenGl nema metode za izravno crtanje kruga, moguće ga je izgraditi pomoću niza linija. Za crtanje kruga trebat ćete imati osnovno znanje OpenGL-a.

Korak 1

Napravite osnovni program s prikazom OpenGL. Ako niste upoznati s ovim postupkom, na stranici OpenGL nalazi se vodič.


Korak 2

Dodajte datoteku math.h.header u svoj program unošenjem sljedećeg koda na početku programa: #include . Ovo će vam pružiti funkcije cos () i sin () (sinus i kosinus) potrebne za izračunavanje kruga.

3. korak

Započnite metodu kruga dodavanjem sljedećeg koda prije prikazivanja funkcije povratnog poziva:

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

Varijable "x" i "y" služit će za definiranje središta kruga u vašem prozoru, dok "radijus" utvrđuje radijus kruga. Cijeli broj "num_lines" je broj linija korištenih za sastavljanje kruga. Što je veći ovaj broj, krug će se pojaviti glađi.

4. korak

U ključeve dodajte sljedeći konfiguracijski kod:

plutajući kut GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

Varijabla "kut" sadržavat će kut linija korištenih za konstrukciju kruga. Pozivanjem funkcije glColor3f () boja linija se postavlja na crnu, pri čemu niz od tri 0 odgovara intenzitetu crvene, zelene i plave boje na skali od 0 do 1.


Korak 5

Dodajte sljedeći kod ispod funkcije glColor3f () iz koraka 4:

glBegin (GL_LINE_LOOP) IDI

To OpenGL-u govori da sve naredne crte uključuju crtanje linija. Točnije, nacrtat će "GL_LINE_LOOP", što je niz povezanih linija.

Korak 6

Unesite sljedeći kod za petlju for nakon poziva glBegin ():

za (int i = 0; i <broj_reda; i ++) {kut = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kut) * polumjer), y + (sin (kut) * polumjer)); }

Ova petlja čini tri stvari. Prvo se ponavlja prema vrijednosti "num_lines", gdje je num_lines cijeli broj, crtajući crtu u svakoj iteraciji i rezultirajući krugom koji se sastoji od ravnih linija num_lines. Drugo, izračunava kut linija u odnosu na središte kruga u radijanima. "M_P" je konstanta definirana u math.h koja predstavlja pi. Konačno, poziv na glVertex2f () izračunava koordinate krajnjih točaka linija.


7. korak

Nakon petlje unesite sljedeći redak koda:

glEnd () IDI

To će OpenGL-u reći da ste završili s crtanjem linija.

Korak 8

Da biste nacrtali krug u sceni, dodajte poziv iz metode drawCircle () funkciji prikaza povratnog poziva programa, koja mora biti pripremljena u koraku 1. Navedite vrijednosti x, y, radijus i num_lines, gdje x i y predstavljaju točku u vašoj sceni radijus je radijus kruga, a num_lines broj linija koje čine krug. Opet, ako niste upoznati s OpenGL-om i prikazom povratnog poziva, pogledajte vodič za OpenGL.

Korak 9

Sastavite i pokrenite svoj program. Ako ste ispravno unijeli funkcije, trebala bi se kompajlirati bez pogrešaka. Ako ste naveli vrijednosti za x, y i radijus, trebali biste vidjeti crni krug prikazan na bijeloj pozadini.

Prekomjerna fuga koja e ne uklanja iz keramike tijekom procea intalacije može rezultirati tankim lojem koji će pokvariti izgled poda. Nakon nekog vremena, ovaj loj e tvrdne i potaje teško ukloniti, da...

Kontroliranje vašeg pihološkog tanja u igri u bazenu jednako je važno kao i poznavanje načina na koji e loptice mogu taviti u džep. Promjene u vašem mentalnom tanju ovie o tome tko i gdje igrate i kak...

Zanimljivo Danas