A New Dawn
In 2002, NVIDIA released a demo called Dawn to demonstrate the power and programmability of GeForce FX. It showcased a fairy character of extraordinary detail, seamless curves, and lifelike expressions. Among the many technology demos NVIDIA has released before and since, Dawn has remained the most memorable. It was the first time a fully animated and totally credible character was brought to life in real time. Even today, many games have yet to realize a character with Dawn's level of detail.
Fast forward ten years, and NVIDIA has brought back Dawn once again, in a demo simply titled "A New Dawn." A New Dawn is designed to showcase the graphical possibilities on the latest generation of Kepler based GPUs.
The original Dawn demo had many merits, but due to the limitations of hardware at the time, it also took many short cuts. One of the most obvious was the fact that Dawn didn't really have a home. Fairies, as we all know, live in the depth of mysterious forests, but for Dawn, her home was a giant glowing cube map—a six-sided texture that represented the environment around her. She had no trees to climb, no bees or butterflies to play with. She was a very lonely fairy.
Ten years later, at last Dawn has found a new home. In A New Dawn, the demo starts not with the main character, but with a sweeping overview of a lush rainforest. Ferns gently sway in the moonlight, vines sprawl across an ancient tree, and budding flowers cast a gentle glow on the surrounding bark. As our character comes into view, we find her swinging on a vine in her new tree home. The tree is rendered to the finest level of detail using DirectX 11 tessellation. At its peak, over four million triangles are used to showcase Dawn's environment.
Another area of dramatic improvement is Dawn’s hair. The original Dawn had individual hair strands, but they were few and far between. A mere 1,700 adorned her head and the shader only modeled for specular reflections. The original Dawn also used a rock hard hairspray to ensure her hair never budged a millimeter; all the GPU's horsepower was directed at rendering her character as realistically as possible. New Dawn’s hair is a giant leap forward. Thanks to DirectX 11 tessellation, she has gone from a scant 1,700 strands to 40,000 soft locks of hair. Advanced shading allows her beautiful hair to move out of the jet-black color scheme. While still a brunette, you’ll see her hair gently flowing in the wind, reflecting and transmitting light from the environment.
Because hair is so thin, aliasing is a major problem. Traditional antialiasing doesn't work well here, as a strand is often smaller than a pixel and may not be picked up by any of the four-or-so sample points. To alleviate this problem, A New Dawn has a special hair smoothing shader that inspects each strand and blurs them in the combing direction. The final result looks soft and silky, as if she just jumped out of the shower after an extensive conditioner routine. Dawn's skin has also received a complete overhaul. Human skin is one of the trickiest materials to simulate. Unlike a concrete object that only absorbs or transmits light, human skin is more akin to a block of jelly; light enters, jiggles around in multiple layers of skin and flesh, and exits in a new direction. The technique used to simulate this complex series of interactions is called sub-surface scattering.
The original Dawn demo used a very simple but effective technique to simulate one aspect of skin shading called rim lighting. It worked by isolating the silhouette of the character and letting light from behind the character bleed through, giving an illusion of translucent skin. This worked well for the silhouette when exposed to strong light, but was less convincing for other portions of the character.
A New Dawn uses a complex but efficient sub-surface scattering shader, first pioneered with the Luna demo introduced with the GeForce 7800 GTX. To smartly manage workload, the new skin shader dynamically selects the number of samples to filter, depending on how visible the surface is. Detail maps are used to capture fine hairs, bumps, and skin imperfections. Four independent textures describe the oil content of the skin.
Dawn's new skin is not immediately striking and that, in fact, is its greatest strength. It doesn't appear too glossy or too matte. It's doesn't glow visibly. It interacts subtly with the three lanterns that light her world. The skin doesn't draw attention to itself mostly because it actually looks right.
A New Dawn has also been fitted with the latest in post-processing and film-based rendering techniques. Depth-of-field effects are computed via a variable size bokeh filter simulating a virtual lens of six aperture blades. This produces smooth out of focus areas and hexagonal shaped highlights. Light blooms and sparkling fairy dust are rendered using filmic tone mapping, giving them a magical glow on the screen. Finally, high-quality FXAA is employed to stamp out unwanted jaggies.
The original Dawn demo was the first to show a fully credible, 3D character in real time. The Nalu demo added detailed, physically simulated hair. The Adrianne Curry demo pushed the limits of realism in skin shading. A New Dawn demo is a synthesis of all of these demos, as well as over a decade of techniques and advancement made in the realm of realtime 3D graphics. It may not look ten times as good as the original, but from the perspective of a game developer, it's actually a lot more feasible to implement. There are no unreasonable tradeoffs, such as eliminating the environment and putting the GPU to work on a single character. The new Dawn lives in a world as rich and complex as herself. Let's hope games catch up to her real soon.
|Dawn||A New Dawn|
|Environment||Environment cube map||Full 3D environment with undergrowth, trees and living vines|
|Environment Complexity||7,000 triangles||4 million triangles|
Rim based lighting
Skin oil reflectance maps
Multi-Layered Subsurface scattering
|Hair||1,700 strands, static||40,000 tessellated strands, physically animated|
|Lighting||Environment-based lighting||Environment-based lighting|
Local dynamic lights
|Shadows||None||Perspective shadow maps|
Screen space ambient occlusion
|Post Processing||None||Depth-of-field rendering|
Hexagonal bokeh filter
Filmic post processing
|Default Resolution||1024 x 768||1920 x 1080|
|Target Hardware||GeForce FX 5800 Ultra||GeForce GTX 670 SLI|