Inno3D Home Page Inno3D Home Page

FAQ News Search Archive Forum Articles Tweaks Technology Files Prices SETI
Visit NVIDIA's home page.
Favorite Pics
Click to Enlarge
OCZ Tech Titan 3
1.0GHz Pentium III
eVGA MX Shootout
nForce Preview
VisionTek GeForce3
2001 Spring Lineup
GeForce3 Preview
eVGA TwinView Plus
VisionTek GF2 Ultra
OCZ GeForce2 Pro
Winfast GeForce2 MX
GeForce2 vs Quake3
Linksys Cable Router
GF2 FSAA Shootout
GeForce2 MX Preview
Benchmarking Guide
Quake 3 Tune-Up
Power DVD Review
Live! Experiences
Memory from

FastCounter by bCentral

 Visitors Are Online
Powered by
3D Chipset
Gamers Ammo
Reactor Critical
GeForce FAQ
Dayton's Misc.
G-Force X Sweden
Maximum Reboot
Media Xplosion
nV Italia
Riva Station
nV News Home Page

NVIDIA GeForce3 Preview
By: Mike Chambers - February 27, 2001

A Programmable GPU

The GeForce3 nfinite FX Engine. The Infinite Effects GPU. Fully Programmable GPU. What exactly do these terms mean? Quite simply they allow developers to write specialized programs to manipulate vertex and pixel data through the use of an instruction set which can dynamically reconfiguration graphics data.

The number of special effects, which will take 3D graphics to the next step of realism, are infinite as the developer can make a vertex program do whatever they want. We saw the results of vertex shaders first hand at NVIDIA when we ran through a demo of AquaNox. This undersea game title uses up to 160 vertex shaders. some of which are customized for a specific object.

Vertex Shaders

Programmable vertex shaders are a new feature in the DirectX 8 and OpenGL application develpment interfaces and represent a significant step forward in the evolution of real-time 3D graphics. As the existing transform and lighting unit on the GeForce is a fixed functioned processor, developers had no control when it came to manipulating vertex data as it passed through the graphics pipeline. In certain cases they even bypassed the fixed pipeline of the GeForce knowing the CPU would handle their custom graphics engines.

Fixed Transform and Lighting

With the GeForce3, a game developer has the ability to create an infinite number of vertex programs and has complete control over vertex processing with 17 assembly language instructions at their disposal. The vertex processor has the ability to process four instructions simultaneously and takes an un-transformed, unlit vertex and creates a transformed vertex. Vertex processing does not create or delete vertices, but it changes their properties. The major benefits of vertex processing on the GeForce3 include:

  • Complete control of the transformation and lighting pipeline
  • Custom vertex lighting
  • Custom skinning and blending
  • Custom texgen
  • Custom texture matrix operations
  • Insert vertex operation of your choice

The legacy transform and lighting processor remains an integral component of the GeForce3 graphics processing unit and is used when vertex processing is not required and also to support legacy applications. If an OpenGL developer decides to make use of the GL_VERTEX_PROGRAM_NV extension, the Detonator driver will issue instructions to engage the GeForce3 vertex processor.

Programmable Transform and Lighting

With the GeForce 3, developers can create an unlimited amount of customized graphics effects. For example, the following screen shot illustrates a morphing and blending vertex shader.

Mesh Blending

In order to demonstrate and educate developers on the special effects that can be obtained using vertex and pixel shaders, NVIDIA has provided the NV Effects Brower which can be downloaded here. The browser not only demonstrates a special effect, but includes source code as well.

Vertex Shader Effects

Unlimted Light Sources Layered Fog
Relection & Refraction Motion Blur
Particle Systems Matrix Palette Skinning

The above images demonstrate some of the vertex shader effects which were done using 128 or fewer vertex processor instructions.

Pixel Shaders

Also new to DirectX 8 are pixel shaders which provide dynamic shading on a per pixel basis. Pixel shaders are similar to vertex shaders in that they are based on programmable instructions that execute at the pixel level and are effective when used to create bumpmapped and lighting effects. Per pixel shading includes a variety of dynamic shading techniques which include:

  • Bump Mapping
  • Per Pixel Directional Lights
  • Per Pixel Spot Lights
  • Per Pixel Point Lights

Pixel shaders modify the color, transparency, and blending information of a pixel before it's rendered. The most basic pixel shaders set a predefined color or do a texture lookup. More advanced shaders can be used to create realistic lighting and shadows, along with reflections and bumps.


The above screen shot is an illustration of per pixel lighting with bumpmapping. Subtle effects such as the cracks on the floor, the ridges on the end of the pipe against the wall, and the bumped surface of the outer ring of the lock device can be seen.

Higer-Order Surfaces

Another exciting feature of DirectX 8 and GeForce3 is support for high-order surfaces. Unlike the vertex based approach to rendering object, high-order surfaces are created by defining curves based on specified control points. High-order surfaces are especially effective for curved surfaces and objects such as columns, waves, and characters.

Complex Object Using High-Order Surfaces

A curve or surface defined with a set of control point is called a spline which allow developers to use a few control points to create fairly complex, smooth curved surfaces.

MadOnion's 3DMark2001

Image courtesy of MadOnion

Joining splines together allows the formation of complex curved surfaces that are difficult to create with triangles. The DirectX API supports two types of curved surfaces: polynomial surfaces and Npatches.

Next Page: Lightspeed Memory Architecture

Skip To:

Last Updated on February 27, 2001

Copyright 1998-2003. All rights reserved.
Reproduction in whole or in part in any form or medium
without written permission of the site's owners is prohibited.
All trademarks are properties of their respective owners.

Privacy Policy

FastCounter by bCentral