With the NV4x architecture Nvidia introduces the third generation of their CineFX engine which is now fully DirectX 9.0c, Shader Model 3.0 and OpenGL 1.5 compatible. This means that the programmer coding for the NV4x architecture can develop shader programs without any hardware-imposed program length limits. Basically the programmer is free to use an infinite number of pixel and vertex programs to create new visual effects that weren't possible with previous graphics architectures before or significantly speed up other visual effects due to the NV4x' higher efficiency. To make use of this efficiency the programmer now has the option to control the program flow and thereby reduce latencies and increase the number of rendered frames or make new visual effects possible without too much of a performance penalty. With no less than 16x1 pipelines the NV4x architecture allows many pixel and vertex programs to run in parallel fashion to further up the performance and efficiency.
One of the most noteworthy features of the CineFX architecture is displacement mapping which means that for the first time texture information can be mapped onto vertices by simply loading a texture into the register. This is a step beyond techniques such as bump mapping that don't allow each vertex to interact with the environment. With displacement mapping each vertex can now interact with all the various light sources in a scene with only a fraction of the computational effort required as opposed to previous techniques. From an image quality point of view this results in a more realistic reproduction of the 3D environment, the light sources in it, and the interaction of all 3D models in the scene. For the first time every detail of these models will react to the light sources, for example cast a proper shadow on another model, in a lifelike manner.
Another worthwhile new feature is MRT, multiple render target, technology which allows the graphics processor to apply the lighting in a scene after all of the geometry is rendered, effectively canceling extra rendering passes needed for this scene. This works by storing information in a, for example, position, normal, color and material map. In the first rendering pass, three output buffers are created, a color map, a normal map and a depth map. In the second pass the lighting is calculated using the normal and depth map and accurately lit with the color map. By doing the lighting processing after the geometry processing valuable processing time is saved as only those pixels are rendered and subsequently lit that are visible in the scene. So basically MRT avoids using valuable processing time to calculate the lighting for pixels that do not contribute to the visible portions of the rendered image.
Discuss This Article (48 Comments) - If you have any questions, comments or suggestions about the article and/or its contents please leave your comments here and we'll do our best to address any concerns.
Rate This Product - If you have first hand experience with this product and would like to share your experience with others please leave your comments here.