Docstoc

harris

Document Sample
harris Powered By Docstoc
					Physically-Based
Visual Simulation on
Graphics Hardware

               Mark J. Harris
               Greg Coombe
               Thorsten Scheuermann
               Anselmo Lastra

         The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
    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




2                  The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
    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




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




4                  The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
    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




5                        The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
    CML vs. CA
    CML extends cellular automata (CA)

                  CA                 CML
      SPACE     Discrete            Discrete

       TIME     Discrete            Discrete

      STATE     Discrete          Continuous


6                The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
    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.




7                      The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
8
    CML Operations




9             The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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!)


10                  The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Hardware Implementation




11            The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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)



12                       The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Results
      Implemented multiple simulations

        Boiling (2D and 3D)


        Rayleigh-Bénard Convection (2D)




        Reaction-diffusion (2D and 3D)

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




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




15                   The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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




16                    The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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



17                       The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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)




18                    The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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
        …

19                      The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Conclusion

     GPUs are a capable, efficient,
     and flexible platform for
     physically-based visual
     simulation




20                The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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


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




22                  The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Extra Slides




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




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




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




26                   The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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.




27                         The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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.


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




29                  The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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).

30                      The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     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.




31                       The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Common Operations
      Laplacian:                           2T  2T
                            2T ( x, y )  2  2 .
                                          x   y
      Discrete form:
               2Ti, j  Ti 1, j  Ti 1, j  Ti , j 1  Ti, j 1  4Ti, j
      Diffusion:
                                       cd 2
                           T  Ti , j   Ti , j .
                             '
                            i, j
                                       4
                           cd is the diffusion coefficient

32                         The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Common Operations
      Directional forces
        Buoyancy (used in convection simulation):
                       
            , y ( y)  vx, y ( y)  c2b [2Tx, y  Tx1, y  Tx1, y ].
          vx

        Thermal buoyancy with phase change:

          Tx, y  Tx , y   Tx , y [  (Tx , y 1 )   (Tx , y 1 )],
                            2

           (T )  tanh[ (T  Tc )],
        • Uses dependent texture to compute tanh
        • Tc is the boiling point

33                               The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
     Boiling Simulation Performance



                              25x speedup




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




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




36                 The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL
        Graphics Hardware
        Performance
              109                              One-pixel polygons (~10M polygons @ 30Hz)

                                                                                                                                     GeForce 3
                                                                                                                                     & Radeon
              108
                                                                                   UNC/HP PixelFlow
                                             Slope ~2.4x/year                                                         SGI
                                                                                                                    R-Monster
                                             (Moore's Law ~ 1.7x/year)                        SGI
     Peak
              107                                                                  Division
                                                                                               IR
                                                                                                      E&S
                                                                                                                 Nvidia TNT
                                                                                                              3DLabs
     Perf.                                                                                            Harmony             SGI
                                             UNC Pxpl5                             Pxpl6
                                                                                                                  Glint   Cobalt
     ('s/sec)                                SGI SkyWriter
                                                                                               Accel/VSIS
                                                                                                           Voodoo
              106                        SGI VGX               SGI                  Megatek
                                                               RE1                         E&S Freedom
                                     HP VRX         HP TVRX                  SGI                             PC Graphics
                         Flat                                                RE2
                                                                      E&S                     Division VPX
              105        shading              Stellar GS1000                   Textures
                                                                      F300
       UNC Pxpl4                    SGI GT
             HP CRX                            Gouraud               Antialiasing
                         SGI Iris              shading
              104
                    86              88             90            92                94            96            98               00
                                                                        Year


                                                               Graph courtesy of Professor John Poulton
37                                                       The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:21
posted:12/19/2011
language:
pages:37