Horde3D
Horde3D copied to clipboard
Getting rid of the scene graph
Marciano proposed on the forum:
We are currently thinking about taking out the scene tree (transformation hierarchy) from the Horde core. Why?
I begin to think more and more that is not a good idea if the 3d engine (and even less the renderer) is modifying transformations. Without a scene tree, all horde scene objects would just be added directly into a flat list. Besides making the game engine integration strategy clearer, this would also help to further simplify the horde code and would definitely be beneficial for performance, as the scene tree does not have to be updated every frame (an operation which causes a lot of cache misses).
The change would have the introduction of model resources as dependency. Along with it, we would probably give more control over the model update as well. It needs to be possible to explicitly and immediately apply the skeletal animation to a model, so that the joint matrices can be read back to manually attach an object to a joint. A simple function updateModel could take care of that and control as well when morphers and software skinning should be applied. BTW, if anyone really needs it, it would be possible to have a scene tree in the utility library.
Discussion on official thread: http://horde3d.org/forums/viewtopic.php?f=8&t=1117