SkyWorks
SIMULATION OF NATURAL PHENOMENA USING GRAPHICS HARDWARE
Project Overview: We use programmable graphics hardware for real-time visual simulation of diverse dynamic phenomena. The simulations we implement use an extension of cellular automata known as the coupled map lattice (CML).

Project Members: Mark Harris, Greg Coombe, Thorsten Scheuermann, and Anselmo Lastra

OpenGL Logo One approach to simulating natural phenomena is to solve equations that describe their global behavior. Coupled map lattice models, instead of solving for the global behavior of a phenomenon, model the behavior by a number of very simple local operations. When aggregated, these local operations produce a visually accurate approximation to the desired global behavior.

A coupled map lattice is a mapping of continuous dynamic state values to nodes on a lattice that interact (are ‘coupled’) with a set of other nodes in the lattice according to specified rules. Coupled map lattices were developed by Kunihiko Kaneko for the purpose of studying spatio-temporal dynamics and chaos. Since their introduction, CML techniques have been used extensively in the fields of physics and mathematics for the simulation of a variety of phenomena, including boiling, convection, cloud formation, chemical reaction-diffusion, and the formation of sand ripples and dunes.

Graphics hardware is an efficient processor of images – it can use texture images as input, and outputs images via rendering. Images – arrays of values – map well to state values on a lattice. Two-dimensional lattices can be represented by 2D textures, and 3D lattices by 3D textures or collections of 2D textures. This natural correspondence, combined with the increasing programmability and performance of graphics hardware, motivated our research.

In our implementation we store the lattice values in textures, and use pixel-level programming to implement simple next-state computations on lattice nodes and their neighbors. We apply these computations successively to produce interactive visual simulations of convection, reaction-diffusion, and boiling. The simulations run on NVIDIA GeForce 3 and 4 GPUs. For details of implementation and performance, see the publications section.

We have designed and built an interactive framework, “CMLlab”, for constructing and experimenting with CML simulations. The user constructs a simulation from a set of operations, such as diffusion and advection. Each operation processes a set of input textures and produces a single output texture. The user connects the outputs and inputs of the selected operations into a directed acyclic graph. An iteration of the simulation consists of traversing the graph in depth-first fashion so that each operation is performed in order. The state textures resulting from an iteration are used as input state for the next iteration, and for displaying the simulated system. The results of intermediate passes in a simulation iteration can be displayed to the user in place of the result textures. This is useful for visually debugging the operation of a new simulation.

  • Physically-Based Visual Simulation on Graphics Hardware. Mark J. Harris, Greg Coombe, Thorsten Scheuermann, and Anselmo Lastra. Proc. 2002 SIGGRAPH / Eurographics Workshop on Graphics Hardware 2002. [PDF]

    This paper received second place (by one point!) for the best paper award at at the 2002 Workshop on Graphics Hardware in Saarbrucken, Germany.

  • Analysis of Error in a CML Diffusion Operation. Mark J. Harris. UNC Technical Report #TR02-015. 2002. [PDF]
  • Implementation of a CML Boiling Simulation using Graphics Hardware. Mark J. Harris. UNC Technical Report #TR02-016. 2002. [PDF]
  • Physically-Based Visual Simulation on Graphics Hardware.
    Slides from 2002 Workshop on Graphics Hardware talk.

    • Original powerpoint files with flash animations: [ZIP]
    • Original slides converted to PDF, no animations: [ZIP]

Note: these videos are encoded using DIVX 5.0. To view them, you may need to download the codec from www.divx.com.

These demos require an NVIDIA GeForce 3 or higher graphics card to run.

This work is funded in part by NVIDIA Corporation and the United States National Institutes of Health, Office of Naval Research, Department of Energy ASCI program, and National Science Foundation.


Mark Harris Page
Copyright 2002 Mark J. Harris