"He who knows not, and knows not that he knows not, is a fool...shun him.
He who knows not, and knows that he knows not, is willing...teach him.
He who knows, and knows not that he knows, is asleep...awaken him.
He who knows, and knows that he knows, is wise...follow him."
- Chinese Probverb

Framework 4 (Last updated: October 25, 2019)
Framework 3 (Last updated: February 6, 2017)
Framework 2 (Last updated: October 8, 2006)
Framework (Last updated: October 8, 2006)
Libraries (Last updated: September 16, 2004)
Really old framework (Last updated: September 16, 2004)
Thursday, December 18, 2003 | Permalink

Source code
Portals.zip (917 KB)

This is a demo that does portal rendering and checks for portal visibility through occlusion queries. The advantage of doing portals rendering this way is that it's easier to implement than typical portal rendering algoritms, and that it's pixel perfect. The disadvantage is that rendering portals comes at a cost. The more advanced rendering though, the less the workload of rendering portals matters. Normal portal rendering approaches will likely outperform this method slightly, but at a significant cost in implementation time. This method will on the other hand outperform brute force rendering, with little added complexity. The demo has a quite large world for you to navigate through compared to my other demos, which is split into five sectors (basically rooms in this demo). Only the rooms visible will be rendered.

The other cool thing about this demo is that it's my first GLSL demo. So get the latest Cat 3.10 drivers if you want to run this demo. It should run on Radeon 9500 and up, and at some point in the future when nVidia releases GLSL drivers I expect it to run on the GFFX too.