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. Rad sa prozorom, mišem i tipkovnicom olakšava upotreba GLUT alata, pa su primjeri za početak načinjeni upotrebom ovog alata. Primjeri za početak su načinjeni uz prvi vježbu (iscratavanje linije do 0-45) i uz  šestu vježbu (iscrtavanje trokuta u prostoru s različitim intenzitetima u vrhovima).

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 početak uz prvi vježbu je  
        Bresenham.cpp
        Project (.NET)

Za rad kod kuće (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 (piše u Readme):

       glut32.dll to    %WinDir%\System,
       glut32.lib to    $(MSDevDir)\..\..\VC98\lib, and
       glut.h     to      $(MSDevDir)\..\..\VC98\include\GL

Ako glut32.lib nije u navedenom direktoriju (u labaratoriju je obično instalirano više verzija MS Visual Studi-a i samo uz jedan je instaliran glut), potrebno je dodati stazu: Tools/ Options/ Projects and Solutions/ VC++ Directoris/ Library files/New  i isto za glut.h   Tools/ Options/ Projects and Solutions/ VC++ Directoris/ Include files.
Objekti na kojima je potrebno isprobati rad programa za 4-8 vježbe su Objekti

Primjer za početak uz šestu vježbu je:
izvorni kod   izvršna verzija

OpenGL i GLUT:

        OpenGL Programming Guide
        Glut Tutorial

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