OpenGL

S Vikipedije, slobodne enciklopedije
Лого

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 | uredi izvor]

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); // црвено теме
	glColor3f(0,1,0); glVertex3f(-1, 1,0); // зелено теме
	glColor3f(0,0,1); glVertex3f( 1, 1,0); // плаво теме
	glColor3f(1,1,0); glVertex3f( 1,-1,0); // жуто теме
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 | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]