Also, this kind of design doesn’t scale optimally to highly detailed scenes, because the world gets splitted to too many small parts.
This is not true. As I said, there’s no need to split everything; a minimal occlusion boundary would suffice, but it’s up to you to decide what that might be. In fact this method scales better than anything I know of, but not with out a price. The preprocessing time can be considerable (there are Quake3 maps that took days to compile, but that’s with lighting, etc. too).
A basic scenegraph with artist created portals results in a more comfortable workflow, and a reasonably efficent culling system.
This is a viable alternative to a PVS (potentially visible set). Unreal uses the idea of zone portals (portals that bound a leaf cluster) to great effect. This technique trades preprocessing time for runtime performance. But the artist is still burdened with the task of defining the portals, perhaps even more so than in the case of a PVS. Also, the runtime performance will depend entirely on the placement of these user defined portals. Whereas with a PVS, you will likely see a vast improvement without the help of an artist. If anything, the PVS approach is far more autonomous than that of zone portal rendring.
It’s easy to control the culling from the editor, as things like grouping nearby objects, splitting large objects and creating portals at doorways are simple and intuitive tasks, as opposed to controlling an automatic vis job.
Curious, you’re listing more chores the artist has to do, the very thing you cited as a grievance with a PVS.
You don’t control an automatic vis job; it’s automatic. The preprocessor handles all the details. The only thing the artist need do is give the preprocessor hints, like the doorway portals you mentioned, but this is not strictly neccessary.
Also, you might want to consider using an external physics package like ODE, which can handle the collisions and a lot more for quite little effort.
Even with ODE, or any other physics/collision engine, you will still need to organize your world intelligently. BSP zones and leaves make ideal candidates for ODE spaces, for example.
As far as batching goes, creating lists of 1000 triangles or more is easy, especially in the case of a PVS, since for any point in the map, you have the all visible leaves and zones for a simple table lookup. You can sort the materials in each leaf in preprocessing, even merge leaf materials by zone, depending on the granularity desired and draw order requirements.
LOD will be difficult, if not impossible, on the occlusion BSP itself. But you could certainly LOD the contents of the occlusion hulls quite handily.
Again, for a maze-like worlds, I know of nothing better than a good PVS for sheer runtime speed.