GPU Particle Engine
Peter Kipfer, Mark Segal, Rüdiger Westermann
Computer Graphics and Visualization Group, Technische Universität München, Germany
ATI Research, USA
Background
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
Additional material
|