nfiniteFX Engine: Raising The Bard of Realism in Graphics | |
With the GeForce3 and its nfiniteFX Engine, NVIDIA introduces the world's first programmable 3D graphics chip architecture. By combining programmable vertex and pixel shading capabilities, the nfiniteFX Engine delivers unprecedented visual realism on your PC. Textures appear photorealistic; characters and living creatures have organic imperfections and unique expressionspersonalities are visible. The nfiniteFX Engine gives game and multimedia application developers the freedom to create a virtually infinite number of special effects and custom looks, providing gamers and multimedia enthusiasts with the most visually exciting experiences available on a PC. What is a Vertex Shader? Before the advent of NVIDIA's nfiniteFX Engine, realistic characters and environments were beyond the reach of graphics processors. Now programmable Vertex Shaders enable an unlimited palette of visual effects that can be rendered in real time. But what are programmable Vertex Shaders, and how do they work? To answer this we have to start with the basics. In order to understand Vertex Shaders, it's important to know what a vertex is in relation to a scene. Objects in a 3D scene are typically described using triangles, which in turn are defined by their 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, 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.
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 graphics experience. What is a Pixel Shader? 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. The GeForce3 can easily process this load through Pixel Shaders, and bring movie-style effects to your PC. This is an unprecedented level of hardware control for consumers. Per-pixel shading brings out an extraordinary level of surface detailallowing you to see effects beyond the triangle level. Programmable Pixel Shaders then give artists and developers the ability to create per-pixel effects that mirror their creative vision. Rather than simply choosing from a preset palette of effects, developers can create their own. Thus, programmable Pixel Shaders provide developers with unprecedented control for determining the lighting, shading, and color of each individual pixel, allowing them to create a myriad of unique surface effects.
Programmability also gives developers tremendous flexibility to create their own methods for shading objects. In addition to incredible material effects, the NVIDIA nfiniteFX Engine achieves excellent performance and enables previously impossible pixel-level effects on consumer-level platforms, because of its ability to handle four textures in a single pass. Applying multiple textures in one pass almost always yields better performance than performing multiple passes. Multiple passes translate into multiple geometry transformations and multiple Z-buffer calculations, slowing the overall rendering process. Vertex and Pixel Shaders Combine to Create Exceptional Graphics: The addition of programmable Vertex Shaders and Pixel Shaders to consumer graphics processors shakes up the PC graphics marketvisual quality takes a quantum leap forward. The NVIDIA nfiniteFX engine delivers a fully programmable vertex and pixel shading solution for real time 3D graphics. With the introduction of programmable Vertex and Pixel Shaders, real-time 3D graphics content takes a major step towards cinematic realism, by offering content developers the ability to create their own special effects, to define new realities, and to push the boundaries of image quality. Game players and other application users can enjoy stunning visual effects that were previously limited to pre-rendered video clips or movie screens, further blurring the line between the linear world of the movie, and the dynamic and interactive world of the 3D multimedia experience. Graphics and gaming will never be the same. |
Lightspeed Memory Architecture | |
Creating a real-time realistic 3D environment on a mainstream PC is the driving ambition of thousands of hardware and software developers employed in the computer graphics industry. While developments over the past years have made incredible strides towards improving the quality of real-time 3D graphics, one of the fundamental challenges in delivering interactive 3D content remains: increasing performance given limited increases in memory. Memory and graphics bus bandwidth remain as critical factors in determining graphics performance and quality. GeForce3 incorporates a number of revolutionary advances in graphics architecture that dramatically improve the GPU's efficiency with memory and bus bandwidth delivering a new level of performance and image quality. The
Memory Bandwidth Problem: In order to describe
scenes with richness and enough detail to create a compelling
environment, content developers have been increasing
the geometric detail in their scenes at an incredible
rate. With the introduction of the GeForce 256 graphics
processing unit, much of the computational load for
this function was moved from the CPU to the GPU. This
shifting of the computational load to the GPU was a
key factor in allowing content developers the freedom
to move from hundreds of polygons per frame to hundreds
of thousands. These rich scenes, while orders of magnitude
more visually compelling, are also incredibly bandwidth
intensive. Lightspeed
Memory Architecture - The Solution:
GeForce3, through its advanced Lightspeed Memory
Architecture brings an array of technology to
bear on the challenge of memory bandwidth. By representing
complex geometry as a high-order surface and performing
those surface calculations entirely on the GPU, GeForce3
is able to avoid transmitting tremendous amounts of
triangle data across the AGP bus, ensuring that communication
between the host and the GPU can continue in an efficient
and high performance manner. By attacking the pixel
bandwidth problems in a variety of ways, GeForce3 brings
a tremendous leap in memory bandwidth efficiency to
PC graphics. The combination of the most efficient and
sophisticated crossbar-based memory controller ever
built for PC graphics, with advanced technology to reduce
bandwidth consumption, means that GeForce3 makes twice
the use of memory bandwidth than any previous traditional
architecture. |
High-Resolution Antialiasing (HRAA) | |
NVIDIA's GeForce3 graphics processing unit (GPU) introduces radical new technology designed to provide the industry's first solution for high-resolution antialiasing (HRAA). While other antialiasing solutions and their methods have been offered before, only GeForce3 can offer the unique combination of high resolutions and high frame rates in combination with high-quality antialiasing. By implementing hardware support for multisampling, as well as innovating new sampling technology, GeForce3 makes HRAA available for all real-time content. Combatting the Aliasing Effect: One of the key image quality problems that has plagued PC users is aliasing, or the "jaggies". Aliasing is the stair-step effect on the edges of objects and can be extremely distracting for the PC user. The only way to combat aliasing is to create the effect of having more pixels on the screen. Historically, increasing the resolution was the best solution to this problem. The size of the "jaggy" or stair-step artifact is never larger than the size of the actual pixel. Hence, reducing the size of the pixel reduces the size of these artifacts. Changing the resolution is not always feasible, however. The user may already be using the maximum resolution supported by the monitor or the application itself may limit the resolution. Beyond these hard limits the only solution is to increase the effective resolution. The best way to do this is to use more sophisticated techniques for computing the color of each pixel of the display in a way that simulates having more pixels. These techniques are referred to as "antialiasing." "Supersampling" is an antialiasing technique that is simply a brute-force approach and is used in NVIDIA's GeForce2 GPUs and other modern graphics processors. A graphics processor that uses supersampling renders the screen image at a much higher resolution than the current display mode, and then scales and filters the image to the final resolution before it is sent to the display. A variety of methods exist for performing this operation, but each requires the graphics processor to render as many additional pixels as required by the supersampling method. Additionally, because the graphics processor is rendering more actual pixels than will be displayed, it must scale and filter those pixels down to the resolution for final display. This scaling and filtering can further reduce performance. Multisampling: The Solution: The biggest problem with supersampling is performance. Users don't want to see their frame rate fall to one-half or one-fourth of what it should be. Multisampling is a more sophisticated technique than supersampling that involves higher quality output than standard rendering with much higher performance--a win/win scenario compared to either alternative. Multisampling requires a more sophisticated GPU, however, so only the newest GPUs available support this technique. NVIDIA's GeForce3 graphics processing unit (GPU) introduces radical new technology designed to provide the industry's first solution for high-resolution antialiasing (HRAA). While other antialiasing solutions and their methods have been offered before, only GeForce3 can offer the unique combination of high resolutions and high frame rates in combination with high-quality antialiasing. By implementing hardware support for multisampling, as well as innovating new sampling technology, GeForce3 makes HRAA available for all real-time content. Combatting the Aliasing Effect: One of the key image quality problems that has plagued PC users is aliasing, or the "jaggies". Aliasing is the stair-step effect on the edges of objects and can be extremely distracting for the PC user. The only way to combat aliasing is to create the effect of having more pixels on the screen. Historically, increasing the resolution was the best solution to this problem. The size of the "jaggy" or stair-step artifact is never larger than the size of the actual pixel. Hence, reducing the size of the pixel reduces the size of these artifacts. Changing the resolution is not always feasible, however. The user may already be using the maximum resolution supported by the monitor or the application itself may limit the resolution. Beyond these hard limits the only solution is to increase the effective resolution. The best way to do this is to use more sophisticated techniques for computing the color of each pixel of the display in a way that simulates having more pixels. These techniques are referred to as "antialiasing." "Supersampling" is an antialiasing technique that is simply a brute-force approach and is used in NVIDIA's GeForce2 GPUs and other modern graphics processors. A graphics processor that uses supersampling renders the screen image at a much higher resolution than the current display mode, and then scales and filters the image to the final resolution before it is sent to the display. A variety of methods exist for performing this operation, but each requires the graphics processor to render as many additional pixels as required by the supersampling method. Additionally, because the graphics processor is rendering more actual pixels than will be displayed, it must scale and filter those pixels down to the resolution for final display. This scaling and filtering can further reduce performance. Multisampling - The Solution: The biggest problem with supersampling is performance. Users don't want to see their frame rate fall to one-half or one-fourth of what it should be. Multisampling is a more sophisticated technique than supersampling that involves higher quality output than standard rendering with much higher performance--a win/win scenario compared to either alternative. Multisampling requires a more sophisticated GPU, however, so only the newest GPUs available support this technique. The basic idea behind multisampling is to embed the intelligence behind antialiasing inside the core of the GPU, in hardware. This makes the GPU more complex, but rewards the user with higher quality and higher performance. Multisampling works because the GPU itself is "aware" that multiple samples will be used to calculate the final pixel color. You can think of these extra samples as extra "virtual pixels." The GeForce3 GPU has wider data paths internally so it can handle these extra virtual pixels without slowing down its standard rendering speed. In fact, the GeForce3 GPU can compute these "virtual pixels" or additional samples at full speed, with no reduction in engine performance whatsoever. These wider data paths enable GeForce3 to use the same texture data for all of the samples in the pixel and significantly reduce the memory bandwidth required to texture all of the AA samples. The GeForce3 GPU is the first product ever to deliver HRAA at a consumer price point. The hardware multisampling capabilities of the GeForce3 GPU offer an unprecedented level of performance and flexibility, giving end users more and better mode choices for antialiasing, and helping them tap the full potential of this groundbreaking graphics processor. |
GeForce3 Games | |
Game developers are already taking advantage of GeForce3 technology. Take a look at how the following games and demos utilize the nfiniteFX Engine to create stunning scenes and characters: | |
|
|
|
|
|
|
For a complete list of games designed for the GeForce3, visit nVidia's GeForce3 Games Website |
The GeForce3 In Action | |
Even if you don't own a GeForce3, you can have a first-hand look at the incredible technology it powers by viewing the following video clips of NVIDIA demos. | |
Download The Video: Chameleon (MPEG, 6.3MB) |
|
Download The Video: Zoltar (MPEG, 8.3MB) |
|
Inferno also makes good use of Geforce3's texture blending and fill rate performance. The procedurally generated terrain gets its realism from a blend of rocky and muddy textures. Note how the mud flats of the valleys blend seamleesly into the rocky slopes of the knolls. The flame-out after impact uses a heavy overdraw technique, but Geforce3's fill rate is up to the task. Download The Video: Inferno (MPEG, 6.2MB) |
|
Download The Video: The Whole Enchilada (MPEG 6.2MB) |
GeForce3 | |||
|
|||
Background | |||
![]() |
|||
nVidia's Article | |||
I have reproduced the text of nVidia's current public information about the GeForce3 here in order to give a starting point to this discussion:
|
|||
What This Tells Us | |||
nVidia's article doesn't tell us too much, but from it we can devine a few choice pieces of information about the GeForce3. The nfiniteFX Engine/Programmable GPU The heart of the new GeForce3 is nVidia's nfiniteFX Engine. The most impressive part about this new engine is the fact that it is fully programmable. This means that if a game developer needs for something to work differently than it normally would, then they can change how the chip runs in order to get the best effects possible for thier game. In order to facilitate this, nVidia has developed and is releasing, free of charge, dozens of lighting, transform, and effects tools that developers will be able to use to program the GeForce3 to their heart's desire. This also allows application developers to specify personalized combinations of graphics operations to create an unlimited list of their own special effects. The principal technologies behind this are nVidia's Vertex Shaders and Pixel Shaders - both of which are under the programmer's complete control. Lightspeed Memory Architecture Not much solid information about this on nVidia's site, but from what we could find, at the core of this Lightspeed Memory Architecture seems to be something called the Crossbar Memory Controller. In earlier GeForce cards, there was one 256 bit memory pipelines, with the new GeForce3 cards, there will be four 64bit pipelines - this should allow for less idle time as smaller instructions will no longer dominate the entire pipeline while other instructions queue up behind it waiting for it to finish. HRAA (High Resolution Anti-Aliasing) nVidia is using a new multi-sample architecture for Anti Aliasing on the GeForce3, called Quincunx. This new method will allow the GeForce3 to generate Anti-Aliasing at almost four times the rate that the GeForce2s could. This means that 4× AA will be available with a much lower performance cost. It also appears that the HRAA will all take place in hardware - meaning that most things should be able to immediately take advantage of it. 800
Billion Operations Per Second Additionally,
the GeForce3 will support the most extreme resoltions,
allowing up to 2048×1536 in 32 bit color. |
|||
Rumors and Speculation | |||
What we have here is not anything that has been derived from nVidia's article or offical releases to date - it is all rumor and speculation, but most of it makes sense, the really far out stuff never made it into this article. Remember, the information in this section may or may not be correct so don't count on it 100% until it is confirmed in nVidia's official upcoming announcement. Direct X 8.0 Direct X 8.0 has been available for quite sometime now from Microsoft's website, but to date there are not many games that will take advantage of it (if any at all). More importantly, there are no cards that will take advantage of the additional features supported in Direct X 8.0 - until GeForce3 based cards enter the marketplace that is. The GeForce3 has been designed around Direct X 8.0 completely - following nVidia's earlier decisions to support Direct 3D as their primary API. This makes excellent sense for them, especially as much of the core technology for the GeForce3 will find its way into Microsoft's XBox project. Hidden Surface Removal Given
how much this type of technology dramatically helped
performance on ATI's Radeon, it is a pretty sure thing
that nVidia would include some version of it in their
next chip release. How it works and how it will be implemented
are still up in the air, but its a pretty good bet that
it got included. |
|||
Screen Shots | |||
Included here are three screenshots from ID Software's newest game in development (a new version of DOOM) that was demonstrated at the MacWorld Expo in Tokyo. These shots are taken from the actual game engine and are being rendered in real time on the GeForce3. They clearly illustrate the power of the GeForce3 graphics chip.
|
|||
Conclusions | |||
Much like nVidia's other major releases, the GeForce3 will be a true generational improvement over existing graphics technologies. It is also interesting to note that this is the first time that the power of the graphics chip will come from programs being tailored to it (the programmable GPU) rather than it just being able to run standard things incredibly quickly. nVidia has made a major push with the GeForce3, and will probobly do a good job of sutting out its competition with this chip - leaving the GeForce3 as the dominant force in the market for at least the next half year. |
Feature | Benefit |
nfiniteFX Engine | Enables dynamic, breakthrough effects, which deliver the next leap in realism to 3D graphics. Users will experience a virtually infinite number of special effects via the Vertex Shader and Pixel Shader engine components. |
Vertex Shader | Injects personality into characters and scenes by allowing characters to move and show facial emotion, materials to stretch, and scenes to come alive. |
Pixel Shader | Creates ambiance with materials and surfaces that mimic reality. Pixel shaders alter lighting and surface effects that replace artificial, computerized looks with high-impact organic surfaces. |
Lightspeed Memory Architecture | Makes GeForce3 the fastest GPU ever produced, and generates the power to deliver earth-shattering performance at all resolutions. |
High-Resolution Antialiasing (HRAA) | Produces the best visual quality and performance for all applications. HRAA delivers a high level of detail and crisp, clean lines at high frame rates, featuring the Quincunx AA mode. |
Microsoft® DirectX® 8.0 Compatibility | Ensures compatibility with the next generation of 3D applications to hit the market. The GeForce3 GPU supports DirectX 8.0 features and special effects for the ultimate 3D experience. |
World's Fastest DDR Memory Interface | 7.36GB per second memory subsystem ensures peak performance and the smoothest frame rates ever. |
High-Definition Video Processor (HDVP) | Turns your PC into a full-quality DVD and HDTV player. |
AGP 4×/2× and AGP Texturing Support | Takes advantage of new methods of transferring information more efficiently, and allows content developers to use high-quality, 32-bit color textures and high-polygon-count scenes. |
Microsoft® DirectX® and OpenGL® Optimizations and Support | Delivers the best performance and guarantees compatibility with all current and future applications and games. |
Unified Driver Architecture | Guarantees forward and backward compatibility with software drivers. Simplifies upgrading to a new NVIDIA product because all NVIDIA products work with the same driver software. |
TV-Out and Video Modules | Gives end users the option of big-screen gaming, digital timeshifting VCR, and video-editing applications. |
Technical
Briefs: An In-Depth Look at the GeForce3's Features
|
![]() |
nVidia nfiniteFX Engine: Programmable Vertex Shaders (5MB PDF) nVidia nfiniteFX Engine: Programmable Pixel Shaders (1.5MB PDF) GeForce3: Lightspeed Memory Architecture (3MB PDF) HRAA: High-Resolution Antialiasing Through Multisampling (2.5MB PDF) Microsoft® DirectX® 8: Raising The Ante for Realism in Graphics (3MB PDF) |