That’s right! Papervision3D now has integrated QuadTree support. For those of you who aren’t sure what this means – it is a technique of subdividing the screen into smaller and smaller regions to resolve potential conflicts between triangles. This is one solution to the common error found in the Painter’s algorithm that Papervision, (and all Flash3D engines) uses.
Papervision3D isn’t the first engine to incorporate QuadTrees into 3D Flash – and this is actually a port from Away3D. Those guys did a phenomenal job at implementing QuadTrees into their engine – and after scouring the math and structure, very few changes were actually made to it – mostly just some big changes to get it working in Papervision, and a few extra features to help you out. Be sure to give the Away team huge props for their work.
So to start using it, you will need to update your SVN, and check out the new QuadrantRenderEngine class. For some demos and a walkthrough on how to use it, as well as some of the nuances of the QuadTree, check out my post, Using QuadTrees In Papervision3D.
In terms of what this means for the engine, it is a good step forward for Papervision3D. Not only does it now give users 1 more option for handling z-fighting – it also setup the engine for some cool new features that will be coming out soon, including BSP and 2D clipping. In addition, it got me going through the engine, and found some things that needed to be cleaned up. All in all – it only means great things for the community.
Enjoy!















