I’m coding a indoor rendering engine that uses portals to determine which sectors are visible from one sector.
I’ve come up with two approches:
Clip each sector and its objects to a narrowed view volume constructed from the viewer position and the portals inside the previous view volume, and send them in back-to-front order.
In the second approch I don’t clip sectors and their objects to generated view volumes. Instead, I use them to only determine which sector is visible. Then I send each visible sector in front to back order to be clipped by the same view frustum, with stenciling enabled.
Which one seems to be faster assuming stenciling is done in hardware?