
![]() |
![]() |
The Evolution
The Nvidia Geforce 3 was one of the greatest leaps in terms of innovation in graphic accelerator field. The most unique thing about it was the introduction of programmable Pixel and Vertex Shaders. Well, what are they? Read on.
Pixel Shaders
Pixel Shaders create ambiance with materials and surfaces that mimic reality. An infinite number of material effects replace the artificial, computerized look with high-impact organic surfaces. Characters now have facial hair and blemishes, golf balls have dimples, a red chair gains a subtle leather look, and wood exhibits texture and grain. By altering the lighting and surface effects, artists are able to manipulate colors, textures, or shapes and to generate complex, realistic scenes.
A Pixel Shader is a graphics function that calculates effects on a per-pixel basis. Depending on resolution, in excess of 2 million pixels may need to be rendered, lit, shaded, and colored for each frame, at 60 frames per second. That, in turn, creates a tremendous computational load. Programmable Pixel Shades bring in an unprecedented level of hardware control for consumers. Per-pixel shading brings out an extraordinary level of surface detail-allowing you to see effects beyond the triangle level. They give artists and developers the ability to create per-pixel effects that mirror their creative vision. Furthermore, because of the Pixel Shader capabilities, developers can create their own effects rather than just using what is available in a palette. Thus, programmable Pixel Shaders provide developers with unprecedented control for determining the lighting, shading, and color of each individual pixel, allowing them to create myriad unique surface effects.
Vertex Shader
A vertex is the corner of the triangle where two edges meet, and thus every triangle is composed of three vertices. A Vertex Shader is a graphics-processing function used to add special effects to objects in a 3D environment by performing mathematical operations on the objects' vertex data. Each vertex can be defined by many different variables. For instance, a vertex is always defined by its location in a 3D environment using the x-, y-, and z- coordinates. Vertices may also be defined by colors, coordinates. Vertices may also be defined by colors, textures, and lighting characteristics. Vertex Shaders don't actually change the type of data; they simply change the values of the data, so that a vertex emerges with a different color, different textures, or a different position in space.
Before the release of programmable Vertex Shaders, Vertex shading effects were so computationally complex that they could only be processed offline using server farms. Now, developers can use Vertex Shaders to breathe life and personality into characters and environments, such as fog that dips into a valley and curls over a hill; or true-to-life facial animation such as dimples or wrinkles that appear when a character smiles.
Examples of vertex shading effects include: matrix palette skinning, which allows programmers to create realistic character animation with up to 32 "bones" per joint, allowing them to move and flex convincingly; deformation of surfaces, which gives developers the power to create realistic surfaces such as waves and water that ripples; and vertex morphing, which is used to morph triangle meshes from one shape to another, providing smooth skeletal animation. These are just a few of the virtually infinite number of effects developers can create using Vertex Shaders. By customizing skinning and motion, developers can create life-like personalities for characters and scenes, thereby intensifying the graphic-experience.
This was the first evolution of graphic card. Today, we witness the second biggest evolution; Unified Shaders.
![]() |
![]() |




Report abuse