|
|

Last Updated:
10
/
02
/
2008
Real-time Character Rendering and Animation
At the heart of a great game are great characters. NVIDIA has consistently
pioneered great character animation in our sample codes, demo programs, and assistance
to game developers worldwide.
Skin |
Hair |
Clothing |
Animation
- From NVIDIA Graphics SDK 9.52:
- Raytraced Refraction
- This eyeball shader presents a method for adding high-quality
details to small objects using a single-bounce ray traced pass.
In this example, the polygonal surface is sampled and a
refraction vector is calculated. This vector is then
intersected with a plane that is defined as being perpendicular
to the object's X axis. The intersection point is calculated
and used as texture indices for a painted Iris.
- The sample permits varying the index of refraction, the depth
and density of the lens. Note that the choice of geometry is
arbitrary -- this entry is a sphere, but any polygonal model
can be used.
- From NVISION08:
- Life on the
Bleeding Edge:
More Secrets of the NVIDIA Demo Team
- Covers the complete development of characters and effects, from concept
art until final 3D code, for the
NVIDIA
"Medusa" Demo.
- From GDC 2008:
- Advanced Skin Rendering in NVIDIA's Human Head Demo (Video)
- Rendering realistic human skin represents one of the toughest
challenges in computer graphics. In this session, attendees
will learn about an extremely realistic, physically-based
real-time skin shader that is easy to implement and highly
scalable for optimal performance.
- From SIGGRAPH 2007:
- Advanced Skin Rendering (Powerpoint)
(Related PDF from GDC 2007)
- NVIDIA's Demo Team will do an overview of its advanced skin
rendering techniques as seen in the Human
Head demo. The demo engineers will discuss a highly
realistic, physically based real-time skin shader that is easy
to implement and highly scalable to meet the performance needs
of your application. The skin rendering technique is explained
in detail in GPU Gems 3.
- Ogres and Fairies: Secrets of the NVIDIA Demo Team
- GDC 2003 Presentation sharing insights into how the Dawn, Ogre,
Time Machine, and Toys demos were created by the NVIDIA Demo
Team.
- GPU Gems online:
- Skin
in the "Dawn" Demo
- Fire
in the "Vulcan" Demo
- Cinematic Lighting
- VirtualCinematography.ORG
- Texture-Space Diffusion, as using in NVIDIA's advanced skin shading
samples, was pioneered by George Borshukov. This is his personal
site containing numerous excellent examples.
- Softimage Face Robot
Softimage/Avid
- Face Robot is Softimage's facial animation system -- Softimage has
implemented a version of texture-space diffusion towork directly
within this tool.
- From NVIDIA Graphics SDK 10.5:
- Fur - Shells and Fins (Whitepaper)
- This sample demonstrates a simple way of rendering fur using
the shells and fins technique. The geometry shader is used for
creating the geometry for fins on silhouette and near
silhouette edges.
- From NVISION08:
- Beautiful
Women of the Future
- Beautiful men and women from the future are arriving on your PC. This presentation
covers the role and promise of realtime 3D characters, specifics of technique
in rendering, animation, shadowing, and includes dozens of top-notch samples
created by today's best character artists.
- Presentations from SIGGRAPH 2008:
- Real Time
Hair Simulation and Renderng on the GPU (Video)
(Related Japanese
Presentation)
- Two separate SIGGRAPH presentations cover a variety of hair topics:
Real-time Hair Rendering on the GPU
Simulating and rendering realistic hair with tens of thousands of
strands is something that until recently was prohibitively
expensive for real-time use. In this session, we discuss how to
render realistic hair with high geometric complexity in
real-time on the GPU. Amongst cover topics including efficient
creation and rendering of high amounts of geometry for hair
(essential for creating realistic hair especially when in
motion), shading, self-shadowing, level of detail, and
important performance optimizations. We also talk about how to
use next-generation hardware tessellation to make creating and
rendering hair much more intuitive and efficient.
Let's Get Physical: Real Time Hair Simulation and Rendering on the GPU
Simulating and rendering realistic hair with tens of thousands of
strands is something that until recently was not possible in
real time. In this talk we present a method for simulating and
rendering realistic hair in real time using the power and
programmability of modern GPUs (Graphics Processing Units). Our
method utilizes new features of graphics hardware (including
Stream Output, Geometry Shader and Texture Buffers) that make
it possible for all simulation and rendering to be processed on
the GPU in an intuitive manner, with no need for CPU
intervention or read back. In addition, we propose fast new
algorithms for inter-hair collision, and collision detection
and resolution of interpolated hair.
- GPU Gems 2 online:
- Hair Animation
and Rendering in the Nalu Demo
- Adaptive Grouping and Subdivision for
Simulating Hair Dynamics
- Kelly Ward, Ming C. Lin, University of North Carolina at Chapel Hill. Presents
useful LOD schemes for hair animation.
- From NVIDIA Graphics SDK 10.5:
- 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:
- GPU Cloth (Whitepaper)
- This sample demonstrates how to use Shader Model 3.0 to
simulate and render cloth on the GPU. The cloth vertex
positions are computed through several pixel shaders and saved
into a texture. A vertex shader then reads these positions
using Vertex Texture Fetch (VTF) to render the cloth.
- Cloth Simulation with GLSL
- This example demonstrates a simple cloth simulation that
executes entirely on the GPU using fragment programs and
floating point buffers.
- Samples from NVIDIA Graphics SDK 10.5:
- Skinning with Dual Quaternions (Whitepaper)
- "Quaternion skinning" refers to a number of skinning animation
techniques that, in contrast to the standard skinning, use
quaternions rather than matrices. Such methods have been
developed with the purpose to eliminate well-known artifacts
inherent to the regular skinning, which uses matrices. This
sample demonstrates only one of those techniques, "dual
quaternion linear blending."
- Skinned Instancing (Whitepaper)
- This sample shows the use of instancing and vertex texture
fetch on the GeForce 8 Series to implement a crowd of GPU
animated characters, all independently animating but drawn with
a single draw call.
- Instanced Tessellation
- This example shows how to simulate tessellation using
instancing. Per patch tessellation levels are implemented as
described by Dyken et al in Semi-uniform Adaptive Patch
Tessellation.
- The example uses tessellation to render a displaced subdivision
surface rendered with a precomputed Bezier approximation to the
Catmull Clark surface. Control points of the bezier mesh are
computed using the algorithm by Loop and Schaefer in Approximating
Catmull-Clark Subdivision Surfaces with Bicubic
Patches.
- 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.
- GPUBlendShapes (Whitepaper)
- This paper presents two methods for computing Blend Shapes on
the GPU. The technique produces hybrid, blended meshes by
combining a large number of input meshes. GPU generations prior
to GeForce 8800 had to use the vertex attributes to send
additional data for blend shapes. Because of the limited amount
of available attributes, few simultaneous blend shapes meshes
were possible. The GeForce 8800 permits a large number of input
meshes, with no fixed limit.
- Samples from NVIDIA Graphics SDK 9.52:
- Improved Skinning
- This shader takes in a set of all the transformation matrices
that can affect a particular bone. Each bone also sends in a
list of matrices that affects it. There is then a simple loop
that for each vertex goes through each bone that affects that
given vertex and transforms it. This allows just one Cg program
to do the entire skinning for vertices affected by any number
of bones, instead of having one program for one bone, another
program for two bones, and so on.
- Matrix Palette Skin (Whitepaper)
- This SDK entry shows an implementation of matrix palette
skinning, using a vertex shader to animate a bone based
model.
- From SIGGRAPH 2008:
- Next-Generation
Hardware Rendering of Displaced Subdivision Surfaces
- In this talk we provide an overview of the next-generation
tessellation pipeline and its motivation. Our focus is on one
of the primary applications: rendering of displaced subdivision
surfaces, which dramatically increases the realism of animated
characters. We also show how to adapt your production pipelines
in order to create compelling content that takes advantage of
this innovative rendering model.
- From SIGGRAPH 2007:
- GPU Gems 3 Showcase: Playable Universal
Capture (External)
- This overview will discuss and demonstrate the real-time
implementation of Universal Capture - a facial capture approach
that delivers unmatched animation fidelity while offering
flexibility to create unique visuals. The technique has
progressed from its film applications (The Matrix movies) to
fully interactive (E3 2006 Tiger Woods Demo), ultimately being
used for animating facial performances in the video games Tiger
Woods PGA Tour 07 and Need for Speed: Carbon. The "Playable
Universal Capture" technique by George Borshukov, Jefferson
Montgomery and John Hable from Electronic Arts is described in
GPU Gems 3.
- Ogres and Fairies: Secrets of the NVIDIA Demo Team
- GDC 2003 Presentation sharing insights into how the Dawn, Ogre,
Time Machine, and Toys demos were created by the NVIDIA Demo
Team.
- GPU Gems online:
- Animation
in the "Dawn" Demo
- Softimage Face Robot
- Face Robot is Softimage's facial animation system -- Softimage has
implemented a version of texture-space diffusion towork directly
within this tool.
Want to Learn More?
NVIDIA Documentation Home Page
|
|
  |