GPU Visibility algorithms comparison

Summary

Program, implemented in C++, which generates a scene with a set of Armadillos (346k triangles, 173k vertices per model) on a grid. Then the camera follows a route that tries to emulate many different camera angles.

This is used to benchmark the framerate obtained with the following algorithms:

Results

The following chart shows the resulting frame rates of running the same scene with the different algorithms (Lower is better).

image

It’s easy to see that the Occlusion Queries and CHC++ algorithms are superior to simple frustum culling. Nevertheless, it is important to note that the occlusion queries implementation uses the information of the previous frame, thus it can cause some poping.

On the other hand, CHC++ works with current frame visibility, not causing visible artifacts, but because of its internal data structures sometimes brusque camera movements may cause noticeable frame-rate drops.

More information…

For more information about the actual implementation and results see the Visibility_Report.pdf file.

Developed for the Fast Realistic Rendering course of the Master in Innovation and Research in Informatics, at the Barcelona School of Informatics.

Pol Martín Garcia
Pol Martín Garcia
Computer Graphics R&D

Computer graphics enthusiast, focused on simulation and real-time rendering.