"The world is a dangerous place to live, not because of the people who are evil, but because of the people who don't do anything about it."
- Albert Einstein

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)
Portals
Thursday, December 18, 2003 | Permalink

Executable
Source code
Portals.zip (917 KB)

Required:
GL_ARB_shader_objects
GL_ARB_vertex_shader
GL_ARB_fragment_shader
GL_ARB_shading_language_100
GL_ARB_occlusion_query
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.