The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Physically-Based Visual Simulation on Graphics Hardware Mark J. Harris Greg Coombe Thorsten Scheuermann.

Slides:



Advertisements
Similar presentations
ENV 2006 CS4.1 Envisioning Information: Case Study 4 Focus and Context for Volume Visualization.
Advertisements

Physically-Based Simulation on the GPU Mark HarrisNVIDIA Developer Technology.
Exploration of advanced lighting and shading techniques
Michael I. Gold NVIDIA Corporation
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
The Programmable Graphics Hardware Pipeline Doug James Asst. Professor CS & Robotics.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
Modified from: A Survey of General-Purpose Computation on Graphics Hardware John Owens University of California, Davis David Luebke University of Virginia.
Morphing and Animation GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from articles taken from ShaderX 3, 4 and 5 And GPU Gems 1.
Fur and hair are not typically uniform in color but instead are many slightly different shades. We wanted to simulate this using a single texture map.
(conventional Cartesian reference system)
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
The FFT on a GPU Graphics Hardware 2003 July 27, 2003 Kenneth MorelandEdward Angel Sandia National LabsU. of New Mexico Sandia is a multiprogram laboratory.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
IAT 3551 Computer Graphics Overview Color Displays Drawing Pipeline.
Hardware-Based Nonlinear Filtering and Segmentation using High-Level Shading Languages I. Viola, A. Kanitsar, M. E. Gröller Institute of Computer Graphics.
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.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
Adaptive Cloud Simulation Using Position Based Fluids
Fluid Simulation using CUDA Thomas Wambold CS680: GPU Program Optimization August 31, 2011.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University.
Presentation by David Fong
What does the Future Hold? Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University.
Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Interactive Visualization of Volumetric Data on Consumer PC Hardware: Introduction Daniel Weiskopf Graphics Hardware Trends Faster development than Moore’s.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volume.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
Enhancing GPU for Scientific Computing Some thoughts.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Physically-Based Simulation on Graphics Hardware Mark J. Harris UNC Chapel Hill Greg James NVIDIA Corp.
Geometric Objects and Transformations. Coordinate systems rial.html.
GPU Shading and Rendering Shading Technology 8:30 Introduction (:30–Olano) 9:00 Direct3D 10 (:45–Blythe) Languages, Systems and Demos 10:30 RapidMind.
A Fast Simulation Method Using Overlapping Grids for Interactions between Smoke and Rigid Objects Yoshinori Dobashi (Hokkaido University) Tsuyoshi Yamamoto.
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.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS Textures.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
GPU-Accelerated Surface Denoising and Morphing with LBM Scheme Ye Zhao Kent State University, Ohio.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
What does the Future Hold? Hakim Weatherspoon CS 3410, Spring 2011 Computer Science Cornell University.
Introduction: Lattice Boltzmann Method for Non-fluid Applications Ye Zhao.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
May 8, 2007Farid Harhad and Alaa Shams CS7080 Overview of the GPU Architecture CS7080 Final Class Project Supervised by: Dr. Elias Khalaf By: Farid Harhad.
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.
Linear Algebra Operators for GPU Implementation of Numerical Algorithms J. Krüger R. Westermann computer graphics & visualization Technical University.
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
An Introduction to the Cg Shading Language Marco Leon Brandeis University Computer Science Department.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
From VIC (VRVS) to ViEVO (EVO) 3 years of experiences with developing of video application VIC for VRVS allowed us to develop a new video application.
GPU Architecture and Its Application
Chapter 1 An overview on Computer Graphics
Chapter 1 An overview on Computer Graphics
The Graphics Rendering Pipeline
CS5500 Computer Graphics April 17, 2006 CS5500 Computer Graphics
Kenneth Moreland Edward Angel Sandia National Labs U. of New Mexico
RADEON™ 9700 Architecture and 3D Performance
University of Virginia
Presentation transcript:

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Physically-Based Visual Simulation on Graphics Hardware Mark J. Harris Greg Coombe Thorsten Scheuermann Anselmo Lastra

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 2 More, Better, Faster Goal: Flexible, real-time visual simulation of diverse dynamic systems Further increase visual realism of interactive 3D applications Fluids, gases, fire, etc. Beyond canned texture animations

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 3 Visual Simulation? Goal is visual realism Ad hoc simulation methods can provide good visual results w/ less computation But not necessarily high numerical accuracy If the user is convinced, numbers aren’t so important

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 4 Coupled Map Lattice Mapping: Continuous state  lattice nodes Coupling: Nodes interact with each other to produce new state according to specified rules

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 5 Coupled Map Lattice CML introduced by Kaneko (1980s) Used CML to study spatio-temporal chaos Others adapted CML to physical simulation: Boiling [Yanagita 1992] Convection [Yanagita 1993] Clouds [Yanagita 1997; Miyazaki 2001] Chemical reaction-diffusion [Kapral ‘93] Saltation (sand ripples / dunes) [ Nishimori ‘93] And more

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 6 CML vs. CA CML extends cellular automata (CA) CACML SPACEDiscrete TIMEDiscrete STATEDiscreteContinuous

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 7 CML vs. CA Continuous state is more useful Discrete: physical quantities difficult Must filter over many nodes to get “real” values Continuous: physical quantities easy Real physical values at each node Temperature, velocity, concentration, etc.

8

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 9 CML Operations

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 10 Graphics Hardware Why use it? Speed: up to 25x speedup in our sims GPU perf. grows faster than CPU perf. Cheap: GeForce 4 Ti 4200 < $140 Load balancing in complex applications Why not use it? Low precision computation (not anymore!) Difficult to program (not for long!)

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 11 Hardware Implementation

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 12 CML Operations Implement operations as building blocks for use in multiple simulations Diffusion Buoyancy (2 types) Latent Heat Advection Viscosity / Pressure Gray-Scott Chemical Reaction Boundary Conditions User interaction (drawing) Transfer function (color gradient)

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 13 Results Implemented multiple simulations Boiling (2D and 3D) Rayleigh-Bénard Convection (2D) Reaction-diffusion (2D and 3D)

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 14 Boiling [Yanagita 1992] State = Temperature Three operations: Diffusion, buoyancy, latent heat 7 passes in 2D, 9 per 3D slice

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 15 Rayleigh-Bénard Convection [Yanagita & Kaneko 1993] State = temp. (scalar) + velocity (vector) Three operations (10 passes): Diffusion, advection, and viscosity / pressure

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 16 Reaction-Diffusion Gray-Scott reaction-diffusion model [Pearson 1993] State = two scalar chemical concentrations Simple: just diffusion and reaction ops 2 passes in 2D, 3 per 3D slice

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 17 Hardware Limitations Precision, precision, precision! 8 or 9 bits is far from enough Diffusion is very susceptible to precision problems All of our simulations use it! High dynamic range simulations are very susceptible Convection, reaction-diffusion Not boiling – relatively small range of values

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 18 Hardware Limitations 3D texturing It’s fast … unless you are doing dynamic texturing Copy to slice of 3D texture is slow We use a stack of 2D slices to represent 3D volume Not all 2D texture shaders have 3D analogs Fixed with general purpose fragment programs (NV30, ATI R300)

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 19 Future Work Explore simulation techniques / issues on graphics hardware Other PDE solution techniques More complex simulations Use of HLSL, next-gen hardware High dynamic range simulations Applications: Interactive environments, games Scientific Computation Dynamic painting / modeling applications Dynamic procedural texture synthesis Dynamic procedural model synthesis …

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 20 Conclusion GPUs are a capable, efficient, and flexible platform for physically-based visual simulation

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 21 Acknowledgements NVIDIA Developer Relations HWW Paper Reviewers Sponsors: NVIDIA Corporation US National Institutes of Health US Office of Naval Research US Department of Energy ASCI program US National Science Foundation

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 22 For More Information

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 23 Extra Slides

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 24 CML Philosophy Bottom-up approach. Don’t directly simulate macroscopic behavior: Perform simple, local, “microscopic” lattice operations.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 25 CML Philosophy Macroscopic behavior is aggregate of simple operations. e.g. Boiling simulation: 3 operations: diffusion, thermal buoyancy, latent heat.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 26 CML Operations Typically consist of four components: 1.Neighbor sampling 2.Computation on Neighbors 3.New state computation 4.State update

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 27 Neighbor Sampling Set a 1:1 mapping from pixels to texels: Set view port resolution to texture resolution. Use orthographic projection. To sample an immediate neighbor of each texel: Draw a single quad filling the view port. Set texture coordinates at corners to {(0,0), (0,1), (1,1), (1,0)} plus the offset to the neighbor. E.G. Offset to right is (w, 0), where is view space texel width.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 28 Neighbor Sampling Neighbor sampling is easy with vertex programs. Store table of offsets in vertex program memory. At run time, pass table index that represents the type of offset needed. Render a quad (with only a single set of base texcoords). Use vertex program to add offsets and generate texcoords for all texture units.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 29 Computation on Neighbors Use texture table lookups to compute arbitrary functions of sampled values. Dependent texturing using texture shaders.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 30 New State Computation Combine sampled values and computations to compute new state. Implemented on GeForce 3 using register combiners. Arithmetic: add, subtract, multiply, scale, bias and dot product. 8 cascaded register combiners + 1 “final” combiner. 9-bit signed arithmetic internally. 8-bit unsigned on output (can clamp or scale and bias).

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 31 State Update Store the newly computed state to texture. We use glCopyTexSubImage2D() Fast copy from frame buffer to texture memory. Render to texture OpenGL extension Will reduce cost, but still in development. Already available in Direct3D.

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 32 Common Operations Laplacian: Discrete form: Diffusion: c d is the diffusion coefficient

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 33 Common Operations Directional forces Buoyancy (used in convection simulation): Thermal buoyancy with phase change: Uses dependent texture to compute tanh T c is the boiling point

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 34 Boiling Simulation Performance 25x speedup

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 35 Interactive Framework CMLlab Framework for building and testing CML simulations

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 36 Real Applications Fast simulation integrated with 3D environments Virtual environment in HMD w/ head tracking WildMagic Game Engine [Eberly 2001]

The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 37 Graphics Hardware Performance Peak Perf. (  's/sec) Year HP CRX SGI Iris SGI GT HP VRX Stellar GS1000 SGI VGX HP TVRX SGI SkyWriter SGI E&S F300 One-pixel polygons (~10M 30Hz) SGI RE2 RE1 Megatek UNC Pxpl4 UNC Pxpl5 UNC/HP PixelFlow Flat shading Gouraud shading Antialiasing Slope ~2.4x/year (Moore's Law ~ 1.7x/year) SGI IR E&S Harmony SGI R-Monster Division VPX E&S Freedom Accel/VSIS Voodoo Glint Division Pxpl6 PC Graphics Textures SGI Cobalt Nvidia TNT Graph courtesy of Professor John Poulton GeForce 3 & Radeon 3DLabs