Spiegazioni dell'esercitazione del 8 Febbraio 2007
http://www.dis.uniroma1.it/~frat >> didattica >> esercitazioni | tesine
Tutor Latina: Andrea Carpene
Scopo
dell’esercitazione: scopo
dell’esercitazione è di prendere confidenza con i principali meccanismi di
interazione ed animazione di OpenGL e di GLUT attraverso la modifica e
completamento di un semplice programma che visualizza ed anima una mano.
Nota bene: Tutte le operazioni di disegno e di modifica delle matrici
devono (preferibilmente) essere effettuate nella Display Function, chiamata draw
nel nostro caso. Nelle altre funzioni (ad esempio, animation), dovete
soltanto cambiare i valori dei parametri che vengono usati dalla Display
Function.
Cose da fare:
Modificate il codice componendo la mano dalle primitive palmo, pollice e dito. Usate lo schema già scritto nella funzione mano. Si deve posizionare il pollice vicino al palmo e poi si deve invocare quattro volte la funzione dito cambiando ogni volta la posizione in modo opportuno.
Realizzare l’animazione che a partire dalla mano chiusa (tutti gli angoli delle falangi = 90.0) apre la mano un dito per volta contando fino a 5. Per fare questo esaminate il funzionamento di glutTimerFunc e della relativa callback animation
Commentare tutte le invocazioni di glutTimerFunc e ad inserire il codice di animation dentro il corpo della funzione idle. Quest’ ultima funzione viene richiamata ripetutamente ogni volta che non ci sono eventi pendenti da processare.
Cosa accade? Perchè?
Inserite una seconda mano e realizzate l’animazione che a partire da entrambi le mani chiuse (tutti gli angoli = 90.0) apre un dito per volta contando fino a 10.
Modificare la funzione keyboardDown in modo da fermare e far ripartire l’ animazione ogni volta che viene premuta la barra spaziatrice.
Documentazione: Tutta la documentazione su OpenGL / GLUTè disponibile nella directory del corso. Questa contiene i tre files:
glspec15.pdf
glu1.3.pdf
glut-3-spec.pdf