PDA

View Full Version : eye coordinates from modelview matrix



Phoenix
10-19-2003, 07:36 AM
I use gluLookAt()...How can I extract the x,y,z coordinates (the first 3 parameters of gluLookAt) from the MODELVIEW matrix??

CatAtWork
10-19-2003, 09:06 AM
http://www.lighthouse3d.com/opengl/billboarding/index.php3?billCheat1

Phoenix
10-20-2003, 03:50 AM
Ok! I found it by myself looking at the gluLookAt() code!
that article was a bit different from what I needed http://www.opengl.org/discussion_boards/ubb/wink.gif ... anyway the 4th column of the modelview matrix does not contain the coordinate of the observer, infact if you use gluLookAt() the matrix you'll have is the result of:
(x0 x1 x2 0) (1 0 0 ex)
(y0 y1 y2 0) (0 1 0 ey)
(z0 z1 z2 0) X (0 0 1 ez)
(0 0 0 1) (0 0 0 1 )

where ex,ey,ez are coordinates of the eye.


so the element of the 4th column will be:
A = x0*ex+x1*ey+x2*ez
B = y0*yx+y1*ey+y2*ez
C = z0*ex+z1*ey+z2*ez
D = 1

to re-obtain ex,ey,ez you have just to solve this equation-system: you can use the Kramer's rule remembering that the following matrix should be orthonormal (=> DET=1)

(x0 x1 x2)
det (y0 y1 y2) = 1
(z0 z1 z2)

Phoenix
10-20-2003, 03:52 AM
sorry for writing bad all the matrices http://www.opengl.org/discussion_boards/ubb/frown.gif