Regarding the offscreen culling, yes, Blitz tests each surface on a per-triangle basis, which is frankly stupider than ****.
You can do BSP and stuff, but the simplest thing to implement is what I described, and it will yield the same results.
You can do BSP and stuff, but the simplest thing to implement is what I described, and it will yield the same results.