OpenGL (engl. 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 (engl. 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

 
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.

Vidi još uredi

Spoljašnje veze uredi