Laboratorio di Grafica A.A. 1997-98

Esercizio "buono per l'esame" N. 1


Scopo:

Creare un programma che legge un file di input contenente triangoli, visualizza tali triangoli, e consente di compiere trasformazioni geometriche della scena visualizzata.

Consegna:

Il sorgente, da copiare sul mio dischetto (che faro' passare), chiamandolo xxxx.c dove xxxx e' il nome di uno dei componenti del gruppo.
Nota bene: perche' la prova sia valida, TUTTI i componenti del gruppo devono essere presenti. Ci sara' un esercizio di recupero per i gruppi che dovessero "saltare" una delle quattro prove.

Segue:
- che cosa vi diamo
- che cosa dovete fare
- note utili (LEGGETELE!)


Che cosa vi diamo:


Che cosa dovete fare:

Consiglio: usare due display list, che vengono chiamate alternativamente. Le normali necessarie per entrambi i casi le trovate nella struttura dati riempita dalla read_triangles.
Consiglio: nei punti [2,3] fare prima UNA delle trasformazioni richieste, POI andare avanti con gli altri punti, e ALLA FINE, se vi resta tempo, fare anche le altre.

Note utili:

La proiezione puo' essere ortogonale o prospettica, come preferite.

Avete bisogno di almeno una luce; potete usare la GL_LIGHT0 coi parametri di default, ma METTETELA ALL'INFINITO DIETRO L'OSSERVATORE (es. in 0,0,-1 se guardate da z=-infinito) altrimenti potrebbe cadere dietro o dentro l'oggetto).

Per semplicita' fate in modo che il vostro programma legga i triangoli da standard input, chiamando read_triangles(stdin) e poi redirezionare lo standard input da command-line.