Classic 4x4 projective matrices. Our convention is that they are intended for multiplication on
the right, that is, they are of the form
[ | | 0 ]
[ | 3x3 | 0 ]
[ |_____| 0 ]
[ p q r 1 ]
Please note that by default, OpenGL stores the matrices (in memory) by columns, while we
store them by rows; but OpenGL also use the opposite convention (so the OpenGL projective matrices
are intended for multiplication on the left). So in effect, they are the same when stored in the memory,
say with poke :: Ptr Mat4 -> Mat4 -> IO ().
|class ExtendProjective v e | v -> e where||Source|
|we assume that the bottom-right corner is 1.
|class ProjectiveAction v where||Source|
|Inverts a projective 4x4 matrix, assuming that the top-left 3x3 part is orthogonal,
and the bottom-right corner is 1.
|Produced by Haddock version 2.4.2|