High dynamic range rendering (HDRR or HDR Rendering) or more commonly, high dynamic range lighting (HDR Lighting), is the rendering of 3D computer graphics scenes by using lighting calculations done in a high dynamic range. Specifically it refers to the new lighting model used to illuminate 3D worlds. Video games and computer generated movies greatly benefit from this as it creates far more realistic scenes than with conventional lighting models.
The use of high dynamic range imaging (HDRI) in computer graphics was introduced by Greg Ward in 1985 with his Radiance rendering and lighting simulation software which created the first file format to retain a high dynamic range image. HDRI languished for many years with limited use as computing power and storage, as well as capture methods, had to be developed for HDRI to be put in to practical use.
In 1997 Paul Debevec presented Recovering high dynamic range radiance maps from photographs at SIGGRAPH and the following year presented Rendering synthetic objects into real scenes. These two papers laid the framework for creating HDR light probes of a location and then using this probe to light a rendered scene.
In gaming applications, after E³ 2003, Valve Software released a demo movie of their Source Engine rendering a cityscape in a high dynamic range. The term wouldn't be brought up again until E³ 2004 where it gained much more attention when Valve Software announced Lost Coast and Epic Megagames showcased Unreal Engine 3.
Graphics processor company NVIDIA summarizes one of HDRR's features in three points:
The images on the right are from Ubisoft's FarCry, demonstrating a new patch that enables Shader Model 3.0 effects. The image on top shows a scene rendered with a high dynamic range, while the image on the bottom is not. Notice that the beams of light in the top image are vibrant and that there's more color to them. Also the walls where these beams illuminate appear brighter than the image on the bottom. Slightly more details can be seen in the HDRR render, despite that the darker areas of the scene (namely the dark area between the two beams) have about the same amount of visibility in both pictures. In regards to color vibrance, the scene without HDR appears dull.
Without HDRR, the sun and most lights are clipped to 100% (1.0 in the framebuffer). When this light is reflected the result must then be less than or equal to 1.0, since the reflected value is calculated by multiplying the original value by the surface's reflectiveness, usually in the range 1. This makes the lights appear dull. Using HDR the light produced by the sun and other lights can be represented with appropriately high values, exceeding the 1.0 clamping limit in the frame buffer, with the sun possibly being stored as 60000. When the light from them is reflected it will remain relatively high (even for very poor reflectors), which will be clipped to white or properly tonemapped when rendered. Looking at the example picture above, from Valve's Lost Coast, you can see these reflection differences upon the water and the sand.
The reason is a not-so-good "peak signal" to noise ratio of CCD-technology, comparing to human eye. For example, CCD sensor with 14-bit linear ADC can only "see" about 16000:1 contrast ratio of perception (assuming a linear response curve, which is the case for most CCD-based technology), thus equal to about 7 bits in Gamma-corrected space. Human eyes can perceive a much higher contrast ratio. This would mean that the digital camera would have to capture the scene with a bit of bias between brightening the scene or darkening the scene by adjusting its exposure. If the scene was brightened, the text upon the monitor would be washed out in order for the poster to be seen. If the scene was darkened, the detail on the poster would be lost in favor upon capturing the text displayed on the monitor.
If this scene was rendered with HDR rendering, the detail on both the monitor and the poster would be preserved, without placing bias on brightening or darkening the scene.
A natural scene exposed in the sunlight can display a contrast of about 50,000:1. Negative black and white film can capture a dynamic range of about 4096:1 (12 stops) maximum, while color slide film reach can typically capture a dynamic range of 64:1 (6 stops). Printing has the same problems as displaying on LDR monitors as color paper only has about 64:1 (6 stops).
On average, most computer monitors have a specified contrast ratio between 500:1 and 1000:1, sometimes 1500:1. Current plasma displays are specified at a 10,000:1 contrast ratio (most are 50% lower). However, the contrast of commercial displays is measured as the ratio of a full white screen to a full black screen in a completely dark room. The simultaneous contrast of real content under normal viewing conditions is significantly lower.
One of the few monitors that can display in true HDR is the BrightSide Technologies HDR monitor, which has a simultaneous contrast ratio of around 200,000:1 for a brightness of 3000 cd.m-2, measured on a checkerboard image. In fact this higher contrast is equivalent to a ANSI9 contrast of 60,000:1, or about 60 times higher that the one of a TFT screen (about 1000:1). The brightness is 10 times higher that the one of the most CRT or TFT. But such display should only be useful if it needs to operate in a pitch-black room and in two seconds under bright lightning, and the eye should be able to see a full dynamic range on the display in both situations.
This means that HDR rendering systems have to map the full dynamic range to what the eye would see in the rendered situation. This tone mapping is done relative to what the virtual scene camera sees, combined with several full screen effects, e.g. to simulate dust in the air which is lit by direct sunlight in a dark cavern.
There is currently two graphical effects used to combat these limitations, tone mapping and light blooming, which are often used together.
However, due to the stressing nature of HDRR, it's not recommended that full screen anti-aliasing (FSAA) be enabled while HDRR is enabled at the same time on current hardware, as this will cause a severe performance drop. Many games that support HDRR will only allow FSAA or HDRR. However some games which use a simpler HDR rendering model will allow FSAA at the same time.
The limitations of display devices (whose gamuts are very limited compared to a gamut which supports HDR colors) prevent colors in HDR from being displayed properly. Tone mapping attempts to solve the problem of displaying HDR colors on a LDR display device by mapping colors in a HDR image to LDR. Many different tone mapping operators exist, and vary wildly in complexity and visual results. Some tone mapping algorithms are also time dependant, as seen in the above images, in an attempt to approximate a human eye's iris regulation of light entering the eye.
Light blooming "spreads" out a light source. For example, a bright light in the background will appear to bleed over onto objects in the foreground. This effect is achieved by multiplying the image of the screen (lighten lighter areas and darken darker areas,) blurring the image, and drawing it over top of the original image. If there's a light source that is "brighter" than what the monitor can show, light blooming helps to create an illusion that makes the object appear brighter than it is, but at the cost of softening the scene. A common misconception is that a game that uses a bloom filter uses HDR. This is untrue, however, as blooming is often used alongside HDR, but is not a component of HDR.
The reason blooming is used alongside HDR is that when a saturated LDR image is blurred, the result is equivalent to blurring an image with lots of white areas, simply because values above 1.0 aren't preserved, so bright areas blur to gradients in the range of 1.0 -> 0.0. The result is simply a linear white to black gradient, regardless of the original color of the bright part. HDR, on the other hand, preserves colors above 1.0, so the blur result in a gradient between the saturated value that slowly becomes less and less saturated. A bright blue light may appear white at its center, but with HDR it retains the blue color in a halo around it when the image is blurred.
Currently HDRR has been prevalent in games. Though these games are mostly for the PC, it is also possible to render scenes in a high dynamic range in Microsoft's Xbox 360, Sony's PlayStation 3, and Nintendo's Wii. It has also been simulated on the PlayStation 2, GameCube, and Xbox. In desktop publishing and gaming, colour values are often processed several times over. As this includes multiplication and division it is useful to have the extended accuracy and range of 16 bit integer or 16 bit floating point format. This is useful irrespective of the abovementioned limitations in some hardware.
The development of HDRR into real time rendering mostly came from Microsoft's DirectX API.
Before HDRR was fully developed and implemented, games would fake the illusion of HDR by using light blooming and sometimes using an option called "Enhanced Contrast Settings" (Need For Speed Underground 2 had this as an option, while Metal Gear Solid 3 had it on at all times).
On December 24, 2002, Microsoft released a new version of DirectX. DirectX 9.0 introduced Shader Model 2.0 which offered one of the necessary components to enable rendering of high dynamic range rendering, lighting precision was not limited to just 8-bits. Although 8-bits was minimum in applications, programmers could choose up to a maximum of 24-bits for lighting precision. However, all calculations were still integer based. One of the first graphics cards to take advantage of DirectX 9.0 was Ati's Radeon 9700, though the effect wasn't programmed into games for years to come. On August 23, 2003, Microsoft updated DirectX to DirectX 9.0b, which enabled Pixel Shader 2.x (Extended) profile for ATI's Radeon X series and NVIDIA's GeForce FX series of graphics processing units.
On August 9, 2004, Microsoft updated DirectX once more to DirectX 9.0c. This also exposed the Shader Model 3.0 profile for high level shader language (HLSL). Shader Model 3.0's lighting precision, according to Dr. Sim Dietrich Jr., has a minimum of 32-bits as opposed to 2.0's 8-bit minimum. Also all lighting precision calculations are now floating-point based. NVIDIA states that contrast ratios using Shader Model 3.0 can be as high as 65535:1 using 32-bit lighting precision. At first, HDRR was only capable on video cards capable of Shader Model 3.0 effects, but software developers soon added compatibility for Shader Model 2.0. The difference between an HDRR scene rendered in Shader Model 3.0 or 2.0 is negligible at this point. As a side note, when referred as Shader Model 3.0 HDR, the HDRR is really done by FP16 blending. FP16 blending is not part of Shader Model 3.0, but supported only by cards also capable of Shader Model 3.0, excluding the GeForce 6200 models as they lack the capabilities. FP16 blending is used as a faster way to render HDR in video games.
It is unsure what HDR upgrades will be available from Shader Model 4.0 (to be released with DirectX 10).
Graphics cards designed for games
| Shader Model 2 Compliant (Includes versions 2.0, 2.0a and 2.0b) | |
|---|---|
| From ATI | R300 series: 9500, 9500 Pro, 9550, 9550 SE, 9600, 9600 SE, 9600 AIW, 9600 Pro, 9600 XT, 9650, 9700, 9700 AIW, 9700 Pro, 9800, 9800 SE, 9800 AIW, 9800 Pro, 9800XT, X300, X300 SE, X550, X600 AIW, X600 Pro, X600 XT | R420 series: X700, X700 Pro, X700 XT, X800, X800SE, X800 GT, X800 GTO, X800 Pro, X800 AIW, X800 XL, X800 XT, X800 XTPE, X850 Pro, X850 XT, X850 XTPE
| From NVIDIA | GeForce FX (includes PCX versions): 5100, 5200, 5200 SE/XT, 5200 Ultra, 5300, 5500, 5600, 5600 SE/XT, 5600 Ultra, 5700, 5700 VE, 5700 LE, 5700 Ultra, 5750, 5800, 5800 Ultra, 5900 5900 ZT, 5900 SE/XT, 5900 Ultra, 5950, 5950 Ultra |
| From Intel | GMA: 900, 950 |
| From S3 Graphics | Delta Chrome: S4, S4 Pro, S8, S8 Nitro, F1, F1 Pole | Gamma Chrome: S18 Pro, S18 Ultra, S25, S27
| From SiS | Xabre: Xabre II |
| From XGI | Volari: V3 XT, V5, V5, V8, V8 Ultra, Duo V5 Ultra, Duo V8 Ultra, 8300, 8600, 8600 XT |
| Shader Model 3.0 Compliant | |
| From ATI | R520 series: X1300 HyperMemory Edition, X1300, X1300 Pro, X1600 Pro, X1600 XT, X1800 GTO, X1800 XL AIW, X1800 XL, X1800 XT, X1900 AIW, X1900 GT, X1900 XT, X1900 XTX |
| From NVIDIA | GeForce 6: 6100, 6150, 6200, 6200 TC, 6500, 6600, 6600 LE, 6600 DDR2, 6600 GT, 6610 XL, 6700 XL, 6800, 6800 LE, 6800 XT, 6800 GS, 6800 GTO, 6800 GT, 6800 Ultra, 6800 Ultra Extreme | GeForce 7: 7300 GS, 7300 GT, 7600 GS, 7600 GT, 7800 GS, 7800 GT, 7800 GTX, 7800 GTX 512MB, 7900 GT, 7900 GTX, 7900 GX2, 7950 GX2
Graphics cards designed for workstations
| Shader Model 2 Compliant (Includes versions 2.0, 2.0a and 2.0b) | |
|---|---|
| From ATI | FireGL: Z1-128, T2-128, X1-128, X2-256, X2-256t, V3100, V3200, X3-256, V5000, V5100, V7100 |
| From NVIDIA | Quadro FX: 330, 500, 600, 700, 1000, 1100, 1300, 2000, 3000 |
| Shader Model 3.0 Compliant | |
| From ATI | FireGL: V7300, V7350 |
| From NVIDIA | Quadro FX: 350, 540, 550, 560, 1400, 1500, 3400, 3450, 3500, 4000, 4400, 4500, 4500SDI, 4500 X2, 5500 |
| From 3Dlabs | Wildcat Realizm: 100, 200, 500, 800 |
It will be only a matter of time before HDRR becomes a standard for future games, but until then, here's a list of games that support it.
| Shader Model 3.0 HDR | Shader Model 2.0 HDR | Limited HDR |
|---|---|---|
Computer graphics | 3D computer graphics
High Dynamic Range Rendering | High dynamic range rendering | High dynamic range rendering | 高動態光照渲染
This article is licensed under the GNU Free Documentation License.
It uses material from the
"High dynamic range rendering".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world