03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
1
A Particle System for Interactive Visualizationof 3D Flows
Jens KrügerPeter KipferPolina KondratievaRüdiger Westermann
Authors:
Hector M. GarciaPresented By:
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
2
Problem
In flow research and industrial practice vector field data is one of the key sources for the analysis of flow field dynamics
Visual exploration of complex fields imposes significant requirements on the visualization system and demands for approaches capable of dealing with large amounts of vector valued information at interactive rates.
Previous approaches to virtually explore high-resolution flow fields lack the ability to simultaneously advect and display large amounts of particles.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
3
Advection
Advection is transport in a fluid The fluid is described mathematically for such processes
as a vector field, and the material transported is described as a scalar concentration of substance, which is present in the fluid.
A good example of advection is the transport of pollutants or silt in a river: the motion of the water carries these impurities downstream.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
4
Motivation
Overcome current methods limitations by exploiting features of recent graphics accelerators to advect particles in the graphics processing unit (GPU).
Ability to achieve interactive streaming and rendering of millions of particles using higher order numerical integration schemes.
Enable the virtual exploration of large fields in a way similar to real-world experiments.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
5
Motivation
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
6
Some background info…
GPU = Graphics Processing Unit. It is a dedicated graphics rendering
device. GPUs have a highly parallel structure
which makes them more effective than typical CPUs for a range of complex algorithms.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
7
More background info…
Recent developments in GPUs include support for programmable shaders
Because most of these computations involve matrix and vector operations, engineers and scientists have increasingly studied the use of GPUs for non-graphical calculations.
Applications requiring massive vector operations, can make use of the massive floating-point computational power of a GPU. This can yield several orders of magnitude higher performance than a conventional CPU.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
8
Related Work
Particle tracing techniques for flow viz have been studied intensively.
Core of these techniques use numerical integration schemes.
In flow viz context, analysis of such schemes with respect to stability,accuracy and performace.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
9
Related Work (cont’d…)
Particle-based techniques can visualize local features in the flow.
Global imaging techniques for 3D fields can illustrate global behavior.
LIC-methods allow for interactive 2D vector fields but no good in 3D flow.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
10
Related Work (cont’d…)
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
11
Methods
Propose a method for overcoming both computation and bandwidth limitations using the GPU.
Use GPU for advection and rendering computations.
Use improvements to rendering pipeline.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
12
Methods (cont’d…)
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
13
Methods (cont’d…)
Using this functionality, particle tracing can be performed entirely on the GPU.
Their method computes intermediate results saves them in texture memory and uses them again as input to the geometry units to render images in the frame buffer.
Initial particle positions stored in RGB texture of size M x N.
User defines number of particles and appropriate texture is generated on the CPU and uploaded on the GPU.
Particle Integration Incarnation advection
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
14
Methods (cont’d…)
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
15
Methods (cont’d…)
Particle Incarnation Transformation Birth Update
Particle Advection Texture access Death test
Advection Reincarnation
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
16
Methods (cont’d…)
GPU particle engine for flow viz is implemented in Cg
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
17
Methods (cont’d…)
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
18
Methods (cont’d…)
Particle Rendering OpenGL SuperBuffer
Memory object is bound as the current texture render target and as a vertex array used to draw particle primitives.
Vertex Texture Fetch The key concept is to let the fragment units
generate textures and to use these textures as displacement maps for geometric primitives in subsequent rendering passes.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
19
Methods (cont’d…)
Rendering Points
Maximum number of particles stored in video memory rendered as color primitives is 250 million per second
Oriented Point Sprites Used to reveal flow direction. Use a sprite texture atlas for arbitrary shaped
geometry
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
20
Point Rendering
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
21
Oriented Point Sprite Rendering
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
22
Sorting
Authors implement a GPU sorting network into their particle engine. Based in the Bitonic merge sort
algorithm. Well suited for GPU architecture because
sequence of operations is fixed and not dependent in the data to be sorted.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
23
What is Bitonic merge sort?
Data independent sorting method based on the bitonic sequence
A 0-1-sequence is called bitonic, if it contains at most two changes between 0 and 1.
More generally, a sequence of numbers is bitonic sequence if it has at most one local maximum or one local minimum. Examples: 1,2,3,4,5 ; 10,6,5,3,1 ; 3,7,9,8,6,5,4,1
10,8,6,9,12,15,20
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
24
How does it look like ?
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
25
Derived Flow attributes
Velocity Divergence Enstrophy 2
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
26
Derived Flow attributes (contd…)
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
27
Visualization Geometry
Stream Lines Ping pong buffer (double buffer) Texture samples interpreted as control points Draw polylines of T control points
Stream Ribbons Show rotation about the flow axis Build a second atlas that contains the other rim
of each stream line rotating the initial normal vector according to the accumulated increment angles.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
28
Stream Lines
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
29
Stream Ribbons
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
30
Evaluation
Model runs at interactive rates on PC hardware
It outperforms CPU counterparts Show timing statistics to compare their
GPU implementation vs. CPU.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
31
Evaluation (cont’d…)
Lets take a test drive !
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
32
Conclusion
Authors successfully demonstrates advantages of a GPU implementation of a particle flow simulation.
The possibility of integrating numerically and data intensive computations for flow analysis into the rendering process distinguishes the GPU engine from previous approaches.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
33
Conclusion (cont’d…)
Besides particle advection, the engine provides a variety of visualization options to visually convey relevant structures in 3D steady flow fields.
By using massive particle sets in combination with oriented sprites, LIC-like visualizations can be achieved at interactive rates. This includes higher order integration schemes, thus providing numerically accurate particle traces.
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
34
Questions
Given the parallel architecture of GPUs would a GPU cluster method help for visualizing massive global 3D flow visualizations?
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
35
Questions (cont’d…)
How would the performance of the visualization engine be impacted if the vector field is fed by a fully functional numerical model. i.e. ROMS
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH
36
Questions (cont’d…)
Could their implementation be easily extended to non-uniform grids ?