OpenGL (engl. Open Graphics Library) [3] 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.

OpenGL
Video-igra kalkulacije renderovanja u realnom vremenu predaju GPU preko OpenGL.Renderovani rezultati se ne šalju nazad u glavnu memoriju, već u bafer okvira video memorije. Kontroler ekrana će zatim poslati ove podatke na uređaj za prikaz.
Video-igra kalkulacije renderovanja u realnom vremenu predaju GPU preko OpenGL.Renderovani rezultati se ne šalju nazad u glavnu memoriju, već u bafer okvira video memorije. Kontroler ekrana će zatim poslati ove podatke na uređaj za prikaz.
Originalni autor(i)Silicon Graphics
Programer(i)Khronos Group
(formerly ARB)
Prvo izdanje30. jun 1992. god.; pre 31 godine (1992-06-30)
Preliminarno izdanje
4.6
Napisan uC [1]
Tip3D graphics API
Licenca
  • Otvoreni kod licenca za korišćenje S.I. Ovo je licenca za besplatni softver B po uzoru na BSD, H i Mozila licence.
  • Licenca za žig za nove korisnike licenci koji žele da koriste OpenGL zaštitni znak i logo i potvrđuju usklađenost.[2]
Veb-sajtwww.opengl.org

Primer uredi

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

Reference uredi

  1. ^ Lextrait, Vincent (januar 2010). „The Programming Languages Beacon, v10.0”. Arhivirano iz originala 30. 5. 2012. g. Pristupljeno 14. 3. 2010. 
  2. ^ „Products: Software: OpenGL: Licensing and Logos”. SGI. Arhivirano iz originala 1. 11. 2012. g. Pristupljeno 7. 11. 2012. 
  3. ^ „The OpenGL Graphics System: A Specification” (PDF). 4.0 (Core Profile). 11. 3. 2010. 


Spoljašnje veze uredi