Prijeđi na sadržaj

OpenGL

Izvor: Wikipedija

OpenGL (engleski: Open Graphics Library) je standardna specifikacija koja opisuje višeplatformski programski interfejs za pisanje programa koji rade sa dvodimenzionalnom i trodimenzionalnom računarskom grafikom. Interfejs čini preko 250 različitih funkcija koje se mogu koristiti za izradu kompleksnih trodimenzionalnih scena od jednostavnih elemenata. OpenGL je razvijen od strane Silikon Grafiks (engleski: Silicon Graphics Inc., SGI) 1992. godine i popularan je u industriji video igara gde je pandan Majkrosoftovom Direct3D. Pored ovoga, mnogo češće se koristi u naučne svrhe, kod CAD-programa, u projektima virtuelne stvarnosti kao i u raznim simulatorima.

Primer

[uredi | uredi kod]
Primer upotrebe

Sledi jednostavan primer jedne OpenGL scene sa komentarima. Na slici je prikazan izlaz nacrtan direktno u OpenGL.

glClear(GL_COLOR_BUFFER_BIT);

Čišćenje frejma pre početka crtanja. Ceo frejm će biti obojen u podrazumevanu boju koja je u ovom slučaju crna.

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

Naglašavanje da će matrica za prikaz trodimenzionog modela biti transformisana i njeno podešavanje na identičnu matricu.

glTranslatef(0,0,-5);
glRotatef(45,0,1,1);

Translacija za -5 jedinica po Z osi (pomoću glTranslatef) i rotacija za 45° oko vektora (0,1,1) (pomoću glRotatef). Ove transformacije se vrše na prethodno izabranoj matrici.

glBegin(GL_POLYGON);
	glColor3f(1,0,0); glVertex3f(-1,-1,0); // crveno teme
	glColor3f(0,1,0); glVertex3f(-1, 1,0); // zeleno teme
	glColor3f(0,0,1); glVertex3f( 1, 1,0); // plavo teme
	glColor3f(1,1,0); glVertex3f( 1,-1,0); // žuto teme
glEnd();

Sledi crtanje modela. Biće iscrtan kvadrat u XY ravni sa tačkama u (±1,±1) (zadatim sa glVertex3f), čija temena redom imaju boje (zadate sa glColor3f): crvena, zelena, plava, žuta. Zbog prethodnih transformacija nad matricom kojom se koordinate kvadrata transformišu, isti će biti prikazan u projekciji.

Povezano

[uredi | uredi kod]

Vanjske veze

[uredi | uredi kod]