Tweak3D - Your Freakin' Tweakin' Source!
GeForce 3 Preview Part 1 (Page 3/6)


Posted: February 27, 2001
Written by: Dan "Tweak Monkey" Kennedy

Read more about the nfiniteFX engine in our programmable pixel/vertex shaders article

Programmable Vertex Shader

One of the most talked about features of the GeForce 3 is the hardware programmable vertex shader. What are the key features of the vertex shader?
  • Procedural deformations
  • Programmable matrix palette skinning
  • Keyframe animation interpolation
  • Morphing
  • Fog effects
    • Radial
    • Elevation
    • Non-linear
  • Lens effects
    • Fish eye
    • Wide angle
    • Fresnel effects
    • Water refractions
  • Much more...
Keep in mind, most of this could be done in the past, but it involved a huge performance cost. With a programmable vertex shader, developers can use the effects outlined above or create their own, and then let the GPU do the rest of the work with it.

To give you an idea of some of the features of the vertex shader, let's take a look at this dino. Notice the wave effect going through its body


The wave effect was done by the GPU, not by the CPU.


How about the fish eye lens effect that is mentioned above? Not a problem.


Damn that head got big fast.


Dramatic geometry changes can be made on the GPU, saving precious CPU cycles...


Imagine this effect in say, a first person shooter, when you
use some sort of deformation-gun. Oh boy, I can't wait! :P


If you can't see where this technology might help, just think of some things you see every day that would be difficult to emulate in a digital environment. Imagine, for example, a flag waving in the wind. As simple as this sounds, it can be quite taxing on the CPU to create a realistic looking example. With a programmable vertex shader, it's a simple function.



The hardest items to recreate in a 3D environment are almost definitely organic objects. Trees, skin, and hair are very difficult to get right. Sometimes the reason is because the object is simply too detailed in real life to be recreated (as is often the case with a tree), or perhaps it's because the computer generated version of the real-life object seems too perfect; the subtle defects we're used to seeing in nature aren't present.

However, with a vertex shader, even difficult objects like skin can look realistic. Skin can stretch and crease correctly, without too much effort. Take for example Zoltar:


Notice the "defects" of nature: moles, wrinkles, and texture.


You see all of those details in Zoltar's face and your first reaction is probably, "what is that, about a million polygons!?" -- but most of those wrinkles and marks are not geometry... They are brought to life with the GPU.

How about something else? The chameleon, perhaps?


The scales look real and the joints bend and stretch correctly.


While this may look like a complicated model, it's really not all that bad. Those bumps aren't modeled in, saving plenty of geometry power.



For a more detailed explanation of programmable pixel and vertex shaders, read our huge guide here.

Next Page

  • News
  • Forums
  • Tweaks
  • Articles
  • Reviews