Upcoming update

I am still running some tests but I have some enhancements which should be available in the next couple of days.

  1. Hierarchical culling. I have debugged the crap out of the bounds calculations and now have proper vworld bounds at all levels of the hierarchy guarenteed to be adjusted when the children bounds change. With this enhancement I was able to turn on hierarchical bounds culling and it seems to work correctly.

  2. I have added a NodeUpdater interface which has a method called preRender(). This is called on any node which implements it, after the node has passed culling and before it is submitted to rendering. The view transform, model transform and current game time is passed in. If false is returned then the node will not be rendered. This is a great way to adjust particles, animate vertices, orient to camera or change any of the rendering attributes. The default timer used by the view is the awful JavaTimer supplied in Xith3D’s reference build. For more accurate results you can call View.setTimer() and pass in a better timer instantiation.

  3. I have added a new render atom called BoundsAtom which can display bounds for any node. Previously only shapes could render their bounds when node.showBounds(true) was set. I have found the ability to display bounds at runtime extremely helpful.

  4. Per abies recommendation I have started using array list getters instead of iterators in the View.

Can you very please check your pm?

Very interesting, because of I am planning to add functionality for color/image background node and maybe it will make sense to introduce one more Atom type - BoundsAtom. So I am waiting to see if my understanding of atom addition matches your system design.

Yuri