GPU basierte Verfahren zur interaktiven Simulation und Darstellung von Fluid-Effekten (A GPU Framework for Interactive Simulation and Rendering of Fluid Effects)

Zusammenfassung Ziel dieser Arbeit ist die Entwicklung von Konzepten und Methoden zur interaktiven visuellen Simulation von Fluid-Phänomenen auf PC-Grafikkarten (GPUs). Für die numerische Simulation auf GPUs wurde eine GPU-Abstraktionsschicht entwickelt, die Operatoren für Lineare Algebra bereitstellt. Damit wurden komplexere Algorithmen, z.B. Löser für große lineare Gleichungssysteme, realisiert und zur effizienten numerischen Lösung von Differentialgleichungen auf der GPU verwendet. Zur Modellierung von Strömungsstrukturen wurden neue Interaktionstechniken entwickelt. Für die Darstellung der dynamischen Phänomene wurden partikel- und texturbasierte Volume-Rendering-Techniken erforscht. Durch das Zusammenspiel mit der Simulation auf der GPU lassen sich realistische 3D-Effekte sehr schnell generieren und visualisieren. Summary This thesis aims at exploiting graphics processing units (GPUs) for interactive simulation and rendering of fluid effects. I target the GPU for a couple of reasons. First, GPUs present the first commercially successful examples of a class of future computing architectures key to high-performance, cost-effective supercomputing. Second, as the simulation is carried out on the GPU, simulation results are already where they are needed for display – in local GPU memory. This eliminates CPU–GPU data transfer, which is likely to become the bottleneck otherwise. To be able to implement general techniques of numerical computing on the GPU I have developed a linear algebra framework which allows to abstract from the underlying GPU data structures and algorithms, to focus on the application itself. Based on this framework I have implemented efficient algorithms for solving large systems of linear equations, and I have used these algorithms to solve partial differential equations such as the wave equation or the Navier–Stokes equations on GPUs. In addition to physics-based simulation of fluid phenomena, in this thesis I also present new techniques to simulate optical effects caused by such phenomena, i. e., caustics that can appear whenever light impinges upon reflecting or transmitting material.

[2]  Thomas Ertl,et al.  Accelerating 3D convolution using graphics hardware , 1999, Proceedings Visualization '99 (Cat. No.99CB37067).

[3]  Robert Strzodka,et al.  Virtual 16 Bit Precise Operations an RGBA8 Textures , 2002, VMV.

[4]  Pat Hanrahan,et al.  Beam tracing polygonal objects , 1984, SIGGRAPH.

[5]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[6]  Chris Wyman,et al.  Interactive image-space techniques for approximating caustics , 2006, I3D '06.

[7]  Jos Stam,et al.  Stable fluids , 1999, SIGGRAPH.

[8]  Rüdiger Westermann,et al.  Efficiently using graphics hardware in volume rendering applications , 1998, SIGGRAPH.

[9]  L. Shampine,et al.  A 3(2) pair of Runge - Kutta formulas , 1989 .

[10]  Marc Levoy,et al.  Efficient ray tracing of volume data , 1990, TOGS.

[11]  Wolfgang Straßer,et al.  Interactive Visualization of Volumetric Vector Fields Using Texture Based Particles , 2002, WSCG.

[12]  Franklin C. Crow,et al.  Shadow algorithms for computer graphics , 1977, SIGGRAPH.

[13]  Niels Jørgen Christensen,et al.  Photon maps in bidirectional Monte Carlo ray tracing of complex objects , 1995, Comput. Graph..

[14]  Rüdiger Westermann,et al.  GPU Simulation and Rendering of Volumetric Effects for Computer Games and Virtual Environments , 2005, Comput. Graph. Forum.

[15]  Wolfgang Straßer,et al.  Enabling classification and shading for 3D texture mapping based volume rendering using OpenGL and extensions , 1999, VIS '99.

[16]  Eugene Fiume,et al.  Turbulent wind fields for gaseous phenomena , 1993, SIGGRAPH.

[17]  Charles D. Hansen,et al.  Interactive caustics using local precomputed irradiance , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[18]  Jack J. Dongarra,et al.  An extended set of FORTRAN basic linear algebra subprograms , 1988, TOMS.

[19]  Backward Ray Tracing Backward Ray Tracing , 1986 .

[20]  Michael Griebel,et al.  Numerical Simulation in Fluid Dynamics: A Practical Introduction , 1997 .

[21]  Cass W. Everitt,et al.  Interactive Order-Independent Transparency , 2001 .

[22]  Roni Yagel,et al.  Accelerating volume animation by space-leaping , 1993, Proceedings Visualization '93.

[23]  Dinesh Manocha,et al.  GPUTeraSort: high performance graphics co-processor sorting for large database management , 2006, SIGMOD Conference.

[24]  Philipp Slusallek,et al.  Realtime Caustics using Distributed Photon Mapping , 2004, Rendering Techniques.

[25]  Wolfgang Straßer,et al.  Real‐Time Caustics , 2003, Comput. Graph. Forum.

[26]  J. Anderson,et al.  Computational fluid dynamics : the basics with applications , 1995 .

[27]  Kei Iwasaki,et al.  An Efficient Method for Rendering Underwater Optical Effects Using Graphics Hardware , 2002, Comput. Graph. Forum.

[28]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[29]  Tomoyuki Nishita,et al.  Method of displaying optical effects within water using accumulation buffer , 1994, SIGGRAPH.

[30]  Mark Watt,et al.  Light-water interaction using backward beam tracing , 1990, SIGGRAPH.

[31]  Martin Kraus,et al.  High-quality pre-integrated volume rendering using hardware-accelerated pixel shading , 2001, HWWS '01.

[32]  Chris Wyman Interactive image-space refraction of nearby geometry , 2005, GRAPHITE '05.

[33]  Philipp Slusallek,et al.  Fast and Accurate Ray-Voxel Intersection Techniques for Iso-Surface Ray Tracing , 2004, VMV.

[34]  Kenneth R. Sloan,et al.  Accelerated volume rendering using homogeneous region encoding , 1997, Proceedings. Visualization '97 (Cat. No. 97CB36155).

[35]  Ed Anderson,et al.  LAPACK Users' Guide , 1995 .

[36]  Leonidas J. Guibas,et al.  Metropolis light transport , 1997, SIGGRAPH.

[37]  Bent Dalgaard Larsen,et al.  Simulating Photon Mapping for Real-time Applications , 2004, Rendering Techniques.

[38]  L. Luo,et al.  Theory of the lattice Boltzmann method: From the Boltzmann equation to the lattice Boltzmann equation , 1997 .

[39]  Chris Wyman An approximate image-space approach for interactive refraction , 2005, ACM Trans. Graph..

[40]  David Blythe The Direct3D 10 system , 2006, ACM Trans. Graph..

[41]  Kurt Akeley,et al.  Reality Engine graphics , 1993, SIGGRAPH.

[42]  Mark Oskin,et al.  Using modern graphics architectures for general-purpose computing: a framework and analysis , 2002, MICRO 35.

[43]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[44]  Martin Rumpf,et al.  Nonlinear Diffusion in Graphics Hardware , 2001, VisSym.

[45]  Rüdiger Westermann,et al.  UberFlow: a GPU-based particle engine , 2004, SIGGRAPH '04.

[46]  Pat Hanrahan,et al.  Fast algorithms for volume ray tracing , 1992, VVS.

[47]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[48]  Duc Quang Nguyen,et al.  Smoke simulation for large scale phenomena , 2003, ACM Trans. Graph..

[49]  Rüdiger Westermann,et al.  Numerical Simulations on PC Graphics Hardware , 2004, PVM/MPI.

[50]  Kenneth E. Batcher,et al.  Sorting networks and their applications , 1968, AFIPS Spring Joint Computing Conference.

[51]  David S. Ebert,et al.  Interactive translucent volume rendering and procedural modeling , 2002, IEEE Visualization, 2002. VIS 2002..

[52]  Rüdiger Westermann,et al.  Interactive screen-space accurate photon tracing on GPUs , 2006, EGSR '06.

[53]  Richard Szeliski,et al.  Layered depth images , 1998, SIGGRAPH.

[54]  Eitan Grinspun,et al.  Sparse matrix solvers on the GPU: conjugate gradients and multigrid , 2003, SIGGRAPH Courses.

[55]  A. James Stewart,et al.  General Calculations using Graphics Hardware with Applications to Interactive Caustics , 2000, Rendering Techniques.

[56]  Ulrich Neumann,et al.  Accelerating Volume Reconstruction With 3D Texture Hardware , 1994 .

[57]  Philipp Slusallek,et al.  Interactive Global Illumination using Fast Ray Tracing , 2002, Rendering Techniques.

[58]  Leif Kobbelt,et al.  High-quality point-based rendering on modern GPUs , 2003, 11th Pacific Conference onComputer Graphics and Applications, 2003. Proceedings..

[59]  László Szirmay-Kalos,et al.  Approximate Ray‐Tracing on the GPU with Distance Impostors , 2005, Comput. Graph. Forum.

[60]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[61]  Tomas Akenine-Möller,et al.  Interactive rendering of caustics using interpolated warped volumes , 2005, Graphics Interface.

[62]  Wolfgang Stuerzlinger,et al.  Interactive Rendering of Globally Illuminated Glossy Scenes , 1997, Rendering Techniques.

[63]  Steven Collins,et al.  Adaptive Splatting for Specular to Diffuse Light Transport , 1995 .

[64]  Andrew Lewis,et al.  Model reduction for real-time fluids , 2006, SIGGRAPH '06.

[65]  Andreas Kolb,et al.  Hardware-based simulation and collision detection for large particle systems , 2004, Graphics Hardware.

[66]  Rüdiger Westermann,et al.  A particle system for interactive visualization of 3D flows , 2005, IEEE Transactions on Visualization and Computer Graphics.

[67]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[68]  Henrik Wann Jensen,et al.  Rendering Caustics on Non‐Lambertian Surfaces , 1996, Comput. Graph. Forum.

[69]  Tom Duff,et al.  Compositing digital images , 1984, SIGGRAPH.

[70]  Lisa M. Sobierajski,et al.  Global illumination models for volume rendering , 1994 .

[71]  Rüdiger Westermann,et al.  Acceleration techniques for GPU-based volume rendering , 2003, IEEE Visualization, 2003. VIS 2003..

[72]  Dinesh Manocha,et al.  Fast and simple 2D geometric proximity queries using graphics hardware , 2001, I3D '01.

[73]  Kei Iwasaki,et al.  A Fast Rendering Method for Refractive and Reflective Caustics Due to Water Surfaces , 2003, Comput. Graph. Forum.

[74]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[75]  Mark J. Harris Analysis of Error in a CML Diffusion Operation , 2002 .

[76]  R. Courant,et al.  On the solution of nonlinear hyperbolic differential equations by finite differences , 1952 .

[77]  John S. Montrym,et al.  InfiniteReality: a real-time graphics system , 1997, SIGGRAPH.

[78]  Peter-Pike J. Sloan,et al.  Interactive ray tracing , 1999, SI3D.

[79]  Bruce Randall Donald,et al.  Real-time robot motion planning using rasterizing computer graphics hardware , 1990, SIGGRAPH.

[80]  Jens Schneider,et al.  ClearView: An Interactive Context Preserving Hotspot Visualization Technique , 2006, IEEE Transactions on Visualization and Computer Graphics.

[81]  Pat Hanrahan,et al.  Photon mapping on programmable graphics hardware , 2003, HWWS '03.

[82]  Christian-A. Bohn Kohonen Feature Mapping through Graphics Hardware , 1998 .

[83]  Rüdiger Westermann,et al.  The application of GPU particle tracing to diffusion tensor field visualization , 2005, VIS 05. IEEE Visualization, 2005..

[84]  Thomas Ertl,et al.  High-quality unstructured volume rendering on the PC platform , 2002, HWWS '02.

[85]  Brian Cabral,et al.  Accelerated volume rendering and tomographic reconstruction using texture mapping hardware , 1994, VVS '94.

[86]  Radek Grzeszczuk,et al.  Nonlinear optimization framework for image-based modeling on programmable graphics hardware , 2003, ACM Trans. Graph..

[87]  MatthiasHopf ThomasErtl Hardware Based Wavelet Transformations , 2000 .