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.

Slides:



Advertisements
Similar presentations
Integrating 3D Geodata in Service-Based Visualization Systems Jan Klimke, Dieter Hildebrandt, Benjamin Hagedorn, and Jürgen Döllner Computer Graphics Systems.
Advertisements

ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Image Space Based Visualization of Unsteady Flow on Surfaces Robert Laramee Bruno Jobard Helwig Hauser Presenter: Bob Armstrong 24 January 2007.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Dealing with Computational Load in Multi-user Scalable City with OpenCL Assets and Dynamics Computation for Virtual Worlds.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
Particle Systems GPU Graphics. Sample Particle System Fire and SmokeWater.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
Combined Lagrangian-Eulerian Approach for Accurate Advection Toshiya HACHISUKA The University of Tokyo Introduction Grid-based fluid.
ATI GPUs and Graphics APIs Mark Segal. ATI Hardware X1K series 8 SIMD vertex engines, 16 SIMD fragment (pixel) engines 3-component vector + scalar ALUs.
Paper by Alexander Keller
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
An approach for solving the Helmholtz Equation on heterogeneous platforms An approach for solving the Helmholtz Equation on heterogeneous platforms G.
Enhancing GPU for Scientific Computing Some thoughts.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA Developer Technology.
Computer Graphics Graphics Hardware
Invitation to Computer Science 5th Edition
CDS 301 Fall, 2009 Vector Visualization Chap. 6 October 7, 2009 Jie Zhang Copyright ©
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Cg Programming Mapping Computational Concepts to GPUs.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 1 Interactive Chesapeake Bay Simulation Jessica R. Crouch Yuzhong Shen Jay A. Austin.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Design and Implementation of Geometric and Texture-Based Flow Visualization Techniques Robert S. Laramee Markus Hadwiger Helwig Hauser.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Fateme Hajikarami Spring  What is GPGPU ? ◦ General-Purpose computing on a Graphics Processing Unit ◦ Using graphic hardware for non-graphic computations.
Linear Algebra Operators for GPU Implementation of Numerical Algorithms J. Krüger R. Westermann computer graphics & visualization Technical University.
Geometry processing on GPUs Jens Krüger Technische Universität München.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Mapping Computational Concepts to GPUs Mark Harris NVIDIA.
Dynamic Geometry Displacement Jens Krüger Technische Universität München.
Ray Tracing by GPU Ming Ouhyoung. Outline Introduction Graphics Hardware Streaming Ray Tracing Discussion.
Hierarchical Systolic Array Design for Full-Search Block Matching Motion Estimation Noam Gur Arie,August 2005.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
An Introduction to the Cg Shading Language Marco Leon Brandeis University Computer Science Department.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Martin Kruliš by Martin Kruliš (v1.0)1.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Graphics Processing Unit
Introduction to OpenGL
Chapter 6 GPU, Shaders, and Shading Languages
The Graphics Rendering Pipeline
Computer Graphics Graphics Hardware
Computer Graphics Lecture 15.
Ray Tracing on Programmable Graphics Hardware
RADEON™ 9700 Architecture and 3D Performance
Introduction to OpenGL
Presentation transcript:

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA 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:

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.

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.

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.

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 5 Motivation

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.

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.

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.

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.

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 10 Related Work (cont’d…)

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.

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 12 Methods (cont’d…)

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

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 14 Methods (cont’d…)

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

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 16 Methods (cont’d…) GPU particle engine for flow viz is implemented in Cg

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 17 Methods (cont’d…)

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.

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

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 20 Point Rendering

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 21 Oriented Point Sprite Rendering

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.

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

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 24 How does it look like ?

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 25 Derived Flow attributes Velocity Divergence Enstrophy 2

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 26 Derived Flow attributes (contd…)

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.

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 28 Stream Lines

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 29 Stream Ribbons

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.

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 31 Evaluation (cont’d…) Lets take a test drive !

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.

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.

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?

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

MSIM 842 VISUALIZATION II INSTRUCTOR: JESSICA R. CROUCH 36 Questions (cont’d…) Could their implementation be easily extended to non-uniform grids ?