Podrška za laboratorijske vježbe
U laboratorijskim vježbama koristi se
iscrtavanje točke i linije u boji na zaslon. Kako bi programeru
korištenje ovih (i brojnih drugih) grafičkih funkcija bilo dostupno,
potrebno je koristiti programsku podršku koja olakšava upotrebu
grafičkog sklopovlja.
Težanja je načiniti programski
kod tako da je on prenosiv na različite
platforme (Windows, *nux, MacOS ...), pa se stoga standardima propisuju
grafičke funkcije. Grafičke fukcije želimo koristiti u različitim
programskim okruženjima (C/C++, Basic, Fortran, Java ...), no same
funkcije su u osnovi iste, što je još jedan razlog za standardizaciju.
Ukoliko su funkcije definirane standardima, proizvođači sklopovske
grafičke opreme podržavaju postavljene standarde, a pojedine djelove
sklopovlja postavljaju programirljivim.
Grafičkim standardima, od kojih
su najpoznatiji OpenGL i DirectX-Direct3D, propisano je programsko
sučelje tj. API-a (engl. Application Programming Interface) prema
sklopovlju. U akademska zajednici široko prihvaćeni stand je OpenGL, te
su i ovdje odabrani početni primjeri uz njegovo korištenje.
Laboratorijske vježbe mogu biti
ostvarene upotrebom bilo kojeg programskog alata, na proizvoljnoj
platformi (programskoj/sklopovskoj) i uz proizvoljno sučelje prema
grafičkom sklopovlju. Prezentacija programa uključuje izvođenje i
objašnjavanje koda.
OpenGL nema podršku za rad sa
grafičkim sučeljem odnosno s prozorima, mišem, definicije imalo
složenijih objekata. Uz laboratorijske vježbe se ne zahtijeva
korisničko sučelje, no potrebno je ostvariti prikaz.
Za vježbe mogu biti upotrebljeni programski alati
Microsoft Visual C++
U laboratoriju će biti instaliran GLUT (OpenGL
Utility Toolkit). GLUT olakšava izgradnju i rad aplikacija.
Primjer za pocetak je
3DTrokut.cpp
3Dtrokut
(.exe)
Za rad¸kod kuce (za one koji imaju namjeru koristiti) GLUT :
Nalazi se na
http://www.xmission.com/~nate/glut.html
glut-3.7.6-bin.zip
(117 KB)
Nakon raspakiranja potrebno je iskopirati datoteke u odgovarajuće
direktorije:
glut32.dll to
%WinDir%\System,
glut32.lib to
$(MSDevDir)\..\..\VC98\lib,
and
glut.h to
$(MSDevDir)\..\..\VC98\include\GL
Kratak primjer koji iscartava rotirajući trokut je na adresi:
www.geocities.com
nalazi se u glsample.zip
Primjeri:
http://www.opengl.org/developers/code/examples/redbook/redbook.html
U ovom slučaju potrebno je dodati
biblioteku
Opengl32.lib (u project i debug).
OpenGL:
OpenGL Programming
Guide
Ove godine nije instaliran u laboratoriju
Borland C/C++:
Ukoliko netko koristi ovaj programski alat, može pokazati
i objasniti izvirni kod i izvođenje programa, no nemože načiniti
prevođenje svojih izvornih programa u laboratoriju.
Iskustva studenata prošlih
generacija
Direct 3D
http://fly.srk.fer.hr/~mirol/directx/Uvod.html
Ostalo:
Primjeri za početak mogu se naći na adersi:
http://www.xmission.com/~nate/tutors.html
http://nehe.gamedev.net/
http://www.gametutorials.com/Tutorials/opengl/OpenGL_Pg1.htm