Matrix Multiplication

All right, you've got yourself a fancy, shmancy triangle. You probably want to make it do something else now, right? Well, let's talk about rotations and translations. As mentioned previously, matrices are behind essentially everything you do in 3D graphics. This is especially the case when you're trying to move, rotate, or scale an object. You saw in the previous code that you had to set the World property of the BasicEffect to Matrix.Identity. Let's see if we can make a little more sense out of that now.

You can think of the World property of a BasicEffect as a matrix that tells XNA where to draw what you're about to tell it to draw and how to position it in the world with an appropriate rotation and scale. It's similar to a coordinate at which to draw the item (in fact, a 3D coordinate is contained within the matrix), but it's much more than that, holding all the information for the rotation and scale as well. We're not going to go into all the details here, but if you're interested in investigating further, there are a lot of resources in mathematical textbooks and on the Internet that will teach you all that you want to know about matrix multiplication.

For the purposes of this book and as an introduction to XNA, you really just need to know that matrix multiplication is behind all rotations, scales, translations (movement), etc. in 3D graphics. The matrix represented by Matrix.Identity is what's known as the identity matrix. The identity matrix is a special ...

Get Learning XNA 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.