PDA

View Full Version : [C++] Come si fa per muovere il punto di vista durante un'animazione con openGL?


doctorAle85
04-01-2008, 00:14
Ciao a tutti,
sapete come si fa a muovere il punto di vista durante un'animazione?
Esiste qualche comando particolare?
Per es in un calcio di rigore voglio far finta di seguire il pallone che va a finire nella rete!...quindi non voglio una visuale fissa che vede tutto da lontano, ma voglio far finta di "andare dietro" al pallone!
Durante l'animazione come faccio a muovere il punto di vista seguendo la traiettoria del pallone?
grazie

cionci
04-01-2008, 00:55
In quale linguaggio ?

doctorAle85
04-01-2008, 10:15
In quale linguaggio ?

C++

tglman
04-01-2008, 13:12
hai una bella funzioncina glu ;)

si chiama gluLookAt e gli dici come posizionare la "telecamera".
ecco le api: http://www.opengl.org/sdk/docs/man/xhtml/gluLookAt.xml

per seguire il pallone come dici tu perņ te la devi cavare da solo con le coordinate ;)

mentre esegui il rendering sposti anche la telecamera dove vuoi!

71104
04-01-2008, 13:19
Ciao a tutti,
sapete come si fa a muovere il punto di vista durante un'animazione?
Esiste qualche comando particolare?
Per es in un calcio di rigore voglio far finta di seguire il pallone che va a finire nella rete!...quindi non voglio una visuale fissa che vede tutto da lontano, ma voglio far finta di "andare dietro" al pallone!
Durante l'animazione come faccio a muovere il punto di vista seguendo la traiettoria del pallone?
grazie
muovere il punto di vista significa semplicemente muovere (al contrario) tutto il resto. ciņ che devi fare č moltiplicare la matrice di proiezione per una matrice di traslazione, quindi devi chiamare glMatrixMode con GL_PROJECTION e poi glTranslate.

okay
05-01-2008, 09:45
Ciao a tutti,
sapete come si fa a muovere il punto di vista durante un'animazione?
Esiste qualche comando particolare?
Per es in un calcio di rigore voglio far finta di seguire il pallone che va a finire nella rete!...quindi non voglio una visuale fissa che vede tutto da lontano, ma voglio far finta di "andare dietro" al pallone!
Durante l'animazione come faccio a muovere il punto di vista seguendo la traiettoria del pallone?
grazie

Il pallone che si muove ha le sue coordinate pallone.x pallone.y pallone.z

non devi far altro che prendere le coordinate vista (tglman)
gluLookAt( GLdouble eyeX,
GLdouble eyeY,
GLdouble eyeZ,

e fare:
eyeX=pallone.x
eyeX=pallone.y
eyeX=pallone.z

in questo modo ti trovi all'interno del pallone.
Per stare dietro sopra o davanti

eyeX=pallone.x
eyeX=pallone.y+5 //sopra
eyeX=pallone.z