if I have:
D3DVALUE scale;
D3DVECTOR pos,dir;
D3DMATRIX total, temp;
Identity(total);
then when I do this:
Scale(temp, scale);
Multiply(total, total, temp);
Rotate(temp, dir)
Multiply(total, total, temp);
Translate(temp, pos);
Multiply(total, total, temp);
pd3dDevice->SetTransform(D3DTRANSFORMSTATE_WORLD, &total);
Now, this should scale, then rotate around its local coord system, and then translate...but it is not working right. I think I read the the order must be fliped screwy when working with matrices. Could someone modify the above code, so that I can see what is going wrong?