Fakultät Informatik

GPU Particle Engine

 Peter Kipfer,  Mark Segal, Rüdiger Westermann

Computer Graphics and Visualization Group, Technische Universität München, Germany
ATI Research, USA


We present a system for real-time animation and rendering of large particle sets using GPU computation and memory objects in OpenGL. Memory objects can be used both as containers for geometry data stored on the graphics card and as render targets, providing an effective means for the manipulation and rendering of particle data on the GPU. To fully take advantage of this mechanism, efficient GPU realizations of algorithms used to perform particle manipulation are essential. Our system implements a versatile particle engine, including inter-particle collisions and visibility sorting. By combining memory objects with floating-point fragment programs, we have implemented a particle engine that entirely avoids the transfer of particle data at run-time. Our system can be seen as a forerunner of a new class of graphics algorithms, exploiting memory objects or similar concepts on upcoming graphics hardware to avoid bus bandwidth becoming the major performance bottleneck.


Associated publications

UberFlow: A GPU-Based Particle Engine
P. Kipfer, M. Segal, R. Westermann, Graphics Hardware 2004 [Bibtex]

 GPU Gems 2 Chapter 'Improved GPU Sorting'
P. Kipfer, R. Westermann, GPU Gems 2 [Bibtex]

Additional material

Video (DivX 5.1)
SIGGRAPH 2004 Sketch Slides
 Demo + source code from the GPUGems2 CDROM (Linux/Windows)



Matthias Niessner, our new Professor from Stanford University, offers a number of interesting topics for  master theses.


A new PhD/PostDoc position on  Computational Fabrication and 3D Printing is available at the Computer Graphics & Visualization group.