36
03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: J ESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer Polina Kondratieva Rüdiger Westermann Authors: Hector M. Garcia Presented By:

03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

Embed Size (px)

Citation preview

Page 1: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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:

Page 2: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 3: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 4: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 5: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

5

Motivation

Page 6: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 7: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 8: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 9: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 10: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

10

Related Work (cont’d…)

Page 11: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 12: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

12

Methods (cont’d…)

Page 13: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 14: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

14

Methods (cont’d…)

Page 15: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 16: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 17: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

17

Methods (cont’d…)

Page 18: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 19: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 20: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

20

Point Rendering

Page 21: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

21

Oriented Point Sprite Rendering

Page 22: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 23: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 24: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

24

How does it look like ?

Page 25: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

25

Derived Flow attributes

Velocity Divergence Enstrophy 2

Page 26: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

26

Derived Flow attributes (contd…)

Page 27: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 28: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

28

Stream Lines

Page 29: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

29

Stream Ribbons

Page 30: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 31: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

03-28-2007 MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH

31

Evaluation (cont’d…)

Lets take a test drive !

Page 32: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 33: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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.

Page 34: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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?

Page 35: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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

Page 36: 03-28-2007MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 A Particle System for Interactive Visualization of 3D Flows Jens Krüger Peter Kipfer

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 ?