What I am thinking of using eventualy is this:
Portals to cut up giant world (with indoor and outdoor scenes together) into smaller chunks and to help remove large complex parts but also mainly for special effects and such like.
Special portals and sectors will exist where the landscape meets the indoors. Large polygons are chose as occluders to hide large parts of the inside or large parts of the outside depending on where you are(in or out). Also when inside the inside is rendered first to minimize overdraw from the terrain that might only be a sliver through a doorway or window.
Then there is an octree that isn’t recursed too much, this handles mass culling and can make smaller, faster BSPs and also DYNAMIC geometry.
In each node of the octree a BSP tree is made. The BSP tree is rendered front to back to minimize overdraw. Transparent polygons are then drawn with a seperate BSP tree in back to front order.
The octree(and so also the BSP trees) will be fully programmable for different systems (fast CPU and slow GFX or slow CPU but very fast gfx etc.)
Tim