SLI Zone
NVIDIA.com Developer Home

Last Updated: 10 / 16 / 2008

Game Physics: Tools and Documentations from NVIDIA

Game Physics Documentation and Tools from NVIDIA

Fashions may come and go, but horsepower never goes out of style. The listings below cover some of NVIDIA's work on optimal performance tools, data amplication, and other techniques and techologies aimed at delivering the highest possible graphics and computing performance for developers.

Documentation | Tools

Documentation

From NVISION08:
SIGGRAPH 2008 Course: Real Time Physics
The slides linked here are from the introductory section of the complete Siggraph 2008 Class organized by Matthias Müller-Fischer of NVIDIA. Additional speakers included Doug James of Cornell University, Jos Stam of Autodesk, & Nils Thuerey of ETH Zurich. See Learn More below for further details.
Samples from NVIDIA Graphics SDK 10.5:
Smoke (Video)
This demo shows how to simulate and render real-time three dimensional smoke and Fire. Both simulation and rendering are made easier using DirectX 10's new render to 3D texture functionality. The Smoke and Fire also correctly interact with moving objects in thier path and composite seamlessly into the scene.
Deformable Bodies (Whitepaper)
This sample shows a full physical simulation of non-rigid deformable bodies on the GPU. Simulation, collision detection and response, and rendering are all done on the GPU.
Rain (Whitepaper)
This sample shows how to animate and render rain as a particle system entirely on the GPU. Stream out is used to animate the rain particles over time, and the geometry shader is used to extrude rain particles into quads at render time. Rain particles are realistically rendered using precomputed textures (indexed by light direction and viewing direction) which are stored in a texture array.
Cloth Simulation ( Whitepaper)
This sample demonstrates how to simulate cloth on the GPU using DirectX 10. The cloth vertex positions are computed in several rendering passes by looping through the vertex and geometry shader stages using the stream output stage to stream the positions out of the geometry stage.
Samples from NVIDIA Graphics SDK 9.52:
GPGPU Fluid ( Whitepaper)
This code sample demonstrates fast, realistic fluid dynamics simulation on the GPU. The sample solves the Navier-Stokes equations for incompressible fluid flow using a technique originally presented at SIGGRAPH 1999 by Jos Stam. The sample allows the user to draw arbitrary obstacles and flow viscous or inviscid fluid around them.
Vertex Texture Fetch Water (Whitepaper)
This sample demonstrates a technique for simulating and rendering water. The water is simulated via Verlet integration of the 2D wave equation using a pixel shader. The simulation result is used by a vertex shader via vertex texture fetch (VTF). The water surface is rendered by combining screen-space refraction and reflection textures.
Water Interaction (Whitepaper)
Render-to-texture is used to drive a procedural simulation of water. The water is rendered with a technique similar to environment mapped bump mapping (EMBM), but an enhancement allows the EMBM rotation matrix to vary per-vertex and fade the bumps out as distance to the viewer increases. This sample requires vertex and pixel shaders 1.1.
SLI Best Practices (Whitepaper)
This code sample demonstrates the proper way to detect SLI-configured systems, as well as how to achieve maximum performance benefit from SLI.
GPU Particles (Whitepaper by Lutz Latta)
This sample implements a large-scale particle system entirely on the GPU. The positions and velocities of each particle are stored in floating point textures. Fragment programs are used to update the velocities and positions of the particles by rendering to texture each time step. The particles also collide against a sphere object, and a terrain heightfield which is stored in a texture. If available, the multiple draw buffers extension (MRT) is used to update the position and velocities in a single pass. The particles are rendered as point sprites. The position texture is converted into a vertex array for rendering the particles using the vertex buffer and pixel buffer object extensions (VBO and PBO). On the GeForce 6800, this method can render a million particles at about 20 frames per second. This example is inspired by Lutz Latta's talk from GDC 2004, "Building a Million Particle System".
Cloth Simulation with GLSL
This example demonstrates a simple cloth simulation that executes entirely on the GPU using fragment programs and floating point buffers.
Blood Shader ( Whitepaper)
This entry presents a method by which to animate a viscous fluid across an arbitrary surface. Utilizing PS 2.0 and HLSL we are able to animate a fluid entirely on the GPU as it is affected by gravity and surface details.
Practical Perf. Analysis
An overview of the graphics tuning process (with video).
GPU Gems online:
Chapter 38. Fast Fluid Dynamics Simulation of the GPU
Chapter 42. Deformers

Physics Tools

nvidiadeveloper Twitterfeed
Popular References
Free Books Online