The world transform changes coordinates from model space to world space. This can include any combination of translations, rotations, and scalings. For a discussion of the mathematics of transformations, see 3-D Transformations.
You can create a translation using code like this. Notice that here (and in the other transformation samples) the D3D_OVERLOADS form of D3DMATRIX is being used.
D3DMATRIX Translate(const float dx, const float dy, const float dz)
{
D3DMATRIX ret = IdentityMatrix();
ret(3, 0) = dx;
ret(3, 1) = dy;
ret(3, 2) = dz;
return ret;
} // end of Translate()
You can create a rotation around an axis using code like this:
D3DMATRIX RotateX(const float rads)
{
float cosine, sine;
cosine = cos(rads);
sine = sin(rads);
D3DMATRIX ret = IdentityMatrix();
ret(1,1) = cosine;
ret(2,2) = cosine;
ret(1,2) = -sine;
ret(2,1) = sine;
return ret;
} // end of RotateX()
D3DMATRIX RotateY(const float rads)
{
float cosine, sine;
cosine = cos(rads);
sine = sin(rads);
D3DMATRIX ret = IdentityMatrix();
ret(0,0) = cosine;
ret(2,2) = cosine;
ret(0,2) = sine;
ret(2,0) = -sine;
return ret;
} // end of RotateY()
D3DMATRIX RotateZ(const float rads)
{
float cosine, sine;
cosine = cos(rads);
sine = sin(rads);
D3DMATRIX ret = IdentityMatrix();
ret(0,0) = cosine;
ret(1,1) = cosine;
ret(0,1) = -sine;
ret(1,0) = sine;
return ret;
} // end of RotateZ()
You can create a scale transform using code like this:
D3DMATRIX Scale(const float size)
{
D3DMATRIX ret = IdentityMatrix();
ret(0, 0) = size;
ret(1, 1) = size;
ret(2, 2) = size;
return ret;
} // end of Scale()
These basic transformations can be combined to create the final transform. Remember that when you combine them the results are not commutative ¾ the order in which you multiply matrices is important.