|
Features

Event Wrap-Up:
SIGGRAPH 2004
Physics
Simulation
Real-time
physical simulation has become a must-have feature for new games.
It is an area in which we have historically been told that it takes
an expert to stabilize numerical integration, and been advised to
stick with middleware solutions like Havok. Last year, Guendelman
et al. showed that plausible simulation is still a young field
where simple insights can make suddenly change all the rules. They
showed that inverting the typical order of operations in simulation
can make it both easier to implement and extremely stable. This
year offers two new ideas that might have similar impact.
Rigid
Fluid simulation solves the Navier-Stokes fluid equations over
everything in the scene including solids, and then enforces
rigid body constraints. This allows fluids to move rigid bodies,
and the bodies to push back for the first time. Although the results
presented in the paper are not real-time, this method could probably
be adapted for game simulation using a coarse fluid grid and GPU
simulation techniques. Check out the pre-SIGGRAPH General
Purpose Computing on Graphics Processors conference to see just
how well GPUs can simulate fluids and particle systems.
The
authors of
A Virtual Node Algorithm for Changing Mesh Topology During Simulation
solve a different problem: allowing deformation in fracture when
simulating with coarser meshes than those used for rendering. They
achieve this by embedding the mesh in a tetrahedral grid and duplicating
instead of subdividing tetrahedra upon fracture. Simulation in games
often uses such low-resolution meshes, and, combined with 3D textures,
this approach may be useful for creating breakable environments.
Hardware
Talks
In
addition to the pure graphics research discussed at SIGGRAPH, ATI
and NVIDIA
each gave a number of presentations on how to get the most from
graphics hardware. These combined material previously seen at the
Game Developer's Conference with a few new nuggets and information
on their new shader analysis suites.
One
particularly valuable new idea from these was ATI's transparent
shadow map method from the Ruby: The Double Cross demo. Shadow
algorithms generally assume a single depth is visible for each pixel
and don't work well with transparent objects because they violate
that assumption. The Ruby team proposes a
new kind of shadow map that stores distance from the light source
to an opaque surface in the alpha channel and the blended RGB values
from transparent objects between the light and that surface in the
color channels. The color channel is white where there are transparent
objects in front of the light. As with regular shadow mapping, the
pixel shader for the visible scene provides no illumination when
a surface is farther from the light than the shadow caster. The
new twist is that the illumination at points closer to the light
is modulated by the RGB value in the shadow map. This makes the
transparent surface appear darker than it should but casts correct
translucent shadows on opaque objects. When there are multiple transparent
surfaces they are colored incorrectly but the error is likely to
go unnoticed in many cases.
DirectX
and OpenGL
The
state of the DirectX and OpenGL APIs were also discussed in some
detail at SIGGRAPH. Microsoft is following Apple's lead and moving
all 2D windowing and rendering to 3D acceleration in the new Windows
Graphics Foundation (WGF). This will be the end of the GDI interface
and a significant new step for making DirectX both more powerful
and more reliable, since many functions will be moved out of the
kernel. This also means that DirectX will begin to require multi-tasking
at the GPU level since multiple applications will be rendering simultaneously.
Like
OpenGL, the new DirectX will also require implementation of a core
feature set -- no more capabilities bits and multiple render paths.
The programmable GPU model is being extended in several ways. First,
pixel and vertex shaders will operate under a unified instruction
set model. Dual vertex shaders will allow programmable access to
vertices both before and after curve tessellation, and a new Geometry
shader will be introduced. The Geometry shader receives an entire
post-vertex shader triangle and may alter it in unconstrained ways,
including subdivision and killing the entire triangle. These new
features make several pieces of the fixed function pipeline obsolete
and Microsoft is taking this opportunity to clean house. Expect
dinosaurs like triangle fans, point sprites, vertex lighting, and
fog to go away soon. Newer cards don't have dedicated silicon for
these anyway; they emulate them with the programmable pipeline.
OpenGL
is evolving more slowly, although we can probably expect vendors
to release GL extensions for the geometry shader and other features
before WGF actually ships. The new OpenGL functionality available
this summer is mostly catch-up work against DirectX 9.0.
The
ARB_texture_non_power_of_two extension allows normal [0, 1] indexing
and MIP-maps for textures with arbitrary dimensions. ARB_mirrored_repeat
is a new wrapping mode that provides four-fold symmetry for textures
and ATI_texture_float is a straightforward floating-point texture
format. Programmers hate the convoluted, platform-specific p-buffer
APIs needed for rendering to texture under OpenGL (John Carmack
has even said that he almost switched to DirectX just to get away
from p-buffers on Doom 3). The new EXT_framebuffer_object
and EXT_pixel_buffer_object provide long over-due relief in the
form of a vendor and platform independent off-screen rendering API.
One use for p-buffers is shadow map rendering, which is getting
another a big boost as well. OpenGL shadow maps now perform percentage-closer
filtering automatically for nicely filtered soft shadows and both
ATI and NVIDIA's SM3 cards provide depth-only shadow rendering at
twice the speed of visible surface rendering.
With
regard to OpenGL extensions, NVIDIA is to be commended for supporting
a number of "ATI_" extensions in their newest drivers
and pushing a number of new features into OpenGL as "EXT_"
extensions. Vendors have traditionally proposed competing but equivalent
OpenGL extensions that just force OpenGL developers to implement
features twice. Since extensions are the key that unlocks the advanced
features of new graphics cards and consumers don't see the extension
names, agreement on common extensions is good for everyone. Developers
are more likely to use features that require only one code path.
Vendors sell hardware based on the number and quality of features
they provide, not behind the scenes IP issues. In the end, consumers
want fast cards and good games, and common extensions help produce
them.
Although
nothing has been formally announced for the APIs, expect to see
some new image formats available in both DirectX and OpenGL soon.
Likely candidates are OpenEXR
for high dynamic range and ATI's 3Dc format for 4:1 compressed normal
maps.
3D
Displays
Finally,
the formerly novelty area of 3D displays got some serious attention
at SIGGRAPH. Remember when R2-D2 projects a holographic image of
Princess Leia at the beginning of Star Wars? The image can
be seen (in the world of the movie) simultaneously by multiple viewers,
without special glasses, and appears in front of the physical display.
While the underlying technology is different from what Lucas envisioned,
the experience of today's 3D displays is remarkably similar to what
was once only science fiction. A variety of 3D displays are about
to hit the consumer and professional markets.
Game
developers need to be aware of them for three reasons. Artists may
benefit from the enhanced shape perception provided by these displays,
which already support popular tools like 3D Studio Max and Maya.
Arcades and handhelds have faster technology turnover than PCs and
consoles, so developers should immediately consider supporting 3D
displays that may be deployed in those markets as early as next
year. Most of these displays can be configured to create true 3D
images from applications intended only for traditional displays.
They do this either by intercepting all rendering calls and executing
them multiple times with slightly different projection matrices
or by reading the depth buffer to determine the 3D location of each
pixel. Developers can easily future-proof their titles without explicitly
supporting 3D displays by ensuring that they render scenes in ways
that are compatible with these tricks. NVIDIA has added an entire
chapter to their GPU
Programming Guide on supporting these stereoscopic retrofitting
methods.
To
make their output appear to actually inhabit 3D space, most of the
new displays use a traditional LCD monitor behind either a parallax
barrier or a lenticular screen. For each, the application renders
stereo views. These are then horizontally interlaced so that odd
columns of pixels correspond to the left eye and even ones to the
right eye. A parallax barrier is like a fence with one-pixel gaps
between the fence posts, set slightly in front of the LCD screen.
When the viewer's head is within the display's "sweet spot",
only the odd columns are visible through the gaps to the left eye;
the posts block the even columns completely. The opposite is true
for the right eye. The viewer thus sees two separate images as if
they were wearing red/green or shutter glasses, but the image is
in true color and at the full refresh rate of the display. A lenticular
screen instead directs different columns to each eye using one-pixel
wide cylindrical lenses. You've seen the effect before as a gimmick
on airport billboards, stickers, and CD covers. In those cases,
instead of 3D views, they often display separate frames of an animation.
Two views gives a small sweet spot. If the viewer moves more than
a few centimeters the effect breaks down and may appear to have
inverted depth, moiré, and diffraction patterns. To make
the sweet spot large enough for a single viewer to move comfortably
and for multiple people to share a display, four, eight or sixteen
views can be rendered. This also creates a parallax effect so that
by moving their head, the viewer can look behind objects. Because
they divide the pixels of a single monitor over multiple views,
both barrier and lenticular displays have intensity and resolution
divided by the number of views, which makes them dim and pixilated
compared to 2D displays.
Sharp
was the first to reach consumers with a mass market 3D display --
their two-view barrier display cell phone is already available in
Japan and the 15-inch LL-151-3D LCD will soon be appearing on laptops
and PC's. Sanyo's TM080SV-3D is an 8-inch LCD barrier display with
four views, each at 600x200 resolution. It is much brighter and
sharper than Sharp's entry. Viewing cartoony games that appear to
stand out of the tiny display immediately immediately makes one
think of Nintendo-hopefully the next handheld after the DS will
have a 3D display as good as this one.
X3D
takes the displays to the next level and is the minimum for what
you would want on your desktop. Their eight view barrier displays
are now available from 4-inch to 50-inch, with the 17-inch priced
at a very affordable $1,500. The company is aware that content availability
is the key to launching their displays. They provides the X3D OpenGL
Enhancer automatically renders eight views for normal OpenGL programs
and Vice President of Content Services Ken
Hubbell is actively seeking game developers to establish partnerships
and build in native support for the displays. They are also developing
technology to automatically convert console games to work with 3D
televisions. X3D's displays are bright, sharp, and large (if low
resolution), and will be appearing in casino and arcade machines
and as digital signage in a few months.
Ampronix
Inc. is one of the few companies pursuing lenticular technology.
They show two 800x1200 views on their $4,000 20-inch display. Because
Ampronix only provides stereo output, it works with any regular
stereo card and is a drop-in replacement for shutter glasses. The
downside of this display is horrible flicker and diffraction if
the viewer's head isn't within 2.5 cm of the ideal position.
Kodak
has a unique technology in which viewers look through a spherical
lens that merges stereo 1280x1024 images, the highest resolution
available on any 3D display. It is targeted at CAD users and carries
a price tag in the tens of thousands of dollars. The major drawbacks
of this display are the huge footprint (similar to a washing machine)
and that it requires the user to place his head against a very small
window to precisely match the tiny sweet spot of the unusual lens.
Lightspace
Technologies has the DepthCube Z1024, the only display where
the viewer actually focuses at different depths, and by far the
brightest on the show floor. Their unique technology has a rear
projector that illuminates a stack of 20 screens inside a cube.
The individual screens can be toggled between opaque and transparent.
An extremely high frame rate projector paints separate images at
the 20 different depths in the time a conventional display paints
a single 2D image. This means that the object seen is really 3D,
with parallax, perspective foreshortening, and ocular convergence.
Combined with an effectively unlimited sweet spot, this display
likely produces less fatigue and a more subtly compelling sense
of depth. The downsides are 15-bit color (displaying a real 3D image
requires huge bandwidth), CRT-size footprint, and depth shadows.
These depth shadows appear as black outlines on objects when viewed
off-axis (as if wearing a head lamp). Also, the price is prohibitive
at tens of thousands of dollars. Because of this, the company is
not considering the consumer or art workstation markets but is focusing
on scientific visualization, security, and engineering markets.
SIGGRAPH
- Roll on 2005!
Overall,
this year's SIGGRAPH was both interesting and thought-provoking.
You can download the complete SIGGRAPH Proceedings from the ACM
Digital Library or read collected
preprints on the web for free.
SIGGRAPH
returns to the Los Angeles Convention center July 31, 2005 and will
be in Boston in 2006. The papers submission deadline is January
26, 2005 -- consider not just attending but also submitting your
work. Although full papers require time and detailed disclosures
that are not appropriate for many game developers, sketches, posters,
and the animation festival are great venues to advertise your new
title and get credit for your innovation.
______________________________________________________
|