Real-Time GPU Algorithms: Parallel Primitives and Rendering of Participating Media
Licentiate thesis, 2011

Modern graphics processing units, GPUs, present an immense resource of computational power, that however remains challenging to fully harness. This thesis explores four algorithms and methods that attempt to take full advantage of the resources provided by a GPU. The algorithms focus on efficient implementations that perform well enough to be considered for real-time applications. Two of the papers focus on using GPUs to accelerate general purpose algorithms by leveraging general purpose GPU, GPGPU, techniques. First, general purpose parallel primitives such as parallel stream compaction, reduction, prefix sums and sorting are presented. The second paper applies these techniques to efficiently build a two-level hierarchical grid from scene geometry. The two-level grid is then used to accelerate ray tracing. While ray tracing is related to computer graphics, it is outside of the traditional scope of GPUs, which are built to mainly accelerate rasterized graphics. In the third paper, the rasterization specific parts of a modern GPU are leveraged to render shafts of light and other effects that single scattering of light in a participating medium gives rise to. The method presented in the third paper relies on shadow maps to generate polygonal geometry enclosing space that is directly illuminated by a light source. It is inside this geometry that single scattering takes place. The final paper explores the combination of GPGPU techniques with traditional graphics operations. The method augments the single scattering algorithms presented in the third paper with support for multiple scattering and indirect illumination of geometry by light scattered in the participating medium. It uses light propagation volumes, LPVs, which are efficiently implemented using GPGPU programming techniques to propagate light using a modified propagation scheme that accounts for scattering in the medium.


indirect illumination

shafts of light

multiple scattering

stream compaction

single scattering

parallel primitives


Opponent: Prof. Lennart Ohlsson, Institutionen för Datavetenskap, Lunds Universitet, Sverige


Markus Billeter

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Efficient stream compaction on wide SIMD many-core architectures

Proceedings of the Conference on High Performance Graphics,; Vol. 2009(2009)p. 159-166

Paper in proceeding

Two-Level Grids for Ray Tracing on GPUs

Computer Graphics Forum,; Vol. 30(2011)p. 307-314

Journal article

Real Time Volumetric Shadows using Polygonal Light Volumes

Proceedings of the Conference on High Performance Graphics, 2010,; (2010)p. 39-45

Paper in proceeding

Subject Categories

Computer Engineering

Areas of Advance

Information and Communication Technology


Basic sciences

Opponent: Prof. Lennart Ohlsson, Institutionen för Datavetenskap, Lunds Universitet, Sverige

More information