|
|
|
|
Introduction |
| |
At NVIDIA, we are extremely passionate about image quality. The people who design our award winning Geforce graphics processors come from a variety of backgrounds. Some came from high-end workstation systems, where thousands of fine lines have to be rendered with the uttermost precision. Others spent their lives in CGI, where pixel shaders can run days on end just to produce the right subtle effects that make great films like The Incredibles and Cars come to life. When these engineers put their minds to design our next generation architecture—the Geforce 8800, they set out to build a GPU with the best image processing engine in the world. They named it the Lumenex Engine.
Lumenex comes from the two Latin words luminosus and lumens. It symbolizes the amazing quality of light—at once bright and scintillating. Before the introduction of the GeForce 8800 GPU Series, PC-based graphics chips could not live up to this ideal for a variety of reasons. Chief among them is the conflict between rendering well and rendering quickly; graphics processors to date simply do not have the resources to render a scene in its most faithful representation without slowing to a crawl. The end result is watered down images that are neither crisp nor luminous. The GeForce 8800 with the Lumenex Engine solves these problems and raises image quality to the next level.
The new Lumenex Engine brings several key innovations:

|
16x Coverage Sampling Anti-Aliasing (CSAA) |
| |

|
16x near perfect angle independent anisotropic filtering |
| |
|
16-bit and 32-bit floating point texture filtering |
| |
 |
Fully orthogonal 128-bit High Dynamic Range (HDR) rendering with all the above features |
| |
 |
A full 10-bit display pipeline |
| |
|
| |
Lumenex Anti-Aliasing Engine |
| |
Since NVIDIA first introduced multi-sample anti-aliasing (MSAA) to the industry in 2001, gamers have embraced the new graphics possibilities with smooth edges and crisp textures. Over the years we have made continuous improvements to our antialiasing engine, bringing forward features such as gamma corrected anti-aliasing, and transparency anti-aliasing for alpha textures. With the Geforce 8800 architecture, we were given the chance to completely rethink our anti-aliasing strategy and design a solution that sets a new standard in interactive graphics.
The current method of anti-aliasing relies on using multiple sub-pixel samples to calculate the color of object silhouettes. Storing and reading multiple samples from memory requires a proportionate increase in resources as the number of samples increase. For example, 4x multi-sampling requires four times the storage and ROP bandwidth as standard rendering. NVIDIA GPUs, having been designed with multisampling in mind, can perform 4x MSAA at high resolutions with little performance degradation. However, to attain even higher quality, anti-aliasing requires additional samples. This became infeasible on prior generations of hardware.
The Lumenex Engine was designed with one goal in mind: to provide the highest image quality with the lowest performance impact. To help realize this goal we designed an anti-aliasing subsystem that employs a new algorithm called Coverage Sampling Anti-Aliasing (CSAA). Unlike brute force multi-sampling, Coverage Sampling Anti-Aliasing uses intelligent coverage information to perform ultra-high quality anti-aliasing without bogging down the memory system. CSAA is introduced in the GeForce 8800 GPUs.
The Lumenex Engine sets a new standard in anti-aliasing by raising the total number of samples per pixel to sixteen—an ultra high quality often used in offline rendering. The resulting images show lines with near perfect gradient, dramatically reduced shimmering, and unrivalled picture clarity.
In bandwidth constrained scenarios, traditional GPUs would experience a massive slowdown when rendering with 16x anti-aliasing. The Lumenex Engine, however, was designed for high performance from the start. The Geforce 8800 GTX actually performs 16x anti-aliasing at nearly the same speed as 4x traditional MSAA. This is a significant breakthrough for anti-aliasing in interactive graphics: for the first time, graphics can be rendered at near CGI quality anti-aliasing with real-time framerates.
|
| |
Case Study: Battlefield 2 |
| |
|
| |
Above is a screenshot taken from the popular game Battlefield 2. The screenshot was taken at 1600 x 1200, a reasonably high resolution. But as evident in the highlighted boxes (please see enlargements on the next page), aliasing is still prevalent. This illustrates why aliasing can not be eliminated by merely increasing the screen resolution—there will always be lines and details fine enough as to cause aliasing at any resolution. In the next section we see what a dramatic difference the Lumenex Engine’s coverage sampling anti-aliasing makes to the image quality. |
| |
 |
| |
These three pair of images compare the result of default rendering and 16x CSAA. The crane without anti-aliasing is an awkward mixture of jagged edges and missing pixels. With 16x CSAA enabled, all edges are rendered smoothly and the fine lines on the right are accurately depicted.
The second image shows the improvements in high contrast areas. The default rendering causes distracting discontinuities in the building’s edges. With 16xAA, the lines are perfectly smoothed out.
Finally the third images depicts a special case—aliasing on alpha textures. Traditional anti-aliasing techniques can not detect alpha textures and hence are not effective on such objects. The Lumenex anti-aliasing engine supports transparency anti-aliasing, enabling smooth rendering of foliage, chain linked fence and other alpha textures. |
| |
Case Study: Half-Life 2 |
| |
|
| |
Half-Life 2 depicts complex indoor and outdoor environments with high dynamic range lighting. With the Geforce 7 series of GPUs, anti-aliasing could not be used in conjunction with high dynamic range lighting. The Lumenex engine handles all scenes equally well, providing the highest image quality with no limitations. |
| |
|
No AA vs. 4x MSAA vs. 16x CSAA |
| |
|
| |
The above images compare the difference between no anti-aliasing, traditional 4x multi-sampling and 16x CSAA in Half-Life 2. Default rendering once again depicts crude, jagged edges. 4x MSAA offers a nice relief but the gradient steps are clearly visible. 16x CSAA depicts far superior graduation, smoothing out the jagged steps and producing a near perfect transition. |
| |
Incredible Performance |
| |
|
| |
| With the Lumenex Engine, high image quality doesn’t mean low performance. For most applications, 16x CSAA costs no more than 10-20% than standard 4x MSAA. |
| |
Lumenex Texture Filtering Engine |
|
| |
While anti-aliasing removes artifacts on polygon edges, the interior of polygons, where textures are applied, do not receive any treatment. To display textures with all their fine details, correct texture filtering must be applied.
Textures represented in the 2D world rarely need filtering since one pixel in the texture corresponds to one pixel on the screen; at 100% view, the texture is depicted with perfect accuracy. Viewing the texture at 25% zoom would require re-sampling the image to fit into a smaller area. In this case, every four pixels would need to be averaged down to one, reducing the image to a quarter of its size. This can be seen as a very simple form of texture filtering.
In 3D applications, textures are almost never seen at 100% view and are most frequently viewed at an angle relative to the screen.. They almost always recede from the viewer, much like the opening title of Star Wars. Textures in this oblique orientation are difficult to depict accurately. The GPU must take into account the angle at which the texture is facing the screen and take multiple samples from the texture at different locations. This process is known as anisotropic texture filtering.
Modern GPUs can take up to 128 texture samples for each screen pixel when conducting anisotropic texture filtering. While this provides high quality filtering, it also requires an enormous amount of bandwidth. Applied indiscriminately, it can cause a dramatic slowdown in the application.
To get around this performance penalty, GPUs typically enable high quality anisotropic filtering only on certain angles. For example, most games depict straight corridors with walls erected at 90 degrees. Likewise, most of the game geometry is placed perpendicular to the floor. Previous GPUs have optimized their texture filtering engines by only filtering objects at these key angles. The result is that all objects that are parallel to the walls and ceiling are correctly filtered, but all objects that are at an angle receive only approximate filtering. While this was a reasonable trade off for the time, today’s titles are quite a different story from the rectangular corridors and box rooms of the last generation. To enable the maximum image quality for today’s games, far better texture filtering is required. |
| |
Case Study: Unreal Tournament 2004 |
| |
|
| |
 |
| |
Figure 1. Regular texture filtering |
| |
This scene from Unreal Tournament 2004 shows the limits of texture filtering on today’s GPUs. The ramp here is divided into three sections. Section A receives good filtering due to its simple 90 degree projection. However, being on an angle, sections B and C receive little filtering, resulting in blurred textures with little detail. |
| |
 |
| |
Figure 2. Anisotropic Texture Filtering on the Geforce 8800 GTX |
| |
The Lumenex Engine delivers a far more robust anisotropic filtering algorithm that accounts for all surfaces, regardless of their orientation. Above is the same image rendered on the Geforce 8800 GTX. Note how sections B and C are far better defined. |
| |
Near Perfect Results |
| |
|
| |
| Figure 3. Default Anisotropic Texture Filtering (GeForce 7 Series on Left, GeForce 8 Series on Right) |
| |
To take the Lumenex Engine to its limits we put it through the ‘torture test’. This test consists of a cylindrical tunnel that effectively captures all possible angles that textures can be mapped to. If the hardware does not apply anisotropic filtering to all portions of the scene, artifacts will be produced.
On the left is the scene rendered with traditional texture filtering. The result shows glaring streaks appearing at 45 degree intervals. In a 3D scene, these areas would receive the lowest quality filtering.
On the right is the Lumenex Engine at work. The result is a near perfect circle—the ideal result for this test. Translated to a 3D scene, this means near perfect results at any angle. |
| |
128-bit High Dynamic Range Rendering |
| |
High-dynamic range (HDR) rendering is a technique used to render scenes with large variations of brightness, producing images that exhibit life-like contrast and tone. Almost all of today’s popular games employ HDR rendering: FarCry, Half-Life 2: Episode One and The Elder Scrolls IV: Oblivion are just a few examples. Most HDR graphics engines employ 16-bit per color component (Red, Green, Blue and Alpha) or a total of 64-bits for high-dynamic range rendering. While this is fine for today, future applications will require even greater precision.
The Lumenex Engine is designed for the highest level of precision by offering 32- bit floating point precision for each color component, or a total of 128-bits for high dynamic range rendering—a level of accuracy that exceeds many film renderers. This format is also especially useful for scientific computing purposes where 32-bit precision is a common standard. By offering 32-bit scalar precision and 128-bit vector precision, the Lumenex Engine is fully prepared for tomorrow’s advanced applications. |
| |
 |
| |
Figure 4. High Dynamic Range Rendering. Image courtesy of Masaki Kawase. |
| |
10-bit Display Pipeline |
| |
Today’s displays use 8-bits of information for each primary color, allowing a total of 16.7 million colors to be displayed. The human eye, however, is sensitive to a much greater ranges of colors and brightness. To bring the full spectrum of colors to life, the Lumenex Engine is built with a full 10-bit display pipeline. This allows for over a billion unique colors to be displayed—sixty-four times more than standard 8-bit color. With the next generation of 10-bit content and displays, the Lumenex Engine will be able to display images of amazing depth and richness. |
| |
Conclusion |
| |
The Lumenex Engine sets a new standard in image quality. It introduces the industry’s highest quality anti-aliasing with 16x CSAA, enabling studio quality rendering with lightening fast performance. Texture filtering is taken to a new level with near perfect results at every angle, allowing next generation games to be rendered with the highest level of detail. Combined with full support for 128-bit HDR rendering and a 10-bit display subsystem, the Lumenex Engine represents the new gold standard in image quality. |
| |
 |
| |
| |
注意
所有 NVIDIA® 设计规范、参考板卡、文件、图纸、诊断信息、列表和其他文档(一并或分别称为“资料”)均“按现状”提供。NVIDIA® 公司不以明示、暗示、法定或其他方式对材料的非侵权性、适销性和适用于任何特定用途做出保证,并明确否认任何此类暗示保证。
我们认为所提供的信息是准确、可靠的。然而,对于由于使用该信息所造成的后果,或者由于其使用可能导致的对第三方专利权或其他权利的任何侵犯,NVIDIA® 公司不承担任何责任。不以暗示或其他方式授予NVIDIA® 公司的任何专利或专利权的任何使用许可。本出版物中述及的规范如有更改,恕不另行通知。本出版物取代并替换以前提供的所有信息。NVIDIA® 公司未将其产品授权用于生命支持装置或系统的重要组件,除非获得NVIDIA® 公司的明确书面认可。
商标
NVIDIA、NVIDIA徽标、NVIDIA Lumenex Engine和NVIDIA nForce均为NVIDIA® 公司在美国和其他国家的商标或注册商标。其他公司和产品名称均为其各自所属公司的商标。
版权
©NVIDIA公司,版权所有,2005年。 |
|
| |