Hi
Does anyone know, how to get that matrix? Any advice is appreciated.
Thanks,
Jan.
Hi
Does anyone know, how to get that matrix? Any advice is appreciated.
Thanks,
Jan.
I'm assuming you want to avoid an explicit
inverse. If you know the transformations in the
modelview matrix, you can get the inverse by
playing some games with matrix properties. For
example, if the modelview is nothing more than
the camera transformation
MV = T R
that is, a rotation followed by a translation, then you could simplify things.
The matrix you seek is
-1
M = (P MV)
the inverse of the mvp.
Given the MV above, you have
-1
M = (P T R)
or equivalently
-1 -1 -1
M = R T P
Since R is a rotation, the inverse is the
transpose; since T is a translation, the inverse
is -T; since the inverse of P is given in the
red book (and elsewhere), you have
T -1
M = R (-T) P
If you follow this reasoning you can unroll your
matrices and solve them directly.
Here’s a link to a good matrix FAQ:
http://skal.planet-d.net/demo/matrixfaq.htm#Q18
Hope this helps.
if ur using shaders theres an easy switch you can use, this is for ARB_Vertex_program type shaders. when specifying the matrix as
state.matrix.modelview
you can simply put
state.matrix.modelview.inverse
this works for state matrix’s only and in shaders only. there are other matrix modifiers you can use
.invtrans
.transpose
hope this is helpful