   How does billboarding work mathematically?
  My D3D Special Effects book gave me code like this for rendering doing billboarding:   g_pD3DDevice->GetTransform(D3DTS_VIEW, &matView);D3DXMatrixTranspose(&matBillboardRot, &matView);matBillboardRot._14 = 0.0f;matBillboardRot._24 = 0.0f;matBillboardRot._34 = 0.0f;matBillboardRot._44 = 1.0f;matBillboardRot._41 = 0.0f;matBillboardRot._42 = 0.0f;matBillboardRot._43 = 0.0f;g_pD3DDevice->SetTransform(D3DTS_WORLD, &(m_matScaling * matBillboardRot * m_matTranslation));This achieves the desired effect, but I don''t understand why it works and the book doesn''t say.  Can someone explain it to me? 
  Since a rotation matrix is orthogonal, the transpose has a reverse effect, and the object is rotated, then rotated by the opposite amount. ;  Say you have your world matrix as a combination of traslation and rotation. A billboard is an object (mostly a quad) which ''faces'' the camera without any rotation. So you''d want to setup a transformation matrix which ''set to zero'' the rotation (making your quad facing you) thus preserving the original translation. As Nerothos says, the transpose of a rotation matrix is its inverse, and multiplying it causes the rotation to be zero.Hope this help.Marco.;  OK, I remember talking about that in class, but that doesn''t explain why you have to set the last row and column to 0 except the last entry, and that is 1.  Would I be correct in assuming this simply factors out the translations that would make it non-orthonormal? 