да, да таких целей юзаются порталы и BSP.
и ещё я чето не понял - если стоит бублик, который крайними точками загораживает то что за ним, через дырку тоже ничего не увидишь? и все объекты на экране не идеальные квадраты, а могут иметь кучу всяких дырок и углублений.
---
кстати во)
http://insidecpp.ru/antipatterns/reinventing_the_wheel/