GeForce 8800 GTS & GTX review

Graphics cards 1048 Page 2 of 27 Published by

teaser

Page 2 - Unified Shaders

Pixel and Vertex Shader Unified Shader processors & DirectX 10.

GeFore 8800 GTX & GTS review - Copyright 2006 Guru3D.comOkay prepare yourself for some tough love from the man himself; as first we'll dive into the graphics processor a little and get the tough stuff out of the way immediately to allow you to digest the information.

What you need to understand that the microarchitecture of the GPU (Graphics Processing Unit) has been changed significantly yet the generic elements are all still there.

Despite the fact that graphics cards are all about programmability and thus shaders these days you'll notice in today's product that we'll not be talking about pixel and vertex shaders much anymore. With the move to DirectX 10 we now have a new technology called Unified shaders and graphics hardware will adapt to that model as it's very promising. DirectX 10 is scheduled to ship at the beginning of next year with the first public release version of Windows Vista. It will definitely change the way software developers make games for Windows and very likely benefit us gamers in terms of better gaming visuals and better overall performance.

The thing is, with DirectX 10 Microsoft has removed what we call the fixed function pipeline completely (what you guys know as 16 pixel pipelines, for example) and allowing it to make everything programmable. How does that relate to new architecture? Have a look.

The new architecture is all about programmability and thus shaders. But the term Shader might be a little Shady for you.

To understand what is so important today first allow me to explain what a shader is and how does it relate to rendering all that gaming goodness on your screen (the short version).

What do we need to render a three dimensional object; 2D on your monitor? We start off by building some sort of structure that has a surface, that surface is being built from triangles. And why triangles? They are quick and easy to compute. How's each triangle being processed? Each triangle has to be transformed according to its relative position and orientation to the viewer. Each of the three vertices the triangle is made up of is transformed to its proper view space position. The next step is to light the triangle by taking the transformed vertices and applying a lighting calculation for every light defined in the scene. At last the triangle needs to be projected to the screen in order to rasterize it. During rasterization the triangle will be shaded and textured.

Graphic processors like the GeForce series are able to perform a large sum of these tasks. Actually the first generation was able to draw shaded and textured triangles in hardware, which was a revolution. The CPU still had the burden to feed the graphics processor with transformed and lit vertices, triangle gradients for shading and texturing, etc. Integrating the triangle setup into the chip logic was the next step and finally even transformation and lighting (TnL) was possible in hardware, reducing the CPU load considerably (surely everyone remembers the GeForce 256). The big disadvantage was that a game programmer had no direct (i.e. program driven) control over transformation, lighting and pixel rendering because all the calculation models were fixed on the chip, and that is the point where shaders come in. We now we finally get to the stage where we can explain Shaders. Vertex and Pixel shaders allow software and game developers to program tailored transformation and lighting calculations as well as pixel coloring functionality.

And here's the answer to your the initial question and also reach the new G80 micro-architecture; each shader is basically nothing more than a relatively small program (programming code) executed on the graphics processor to control either vertex or pixel processing. So a Pixel or Vertex unit in fact is/was a small Pixel or Vertex shader processor within your last generation GPU and such a processor is basically a floating point processor.

What is a shader core then? In the past graphics processors have had dedicated units for diverse types of operations in the rendering pipeline, such as vertex processing and pixel shading as we just explained. A good idea to understand that is to have a look at the image below.

GeFore 8800 GTX & GTS review - Copyright 2006 Guru3D.com

Each of these unit's above the L1 cache is a shader core. For the unified architecture, NVIDIA engineered a single floating point shader core with multiple independent processors. Each of these independent processors is capable of handling any type of shading operation, including pixel shading, vertex shading, geometry shading, and yes, physics shading.

Share this content
Twitter Facebook Reddit WhatsApp Email Print