hi Xia,
Xia:But my question is does the sample not support world transforms by default or I am overlooking something.
It's not a question of the effect 'not supporting' the world matrix, because matrices are just variables. But no, the skinning sample does not have a world matrix by default in the shader, but there's no reason why you can't add this your self should you need it.
You can add as many matrices to the shader as you want/need (keeping within the limits of each shader models instruction/register count), but what is important is how you multiply them together, because each matrix will change the final position of the vertices. Also, each extra matrix calculation will have a slight overhead.
you will need to add to the shader in the following order:
bone * world * view * projection.
Xia:The world transformation is already done in the AnimationClip.Update method. So if we multiply the world matrix in the draw call it will be redundant. See thread below
http://forums.xna.com/forums/p/10307/54041.aspx#54041
But I think moving it to .fx file would still be more efficient.
I haven't read the other thread (no time), but I think his is more a question of project organisation and structure. The difference in computing a few matrices on the CPU or GPU is probably so little it would be slower sending them to the GPU all in the first place (I can't back this up, but it's just a feeling). And it wouldn't make sense sending a full scenegraph's worth of matrices to the GPU to try and save time multiplying them together. So I think calculating the world matrices in the Update() should be fine.
hope it helps,
John