Kako upodobiti krog v OpenGL

Avtor: Eugene Taylor
Datum Ustvarjanja: 14 Avgust 2021
Datum Posodobitve: 10 Maj 2024
Anonim
Kako upodobiti krog v OpenGL - Elektronika
Kako upodobiti krog v OpenGL - Elektronika

Vsebina

OpenGL ali Open Graphics Library je grafični API (Application Programming Interface) za pisanje 2D in 3D aplikacij v različnih programskih jezikih in platformah. Z njim lahko upodabljate karkoli, od preprostih, primitivnih predmetov do zapletenih 3D prizorov. Open GL se pogosto uporablja v računalniškem oblikovanju, znanstveni vizualizaciji, simulaciji letenja in video igrah. Čeprav OpenGl nima metod za neposredno risanje kroga, ga je mogoče zgraditi z vrsto vrstic. Za risanje kroga boste morali imeti osnovno znanje OpenGL.

Korak 1

Naredite osnovni program s prikazom OpenGL. Če tega postopka ne poznate, je na strani OpenGL vadnica.


2. korak

Datoteko math.h.header dodajte v svoj program tako, da na začetku programa vnesete naslednjo kodo: #include . Tako boste dobili funkciji cos () in sin () (sinus in kosinus), potrebni za izračun kroga.

3. korak

Zaženite način kroženja tako, da pred prikazom funkcije povratnega klica dodate naslednjo kodo:

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

Spremenljivki "x" in "y" bosta uporabljeni za določitev središča kroga v vašem oknu, medtem ko "radij" določa polmer kroga. Celo število "num_lines" je število vrstic, uporabljenih za sestavljanje kroga. Višja kot je ta številka, bolj gladek bo krog.

4. korak

V tipke dodajte naslednjo konfiguracijsko kodo:

plavajoči kot GO int num_lines GO glColor3f (0,0, 0,0, 0,0) GO.

Spremenljivka "kot" bo vsebovala kot črt, ki se uporabljajo za konstrukcijo kroga. Poklic funkcije glColor3f () nastavi barvo črt na črno, pri čemer niz treh 0 ustreza intenzivnosti rdeče, zelene in modre na lestvici od 0 do 1.


5. korak

Pod funkcijo glColor3f () iz 4. koraka dodajte naslednjo kodo:

glBegin (GL_LINE_LOOP) GO

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

6. korak

Vnesite naslednjo kodo za zanko for po klicu glBegin ():

for (int i = 0; i <številka_ vrstice; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kot) * polmer), y + (sin (kot) * polmer)); }

Ta zanka naredi tri stvari. Najprej se ponovi glede na vrednost "num_lines", pri čemer je num_lines celo število, pri čemer se v vsaki ponovitvi nariše črta in nastane krog, sestavljen iz ravnih črt num_lines. Drugič, izračuna kot črt glede na središče kroga v radianih. "M_P" je konstanta, definirana v math.h, ki predstavlja pi. Na koncu klic glVertex2f () izračuna koordinate končnih točk črt.


7. korak

Po zanki vnesite naslednjo vrstico kode:

glEnd () GO

To bo OpenGL-u sporočilo, da ste končali z risanjem črt.

8. korak

Če želite narisati krog v sceni, dodajte funkcijo prikaza povratnega klica programa, ki mora biti pripravljena v koraku 1. Določite vrednosti x, y, polmer in num_lines, kjer x in y predstavljata točko v vaši sceni je polmer polmer kroga, num_lines pa število vrstic, ki sestavljajo krog. Če še niste seznanjeni z OpenGL in prikazom povratnega klica, glejte vadnico OpenGL.

9. korak

Sestavite in zaženite program. Če ste pravilno vnesli funkcije, se mora sestaviti brez napak. Če ste določili vrednosti za x, y in polmer, boste na belem ozadju videli črni krog.

Kako zdraviti alergije na sulfo

Tamara Smith

Maj 2024

Alergije na ulfat e pojavijo, ko ima človek reakcije proti ulfonamidom. Ta zdravila, ki padajo v razred antibiotikov, e rutinko uporabljajo za zdravljenje različnih okužb. Med komercialne blagovne zna...

Naročanje niza elementov na eznamu je pogota naloga pri programiranju. Človek lahko to nalogo opravi intuitivno. Vendar mora računalniški program lediti natančnemu zaporedju navodil, da ga izpolni, in...

Priporočamo Vam