[ maxmagnus2 @ 30.11.2004. 12:25 ] @
Cao,
koje numericke vrednosti (const) treba da pozovem da bih dobio
trnutne vrednosti glLookAt f-ja?
Mislim na pozive tipa glGetDouble serije.
MM

[ Nothingman @ 03.12.2004. 02:13 ] @
Nije mi bas najjasnije tvoje pitanje, ali ako sam dobro shvatio ti zelis
da saznas trenutnu vrednost modelview matrice. To mozes uciniti na sledeci nacin:

glGetDoublev (GL_MODELVIEW_MATRIX, tvojamatrica);

gde je tvojamatrica pointer na mesto u memoriji gde zelis da se smesti informacija.

Drugim recima ti ne mozes da dobijes trenutne vrednosti neke funkcije, vec samo trenutnu vrednost nekog OpenGL stanja (OpenGL state).
Funkcija gluLookAt() podesava modelview matricu koja je je jedno od OpenGL stanja i ti mozes dobiti njenu trenutnu vrednost, a iz nje i posredno izvuci podatke koje je potrebno proslediti funkciji gluLookAt da bi se ona formirala.
Pozdrav!
[ maxmagnus2 @ 03.12.2004. 14:40 ] @
Cao,
Citat:
Nothingman: Funkcija gluLookAt() podesava modelview matricu koja je je jedno od OpenGL stanja i ti mozes dobiti njenu trenutnu vrednost, a iz nje i posredno izvuci podatke koje je potrebno proslediti funkciji gluLookAt da bi se ona formirala.
Pozdrav!

OK. Kako da izvadim stanje iz matrice?
Ne prepise ga valjda direktno (?!) u matricu.
MM
[ Milos Stojanovic @ 03.12.2004. 14:55 ] @
Trebalo bi malo više da čitaš dokumentaciju (OGL specifikaciju).
Evo ti malo više o gluLookAt funkciji, šta ona zapravo radi i kako ona menja view matricu.
[ maxmagnus2 @ 17.12.2004. 13:29 ] @
Dobar link,
mnogo matematike...
mislim da cu morati da osmislim nesto jednostavnje
za kontrolu kamere...
MM
[ yooyo @ 17.12.2004. 15:08 ] @
Nije to komplikovano... gluLookAt je jednostavan za koriscenje, ali je ipak najbolji trackball kontroler (kao u 3d programima). Source mozes naci svuda.

Probaj ovo...

pivot je tacka oko koje se kamera rotira
orbitRadius je distanca od kamere do tacke rotiranja kamere.

Code:

glLoadIdentity();
glTranslatef( 0, 0, -orbitRadius );
glRotatef( -pitch, 1, 0, 0 );
glRotatef( -yaw, 0, 1, 0 );
glTranslatef( -pivot.x, -pivot.y, -pivot.z );


btw... Ako je orbitRadius = 0.0 onda imas FPS kameru.

yooyo

[Ovu poruku je menjao yooyo dana 17.12.2004. u 16:20 GMT+1]
[ Milos Stojanovic @ 17.12.2004. 15:12 ] @
Citat:
maxmagnus2: Dobar link,
mnogo matematike...

Ne možeš daleko u 3D programiranju bez matematike.
Ne možeš daleko u programiranju uopšte.
[ maxmagnus2 @ 28.12.2004. 01:58 ] @
ma znam matrice nego me vise smorilo da
pisem c++ umesto da radim u gl...