Grafica(C.d.S. Informatica)

Progetto assegnato il 06/04/2006

Obiettivo

Sviluppare un "3D GAME" usando OpenGL (solo GL, GLU e glut) e linguaggio C (o C++) in ambiente PC/Linux.

Gruppi di lavoro

Il progetto e' individuale, ma si esorta la collaborazione e diffusione di informazioni; l'obiettivo e' imparare.

Testo

Si progetti ed implementi un videogioco 3D interattivo composto da oggetti definiti mediante mesh poligonali e/o superfici quadriche. Si definisca un'opportuna scenografia colorando e texturando gli oggetti della scena.

richieste grafiche obbligatorie

  • geometria 3d e vista (gli oggetti 3d devono essere visualizzati in proiezione prospettica);
  • input utente (si gestisca l'interazione 3d usando il mouse e la tastiera);
  • navigazione (il giocatore dve avere un indicatore visuale di dov'e' e dove vuole andare o dove e' stato);
  • pannello di controllo su schermo (si preveda un pannello di controllo in cui usando testo o grafica 2D si visualizzino le funzioni utente, lo scoreboard, ecc.);
  • illuminazione e ombreggiatura (gli oggetti 3d devono essere illuminati da almeno una luce);
  • texture mapping (almeno un oggetto 3d del videogioco deve avere applicata una texture e almeno una texture deve essere una foto personale)
  • advanced rendering (da menu' si preveda l'attivazione/disattivazione di una tecnica di resa avanzata realizzabile in opengl come per esempio: mipmapping, environment mapping, blending, anti-aliasing, shadows, ecc.)

    Elementi di Giudizio

    Elementi qualificanti il progetto saranno l'originalita' delle scelte (tipo di gioco, oggetti, scenografia, texture, ecc.), le difficolta' di realizzazione, la funzionalita', dal punto di vista grafico, del codice realizzato. Si tenga sempre presente che il progetto e' sulle OpenGL non sui videogiochi.

    Consegna

    Si richiede di consegnare un archivio .tgz o .zip contenente due directory:
  • la prima con il codice sorgente e relativo Makefile per ambiente Linux/Xwindow ed eventualmente un file README contenente informazioni di installazione, compilazione ed esecuzione;
  • la seconda dovra' contenete una relazione in html sul progetto realizzato (spiegazione delle scelte effettuate, descrizione videogioco e suo utilizzo, particolarita', funzionalita' OpenGL utilizzate).
    Il progetto deve essere consegnato per e-mail o comunicando da dove scaricare l'archivio almeno 10 giorni prima della data d'esame.
    Per il progetto si stimano necessarie circa 80 ore di lavoro corrispondenti.

    Avvertenza

    Non e' vietato "ispirarsi" a codici esistenti, ma quanto consegnato potra' essere elemento di discussione, anche approfondita, in sede d'esame. In conclusione, dovete capire cio' che usate!