OpenGL
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.
Originalni autor(i) | Silicon Graphics |
---|---|
Programer(i) | Khronos Group (formerly ARB) |
Prvo izdanje | 30. jun 1992. god. |
Preliminarno izdanje | 4.6
|
Napisan u | C [1] |
Tip | 3D graphics API |
Licenca |
|
Veb-sajt | www |
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
- ^ Lextrait, Vincent (januar 2010). „The Programming Languages Beacon, v10.0”. Arhivirano iz originala 30. 5. 2012. g. Pristupljeno 14. 3. 2010.
- ^ „Products: Software: OpenGL: Licensing and Logos”. SGI. Arhivirano iz originala 1. 11. 2012. g. Pristupljeno 7. 11. 2012.
- ^ „The OpenGL Graphics System: A Specification” (PDF). 4.0 (Core Profile). 11. 3. 2010.
Spoljašnje veze uredi
- Zvanični veb-sajt
- SGI-ova internet strana o OpenGL
- NeHe OpenGL tutorijali
- OpenGL Benčmark Ce protiv Perla, Perl protiv Pajtona, SDL::OpenGL protiv POGL, Microsoft Windows protiv Linuksa