# Getting the inverse Modelview*Projection Matrix

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