XGPU
XGPU
The NVIDIA XGPU integrates the Northbridge portion of the CPU chipset, a 233MHz GeForce3-class GPU, a TwinBank-like memory architecture, and something called DASP. Like the GeForce3, the XGPU features a full hardware implementation of DirectX8 including features such as programmable pixel/vertex shaders, and Quincunx High-Resolution Anti-Aliasing, but it also adds a second vertex shader for additional geometry processing.
![XBox Technology Overview [ NForce/Xbox IGP @ 600 x 454 ] > View Full-Size in another window.](images/02-s.jpg) NForce/Xbox IGP
|
|
Shaders
As you should know, all 3D objects are created using triangles which are defined by three vertices. A vertex shader is a program that can take in raw vertex data, run some operations to modify the data, and then output a fully transformed and lit vertex. With classical hardware T&L, essentially an immutable vertex shader, the developer had to provide the final vertex coordinates to the chip and do all the calculations before hand. The programmable vertex shader allows the NVIDIA GPU to do more geometry calculations on the chip and since the GPU is designed specifically for these kind of equations, the geometry calculations are significantly faster than the main CPU. Moreover, different shaders can be used for different vertices in the scene. Vertex shaders are useful for making complex animations such as realistic skin, clothing and facial animation, as well as giving developers the option of using higher-order surfaces defined by polynomials rather than triangles. Thanks to the generality of vertex shaders, they can be used to do a hardware cel-shading effect, or a fisheye lens distortion effect, and realistic looking grass. Since 3D geometry calculations include lighting, vertex shaders can also be used to do effects such as light refraction. The XGPU has two vertex shaders.
Pixel shaders allow developers to do custom operations on individual pixels. While this feature cannot be emulated in software quickly, the DX8 pixel shader standard is not quite as refined and general as the vertex shader. While this means there is ultimately less room for developer creativity, pixel shaders are a powerful tool used in conjunction with vertex shaders and allow developers to create certain effects as non-repeating fire effects or feature true reflective bump mapping.
HRAA
Quincunx HRAA is NVIDIA's implementation of multi-sampling anti-aliasing. As we mentioned in our advanced article on the technology, multi-sampling anti-aliasing produces excellent images without the increasing pixel fill rate requirements. Still, the bandwidth hit with 4X HRAA is the same 4X Super Sampling FSAA.