Up until now i've always calculated the world transform once per frame for every object (After the update step, before collision resolution or rendering).
Is there a more optimal way to do this? For instance, only recalculate the final world position if the game object moves? I was thinking of doing that, BUT then each child object would need it's world position recalculated when the parent moves. If i move enough nodes in a tree / frame this could be more expensive than just calculating the world for everything anyway.
Right now i'm submitting the verts for an object in local space with the world matrix to the shader. Should i maybe be submitting them already in world space? But that doesn't really solve my delima.
Sorry if this is a stupid question, but i've been stumped by it all day...