Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 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

3 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

4 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

5 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

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

7 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 8

9 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 9 CML Operations

10 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!)

11 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 11 Hardware Implementation

12 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)

13 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)

14 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

15 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

16 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

17 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

18 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)

19 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 …

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

21 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

22 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 22 For More Information http://www.cs.unc.edu/~harrism/cml Email harrism@cs.unc.edu

23 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL 23 Extra Slides

24 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.

25 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.

26 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

27 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.

28 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.

29 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.

30 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).

31 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.

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

33 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

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

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

36 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]

37 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 polygons @ 30Hz) SGI RE2 RE1 Megatek 8688909294969800 10 4 5 6 7 8 9 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


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

Similar presentations


Ads by Google