Members - Reputation: 122
Posted 21 October 2001 - 07:36 AM
Now if your matrix math isn''t that good, here''s a tiny crashcourse. In OpenGL, a matrix is defined by an array of 16 numbers representing a 4x4 matrix like this:
0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15
Now assume that this matrix contains an object''s local-to-world matrix. I''m assuming that the matrix contains only rotation and position, nothing fancy like scaling, shearing, etc.
The upperleft 3x3 matrix then contains what is called the object''s rotation matrix:
The numbers at 0,1,2 represent the x,y,z components of the object''s rotated X-axis.
The numbers at 4,5,6 represent the x,y,z components of the object''s rotated Y-axis.
The numbers at 8,9,10 represent the x,y,z components of the object''s rotated Z-axis.
The numbers at 12,13,14 represent the x,y,z components of the object''s location in world-space.
Did that make some sense?
Members - Reputation: 171
Posted 21 October 2001 - 11:55 AM
Each Row in the matrix(since opengl uses column major) defines a basis vector for eye space. The basis vectors for object space are (1,0,0,0), (0,1,0,0), (0,0,1,0) and (0,0,0,1).
Thus your coordinates get transformed from object space to eye space.