|
SMARTSHADER™
Treasure Chest Demo
The
RADEON 8500 SMARTSHADER™
Treasure Chest demo was used in the 1.4 Pixel
Shader presentation at the Microsoft Meltdown
developer events in Seattle, London and Tokyo.
This demo uses single-pass rendering for all
polygons in the scene, illustrating a variety
of shading techniques which are only possible
with the 1.4 Pixel Shader support unique to the
RADEON 8500.
 |
 |
 |
|
Diffuse Bump
Mapping (floor and wood) and Bumped Cubic
Environment Mapping (metal) |
Brushed metal
chalice done with anisotropic lighting
and bump mapping |
Bumped Cubic
Environment Mapping |
 |
 |
 |
|
Ghost Shader |
Four per-pixel
lights in one pass |
Real-time
per-pixel reflection and refraction |
1.4 Pixel Shader
Demo Movies from Tokyo Meltdown
- Four movies of the demo taken during the Tokyo
Meltdown presentation are available from VMag
Online
Waterfall Demo
The RADEON 8500 Waterfall Demo shows off two
different water effects:
 |
|
|
Waterfall
Particle System drawn with Point Sprite
Primitives
|
Dynamic
Reflection and Refraction Mapping
|
Particle System Rendered
with Point Sprites
The
spray from the waterfall is rendered with 4,000
point sprite primitives per frame (plus an additional
4,000 for the reflection of the waterfall in the
river). Point Sprites, are a new feature
exposed in DirectX 8.0 and fully supported by
the RADEON 8500. Point Sprites are designed
to be drawn in large numbers like this to simulate
particle phenomena like mist, fire, sparks or
dust. This particular scene was inspired
by the Santa
Clara Falls scene in the non-real-time
Flow animation by Gavin Miller.
The particles are emitted at the top of the falls
and their movements are calculated by the engine
every frame as they fall and bounce off of the
rocks in the scene.
Dynamic Projective
Reflection and Refraction Mapping
The
waves on the surface of the flowing river above
and below the waterfall are simulated using a
combination of a vertex shader (to generate the
large undulating waves) and a pixel shader (to
compute the dynamic reflection and refraction).
The dynamic reflection and refraction maps are
rendered every frame so that the reflected and
refracted light is accurate from the point of
view of the viewer and to capture any animation
in the scene (such as the swimming fish, which
also jump out of the water). The geometry
above the water (i.e. the part of the world that
you would see reflected in the water) is drawn
into a reflection map. The geometry beneath
the surface of the water, including the animated
fish, is drawn into a refraction map. In
the image below, the maps are drawn overlayed
on the final scene so that you can see what's
going on:
 |
|
Dynamic Reflection
and Refraction Maps (inset) |
In
the top left of the screen you see the reflection
map. Note that you can see the waterfall
spray upside down in this texture map. In
the top right of the screen you can see the geometry
beneath the water, including three of the animated
fish.
When
the surface of the water is drawn, a vertex shader
is used to simulate the large undulating waves.
For the smaller, more detailed waves, two separate
scrolling bump maps are composited to simulate
constructive and destructive interference of waves
on the surface of the water. This composite
bump map is then combined with the ray from the
eye to index into the reflection and refraction
maps as they are projected onto the water geometry.
A Fresnel
term is also computed per-pixel to simulate
the property of water that makes it appear more
reflective the more edge-on it is viewed.
This water shader simulates refraction and reflection
in real-time with unprecedented accuracy and is
simply not possible without 1.4 pixel shaders.
Wet Rocks
One last touch in this demo
is the shader that is used on the rocks on the
edges and in the middle of the river:
|

|
|
Wet Rock Shader |
On
the left edge of the river, you can see the specular
(shiny) reflections off of the rocks near the
surface of the water. This uses a specular
bump map to give just that little added touch
of realism by making the rocks appear slick and
wet.
More Screenshots
  
  
  
|