High-dynamic-range rendering

Last updated
A comparison of the standard fixed-aperture rendering (left) with the HDR rendering (right) in the video game Half-Life 2: Lost Coast Lost Coast HDR comparison.png
A comparison of the standard fixed-aperture rendering (left) with the HDR rendering (right) in the video game Half-Life 2: Lost Coast

High-dynamic-range rendering (HDRR or HDR rendering), also known as high-dynamic-range lighting, is the rendering of computer graphics scenes by using lighting calculations done in high dynamic range (HDR). This allows preservation of details that may be lost due to limiting contrast ratios. Video games and computer-generated movies and special effects benefit from this as it creates more realistic scenes than with more simplistic lighting models.

Contents

Graphics processor company Nvidia summarizes the motivation for HDR in three points: bright things can be really bright, dark things can be really dark, and details can be seen in both. [1]

History

The use of high-dynamic-range imaging (HDRI) in computer graphics was introduced by Greg Ward in 1985 with his open-source Radiance rendering and lighting simulation software which created the first file format to retain a high-dynamic-range image. HDRI languished for more than a decade, held back by limited computing power, storage, and capture methods. Not until recently has the technology to put HDRI into practical use been developed. [2] [3]

In 1990, Nakame, et al., presented a lighting model for driving simulators that highlighted the need for high-dynamic-range processing in realistic simulations. [4]

In 1995, Greg Spencer presented Physically-based glare effects for digital images at SIGGRAPH, providing a quantitative model for flare and blooming in the human eye. [5]

In 1997, Paul Debevec presented Recovering high dynamic range radiance maps from photographs [6] at SIGGRAPH, and the following year presented Rendering synthetic objects into real scenes. [7] These two papers laid the framework for creating HDR light probes of a location, and then using this probe to light a rendered scene.

HDRI and HDRL (high-dynamic-range image-based lighting) have, ever since, been used in many situations in 3D scenes in which inserting a 3D object into a real environment requires the light probe data to provide realistic lighting solutions.

In gaming applications, Riven: The Sequel to Myst in 1997 used an HDRI postprocessing shader directly based on Spencer's paper. [8] After E3 2003, Valve released a demo movie of their Source engine rendering a cityscape in a high dynamic range. [9] The term was not commonly used again until E3 2004, where it gained much more attention when Epic Games showcased Unreal Engine 3 and Valve announced Half-Life 2: Lost Coast in 2005, coupled with open-source engines such as OGRE 3D and open-source games like Nexuiz .

Examples

One of the primary advantages of HDR rendering is that details in a scene with a large contrast ratio are preserved. Without HDR, areas that are too dark are clipped to black and areas that are too bright are clipped to white. These are represented by the hardware as a floating point value of 0.0 and 1.0 for pure black and pure white, respectively.

Another aspect of HDR rendering is the addition of perceptual cues which increase apparent brightness. HDR rendering also affects how light is preserved in optical phenomena such as reflections and refractions, as well as transparent materials such as glass. In LDR rendering, very bright light sources in a scene (such as the sun) are capped at 1.0. When this light is reflected the result must then be less than or equal to 1.0. However, in HDR rendering, very bright light sources can exceed the 1.0 brightness to simulate their actual values. This allows reflections off surfaces to maintain realistic brightness for bright light sources.

Limitations and compensations

Human eye

The human eye can perceive scenes with a very high dynamic contrast ratio, around 1,000,000:1. Adaptation is achieved in part through adjustments of the iris and slow chemical changes, which take some time (e.g. the delay in being able to see when switching from bright lighting to pitch darkness). At any given time, the eye's static range is smaller, around 10,000:1. However, this is still higher than the static range of most display technology.[ citation needed ]

Output to displays

Although many manufacturers claim very high numbers, plasma displays, LCD displays, and CRT displays can deliver only a fraction of the contrast ratio found in the real world, and these are usually measured under ideal conditions.[ citation needed ] The simultaneous contrast of real content under normal viewing conditions is significantly lower.

Some increase in dynamic range in LCD monitors can be achieved by automatically reducing the backlight for dark scenes. For example, LG calls this technology "Digital Fine Contrast"; [10] Samsung describes it as "dynamic contrast ratio". Another technique is to have an array of brighter and darker LED backlights, for example with systems developed by BrightSide Technologies. [11]

OLED displays have better dynamic range capabilities than LCDs, similar to plasma but with lower power consumption. Rec. 709 defines the color space for HDTV, and Rec. 2020 defines a larger but still incomplete color space for ultra-high-definition television.

Light bloom

Light blooming is the result of scattering in the human lens, which human brain interprets as a bright spot in a scene. For example, a bright light in the background will appear to bleed over onto objects in the foreground. This can be used to create an illusion to make the bright spot appear to be brighter than it really is. [5]

Flare

Flare is the diffraction of light in the human lens, resulting in "rays" of light emanating from small light sources, and can also result in some chromatic effects. It is most visible on point light sources because of their small visual angle. [5]

Typical display devices cannot display light as bright as the Sun, and ambient room lighting prevents them from displaying true black. Thus HDR rendering systems have to map the full dynamic range of what the eye would see in the rendered situation onto the capabilities of the device. 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, or the scattering in the eye.

Tone mapping and blooming shaders can be used together to help simulate these effects.

Tone mapping

Tone mapping, in the context of graphics rendering, is a technique used to map colors from high dynamic range (in which lighting calculations are performed) to a lower dynamic range that matches the capabilities of the desired display device. Typically, the mapping is non-linear – it preserves enough range for dark colors and gradually limits the dynamic range for bright colors. This technique often produces visually appealing images with good overall detail and contrast. Various tone mapping operators exist, ranging from simple real-time methods used in computer games to more sophisticated techniques that attempt to imitate the perceptual response of the human visual system.

Applications in computer entertainment

Currently HDRR has been prevalent in games, primarily for PCs, Microsoft's Xbox 360, and Sony's PlayStation 3. It has also been simulated on the PlayStation 2, GameCube, Xbox and Amiga systems. Sproing Interactive Media has announced that their new Athena game engine for the Wii will support HDRR, adding Wii to the list of systems that support it.

In desktop publishing and gaming, color values are often processed several times over. As this includes multiplication and division (which can accumulate rounding errors), it is useful to have the extended accuracy and range of 16 bit integer or 16 bit floating point formats. This is useful irrespective of the aforementioned limitations in some hardware.

Development of HDRR through DirectX

Complex shader effects began their days with the release of Shader Model 1.0 with DirectX 8. Shader Model 1.0 illuminated 3D worlds with what is called standard lighting. Standard lighting, however, had two problems:

  1. Lighting precision was confined to 8 bit integers, which limited the contrast ratio to 256:1. Using the HVS color model, the value (V), or brightness of a color has a range of 0 – 255. This means the brightest white (a value of 255) is only 255 levels brighter than the darkest shade above pure black (i.e.: value of 0).
  2. Lighting calculations were integer based, which didn't offer as much accuracy because the real world is not confined to whole numbers.

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 images: lighting precision was not limited to just 8-bits. Although 8-bits was the 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 support DirectX 9.0 natively was ATI's Radeon 9700, though the effect wasn't programmed into games for years afterwards. On August 23, 2003, Microsoft updated DirectX to DirectX 9.0b, which enabled the 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 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 possible on video cards capable of Shader-Model-3.0 effects, but software developers soon added compatibility for Shader Model 2.0. As a side note, when referred to as Shader Model 3.0 HDR, HDRR is really done by FP16 blending. FP16 blending is not part of Shader Model 3.0, but is supported mostly by cards also capable of Shader Model 3.0 (exceptions include the GeForce 6200 series). FP16 blending can be used as a faster way to render HDR in video games.

Shader Model 4.0 is a feature of DirectX 10, which has been released with Windows Vista. Shader Model 4.0 allows 128-bit HDR rendering, as opposed to 64-bit HDR in Shader Model 3.0 (although this is theoretically possible under Shader Model 3.0).

Shader Model 5.0 is a feature of DirectX 11. It allows 6:1 compression of HDR textures without noticeable loss, which is prevalent on previous versions of DirectX HDR texture compression techniques.

Development of HDRR through OpenGL

It is possible to develop HDRR through GLSL shader starting from OpenGL 1.4 onwards.

Game engines that support HDR rendering

See also

Related Research Articles

<span class="mw-page-title-main">Rendering (computer graphics)</span> Process of generating an image from a model

Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as the render. Multiple models can be defined in a scene file containing objects in a strictly defined language or data structure. The scene file contains geometry, viewpoint, textures, lighting, and shading information describing the virtual scene. The data contained in the scene file is then passed to a rendering program to be processed and output to a digital image or raster graphics image file. The term "rendering" is analogous to the concept of an artist's impression of a scene. The term "rendering" is also used to describe the process of calculating effects in a video editing program to produce the final video output.

<span class="mw-page-title-main">Global illumination</span> Group of rendering algorithms used in 3D computer graphics

Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from a light source, but also subsequent cases in which light rays from the same source are reflected by other surfaces in the scene, whether reflective or not.

<span class="mw-page-title-main">Multi-exposure HDR capture</span> Technique to capture HDR images and videos

In photography and videography, multi-exposure HDR capture is a technique that creates high dynamic range (HDR) images by taking and combining multiple exposures of the same subject matter at different exposures. Combining multiple images in this way results in an image with a greater dynamic range than what would be possible by taking one single image. The technique can also be used to capture video by taking and combining multiple exposures for each frame of the video. The term "HDR" is used frequently to refer to the process of creating HDR images from multiple exposures. Many smartphones have an automated HDR feature that relies on computational imaging techniques to capture and combine multiple exposures.

<span class="mw-page-title-main">Shading</span> Depicting depth through varying levels of darkness

Shading refers to the depiction of depth perception in 3D models or illustrations by varying the level of darkness. Shading tries to approximate local behavior of light on the object's surface and is not to be confused with techniques of adding shadows, such as shadow mapping or shadow volumes, which fall under global behavior of light.

The contrast ratio (CR) is a property of a display system, defined as the ratio of the luminance of the brightest shade (white) to that of the darkest shade (black) that the system is capable of producing. A high contrast ratio is a desired aspect of any display. It has similarities with dynamic range.

<span class="mw-page-title-main">Shader</span> Type of program in a graphical processing unit (GPU)

In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as shading. Shaders have evolved to perform a variety of specialized functions in computer graphics special effects and video post-processing, as well as general-purpose computing on graphics processing units.

<span class="mw-page-title-main">Tone mapping</span> Image processing technique

Tone mapping is a technique used in image processing and computer graphics to map one set of colors to another to approximate the appearance of high-dynamic-range (HDR) images in a medium that has a more limited dynamic range. Print-outs, CRT or LCD monitors, and projectors all have a limited dynamic range that is inadequate to reproduce the full range of light intensities present in natural scenes. Tone mapping addresses the problem of strong contrast reduction from the scene radiance to the displayable range while preserving the image details and color appearance important to appreciate the original scene content.

In computer graphics, per-pixel lighting refers to any technique for lighting an image or scene that calculates illumination for each pixel on a rendered image. This is in contrast to other popular methods of lighting such as vertex lighting, which calculates illumination at each vertex of a 3D model and then interpolates the resulting values over the model's faces to calculate the final per-pixel color values.

Radiance is a suite of tools for performing lighting simulation originally written by Greg Ward. It includes a renderer as well as many other tools for measuring the simulated light levels. It uses ray tracing to perform all lighting calculations, accelerated by the use of an octree data structure. It pioneered the concept of high-dynamic-range imaging, where light levels are (theoretically) open-ended values instead of a decimal proportion of a maximum or integer fraction of a maximum. It also implements global illumination using the Monte Carlo method to sample light falling on a point.

Logluv TIFF is an encoding used for storing high-dynamic-range imaging data inside a TIFF image. It was originally developed by Greg Ward for storing HDR-output of his Radiance-photonmapper at a time where storage space was a crucial factor. Its implementation in TIFF also allowed the combination with image-compression algorithms without great programming effort. As such it has to be considered a smart compromise between the imposed limitations. It is slightly related to RGBE, the most successful HDRI storage format, an earlier invention of Greg Ward.

Image-based lighting (IBL) is a 3D rendering technique which involves capturing an omnidirectional representation of real-world light information as an image, typically using a 360° camera. This image is then projected onto a dome or sphere analogously to environment mapping, and this is used to simulate the lighting for the objects in the scene. This allows highly detailed real-world lighting to be used to light a scene, instead of trying to accurately model illumination using an existing rendering technique.

<span class="mw-page-title-main">3D rendering</span> Process of converting 3D scenes into 2D images

3D rendering is the 3D computer graphics process of converting 3D models into 2D images on a computer. 3D renders may include photorealistic effects or non-photorealistic styles.

High dynamic range (HDR), also known as wide dynamic range, extended dynamic range, or expanded dynamic range, is a dynamic range higher than usual.

Strata Design 3D CX is a commercial 3D modeling, rendering and animation program developed in St. George, Utah by Corastar, Inc. Strata Software is the successor to StrataVision 3D. It is a 3D modeling application for the illustration/multimedia market.

Computer graphics lighting is the collection of techniques used to simulate light in computer graphics scenes. While lighting techniques offer flexibility in the level of detail and functionality available, they also operate at different levels of computational demand and complexity. Graphics artists can choose from a variety of light sources, models, shading techniques, and effects to suit the needs of each application.

The term dynamic range may mean:

<span class="mw-page-title-main">Exposure fusion</span>

In image processing, computer graphics, and photography, exposure fusion is a technique for blending multiple exposures of the same scene (bracketing) into a single image. As in high dynamic range imaging, the goal is to capture a scene with a higher dynamic range than the camera is capable of capturing with a single exposure.

This is a glossary of terms relating to computer graphics.

High-dynamic-range television (HDR-TV) is a technology that uses high dynamic range (HDR) to improve the quality of display signals. It is contrasted with the retroactively-named standard dynamic range (SDR). HDR changes the way the luminance and colors of videos and images are represented in the signal, and allows brighter and more detailed highlight representation, darker and more detailed shadows, and more intense colors.

Wolfgang Heidrich is a German-Canadian computer scientist and Professor at the King Abdullah University of Science and Technology (KAUST), for which he served as the director of Visual Computing Center from 2014 to 2021. He was previously a professor at the University of British Columbia (UBC), where he was a Dolby Research Chair (2008-2013). His research has combined methods from computer graphics, optics, machine vision, imaging, inverse methods, and perception to develop new Computational Imaging and Display technologies. His more recent interest focuses on hardware-software co-design of the next generation of imaging systems, with applications such as high dynamic range (HDR) imaging, compact computational cameras, hyper-spectral cameras, wavefront sensors, to name just a few.

References

  1. Simon Green and Cem Cebenoyan (2004). "High Dynamic Range Rendering (on the GeForce 6800)" (PDF). GeForce 6 Series. nVidia. p. 3.
  2. Reinhard, Erik; Greg Ward; Sumanta Pattanaik; Paul Debevec (August 2005). High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting. Westport, Connecticut: Morgan Kaufmann. ISBN   978-0-12-585263-0.
  3. Greg Ward. "High Dynamic Range Imaging" (PDF). anywhere.com. Retrieved 18 August 2009.
  4. Nakamae, Eihachiro; Kaneda, Kazufumi; Okamoto, Takashi; Nishita, Tomoyuki (1990). "A lighting model aiming at drive simulators". Proceedings of the 17th annual conference on Computer graphics and interactive techniques. pp. 395–404. doi:10.1145/97879.97922. ISBN   978-0201509335. S2CID   11880939.
  5. 1 2 3 Spencer, Greg; Shirley, Peter; Zimmerman, Kurt; Greenberg, Donald P. (1995). "Physically-based glare effects for digital images". Proceedings of the 22nd annual conference on Computer graphics and interactive techniques - SIGGRAPH '95. p.  325. CiteSeerX   10.1.1.41.1625 . doi:10.1145/218380.218466. ISBN   978-0897917018. S2CID   17643910.
  6. Paul E. Debevec and Jitendra Malik (1997). "Recovering high dynamic range radiance maps from photographs". Proceedings of the 24th annual conference on Computer graphics and interactive techniques - SIGGRAPH '97. pp. 369–378. doi: 10.1145/258734.258884 . ISBN   0897918967.
  7. Paul E. Debevec (1998). "Rendering synthetic objects into real scenes: Bridging traditional and image-based graphics with global illumination and high dynamic range photography". Proceedings of the 25th annual conference on Computer graphics and interactive techniques - SIGGRAPH '98. pp. 189–198. doi: 10.1145/280814.280864 . ISBN   0897919998.
  8. Forcade, Tim (February 1998). "Unraveling Riven". Computer Graphics World.
  9. Valve (2003). "Half-Life 2: Source DirectX 9.0 Effects Trailer (2003)". YouTube. Archived from the original on 2021-12-21.
  10. Digital Fine Contrast
  11. BrightSide Technologies is now part of Dolby - Archived 2007-09-10 at the Wayback Machine
  12. "Rendering – Features – Unreal Technology". Epic Games. 2006. Archived from the original on 2011-03-07. Retrieved 2011-03-15.
  13. "SOURCE – RENDERING SYSTEM". Valve. 2007. Archived from the original on 2011-03-23. Retrieved 2011-03-15.
  14. "The Amazing Technology of The Witcher 3". PC-Gamer. 2015. Retrieved 2016-05-08.
  15. "FarCry 1.3: Crytek's Last Play Brings HDR and 3Dc for the First Time". X-bit Labs. 2004. Archived from the original on 2008-07-24. Retrieved 2011-03-15.
  16. "CryEngine 2 – Overview". CryTek. 2011. Retrieved 2011-03-15.
  17. Pereira, Chris (December 3, 2016). "Kojima Partnering With Killzone, Horizon Dev Guerrilla for Death Stranding". GameSpot . CBS Interactive. Archived from the original on December 4, 2019. Retrieved December 3, 2016.
  18. "Unigine Engine – Unigine (advanced 3D engine for multi-platform games and virtual reality systems)". Unigine Corp. 2011. Retrieved 2011-03-15.
  19. "BabylonDoc". Archived from the original on 2015-07-04. Retrieved 2015-07-03.
  20. "MIT Licensed Open Source version of Torque 3D from GarageGames: GarageGames/Torque3D". GitHub . 2019-08-22.