|

Introduction:::...
I
want to tell you a story about a kind and gentle giant
known as NVIDIA. For years, the giant NVIDIA ruled
the land and was loved by the village folk who relied
on his power and his strength to work the fields and
build new homes so that they could all live long and
prosperous lives.
All
was well until one day, there came a new giant. This
new giant wasn't as strong as NVIDIA but what he couldn't
do with muscle he did with intellect. He couldn't
pull the plough himself so he built machinery that
not only ploughed as fast, it also ploughed straighter,
neater furrows. Nor could the new giant build the
houses as fast because he couldn't carry the stone
the way NVIDIA always had, so he developed new. lighter
materials that made the houses warmer and stronger,
and best of all they looked better too!
NVIDIA
felt humiliated and spent the next few months explaining
to the villagers how crooked furrows were actually
better for them than straight ones, and that these
new fandangled building materials would never catch
on. The villagers were torn in two. They really appreciated
all that NVIDIA had done for them in the past but
times had changed. The new giant in town was making
NVIDIA's work look shoddy, and they suddenly began
to realise that not only were the furrows crooked,
they also weren't deep enough. NVIDIA had been slacking
off when nobody was looking!!
NVIDIA's
protests went on, but the villagers grew weary of
NVIDIA's constant noise and banished him to the haunted
woods with a warning that he must mend his ways if
he ever wanted to be welcomed in those parts again.
Well,
he's back in town, and he claims to be leaner, smarter,
faster and as honest as the day is long. Has the mighty
NVIDIA righted his wrongs or are we hearing the desperate
pleas of a lonely giant? Hopefully we'll soon know.
The
Technology:::...
Alas
we weren't amongst the elite who received the first
rash of sample cards so there's not much point going
in to the technology with too much detail, which I'm
sure will please some of you. Instead we'll just touch
on what we feel are the technologies that matter along
with a simple look at how they work or what they do.
CineFX
3.0 Features
Displacement
Mapping:::...
I'm
sure by now you've all heard of bump mapping. Bump
Mapping uses shading techniques to make flat surface
textures look like they have a a 3d surface when in
fact they don't. Using bump mapping, you can make
the individual stones in a flat, stone wall texture
cast shadows as if they were actually raised.
This
is okay in most situations but when lighting in a
scene is particularly complex, or when seeing a surface
in profile gives away its butt-smooth surface and
spoils the illusion, then something more is needed.
That something more is Displacement Mapping.
Displacement
mapping takes a simple, profile map of an object then
physically changes the geometry so it matches the
shape. In other words, instead of the Dinosaur head
below having "virtual" wrinkles that don't
properly interact with a scene's lighting and don't
actually exist geometrically, displacement mapping
creates real wrinkles out of the mesh of polygons
that go to make up the head. This results in more
realistic surfaces that can be viewed accurately from
any angle and in any lighting.

Vertex
Shader 3.0:::...
Vertex
Shader 3.0 adds infinite length vertex programs where
the operating system and API allows. Dynamic flow
control can intelligently allow routing of data within
the rendering pipeline so removing many of the previously
imposed limitations.
Displacement
Mapping is available to the 6800 as a direct result
of its shader functionality.
Vertex
Frequency Stream Divider:::...
Say
what! Well, in layman's terms this lets programmers
introduce fixed, preset differences into batch animations.
This is almost like dialing in a controlled error
or a variable, so if you were animating a battalion
of troops for example each could be made to look slightly
different by altering anything from height, uniform
colour or even the way they move, the speed they walk
at or even how high they swing their arms when they
walk.
Multiple
Render Targets:::...
Also
known as deferred shading. There's no easy way to
explain this, but I'll try. For complex shading techniques,
such as per-pixel lighting techniques, it's often
necessary to send the geometry through the rendering
pipeline more than once before the final pixel colour
is calculated. When the scene being rendered is already
complex, this expensive multipass technique is often
ruled out as it would simply take too long to perform.
Deferred
shading extracts all the shading data required for
the final scene and saves them to multiple attribute
buffers. The data from these buffers is then unpacked
and applied to the scene geometry after it has been
calculated so saving the need to resubmit it.
In
short then, deferring the shading/lighting calculations
allows you to apply complex lighting and shading techniques
while performing a single pass for normal vertex processing.
This allows intricate effect to be applied to even
polygon-heavy scenes.
So
What?:::...
Shader
Model 3.0 is not supported by ATi at the moment, and
how much this matters depends on who you talk to.
To say it's a gimmick would be harsh, but it is a
gimmick at the moment until we see it used to its
potential, by which time ATi may very well have hardware
that can handle it.
32
bit precision throughout the entire pipeline open
up a world of possibilities, but they're possibilities
that won't be used unless there's enough power to
make them workable. This time, I think that part of
the equation may finally be fulfilled, at least partly.
Pixel
Effect Features
Rotated
Grid Antialiasing:::...
If
you look at the diagram below, the example on the
left shows the traditional subpixel sampling arrangement
of a two by two grid essentially only samples two
horizontal and two vertical values. By rotating the
grid slightly as in the example on the right, that
can be increased to cover four horizontal and four
vertical values which should mean more accurate subpixel
colour sampling at the edge of polygons in particular.

HPDR:::...
If
you're a photography buff you'll probably understand
this feature easier if I explain that it's just like
increasing the latitude of your film. For the rest
of us, it allows a scene to have a greater range of
brightnesses without having to sacrifice details in
either the shadows or the highlights.
The
scene on the left is rendered without HPDR and has
a dynamic range of about 100:1 while the scene on
the right which is rendered using HDPR and is closer
to 9000:1. Personally I think NVIDIA have chosen a
really bad example of this technology with these pictures
as I happen to prefer the image rendered without HPDR,
but there are certainly situations where the ability
to effectively lower contrast would be critical.

UltraShadow
II :::...
In
all the accusations of cheating it always struck me
as odd that nobody every considered UltraShadow to
be a cheat too. UltraShadow allows programmers to
specify the zone within which shadow calculations
are performed. In the example below, any shadows that
fall in front of the near boundry (zmin) or behind
the far boundry (zmax) are basically ignored. While
this is a great technology in the right hands I can
imagine all kinds of scenarios where it could be wrongly
used to increase performance but with some fairly
weird results.

The
buzzword here is "Superscalar". The term
Superscalar refers to the ability to execute more
than one operation per clock cycle, and the addition
of a second shader unit, the GeForce 6 is capable
of up to four instructions and eight operations per
pixel, compared to just two instructions and four
operations in traditional architectures.

There's
lots more we could talk about like the 222million
transistors, the dedicated on-chip video acceleration,
the dual 400MHz RAMDACs and the floating point frame
buffer blending but if these are things you're interested
in you've no doubt already read about them. Let's
round

|