Orthogonal BSP tree for Editor

Last week we completed a new BSP tree implementation for the Cafu World Editor CaWE: The new BSP tree is orthogonal, meaning that it only uses axis-aligned planes for its split planes, so that it can be build, updated and traversed very quickly.

The new tree is used for accelerating the 3D rendering, that is, culling the map elements against the camera view frustum quickly and for sorting them front-to-back or back-to-front (for translucent surfaces).
In the future, the new BSP tree implementation can be used for other purposes as well, such as accelerating ray traces through the world.

For development and debugging, we've also added some code to CaWE that optionally visualizes the BSP tree split planes graphically. Here are some screenshots from the TechDemo map: