It’s easy. You’ll want to multiply each vertex by a 3x3 matrix. Now the rule for matrices is that when you multiply one by the vector <1, 0, 0> you get a vector equal to the first column of the matrix; multiplying by <0, 1, 0> gives you the second column; and multiplying by <0, 0, 1> gives you the third column. So all you have to do is figure out what you want those three vectors (in the 3DS Max coordinate system) to come out as in your coordinate system. Then constructing the appropriate matrix is easy. In this case:

<1, 0, 0> (in 3DS Max) –> <1, 0, 0> in your coordinates

<0, 1, 0> –> <0, 0, -1>

<0, 0, 1> –> <0, 1, 0>

So the appropriate matrix would be

[ 1 0 0 ]

[ 0 0 1 ]

[ 0 -1 0 ]

Is there a way I can convert a model exported from 3ds max (positive X to the right, positive Y into the distance, and positive Z up) to a standard right-handed model (positive X to the right, positive Y up, and positive Z towards the camera) using a matrix?

I know how to do this by manipulating each vertex manually, but how can I do it with a matrix?

Thanks a lot!