Version: Unity 6.1 Alpha (6000.1)
Language : English
High dynamic range (HDR)
HDR color picker reference

Introduction to high dynamic range (HDR)

High dynamic range (HDR) is a technique that produces images with a greater dynamic range of luminosity than standard dynamic range (SDR) images, allowing for realistic depictions of color and brightness.

How HDR works

In standard rendering, the red, green, and blue values of a pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary
are stored using an 8-bit value between 0 and 1, where 0 represents zero intensity and 1 represents the maximum intensity for the display device. This limited range of values doesn’t accurately reflect the way that we perceive light in real life and leads to unrealistic images when very bright or very dark elements are present.

In HDRhigh dynamic range
See in Glossary
rendering, the pixel values are stored using floating point numbers. This allows for a much larger range of values that more accurately represents the way that the human eye perceives color and brightness.

HDR in Unity

In Unity, you can use HDR images for internal rendering calculations. This feature is called HDR rendering. When HDR rendering is enabled, Unity renders the sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
to an HDR image buffer, and performs rendering operations, such as post-processingA process that improves product visuals by applying filters and effects before the image appears on screen. You can use post-processing effects to simulate physical camera and film properties, for example Bloom and Depth of Field. More info post processing, postprocessing, postprocess
See in Glossary
effects, using that HDR image. This means that the calculations are carried out using realistic values, which can lead to more realistic results.

On certain compatible platforms, Unity supports sending that HDR image to the display device. This feature is called HDR Output.

Considerations for the use of HDR

HDR offers a variety of advantages and disadvantages which you should consider before you use HDR to ensure it is the correct choice.

Advantages of using HDR

HDR offers the following advantages:

  • Colors are not lost in high intensity areas
  • Better bloom and glow support
  • Reduction of banding in low frequency lighting areas

Disadvantages of using HDR

HDR offers the following disadvantages:

  • Increased VRAM usage
  • Additional computational cost of tonemappingThe process of remapping HDR values of an image into a range suitable to be displayed on screen. More info
    See in Glossary
    , when used
  • Hardware anti-aliasing is not compatible with HDR rendering

Render pipeline compatibility

For information on HDR Rendering and HDR Output in URP, see HDR Output in URP.

For information on HDR Rendering and HDR Output in HDRP, see HDR Output in HDRP.

For any additional information about support for HDR Rendering and HDR Output in the Scriptable Render PipelinesA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
URP and HDRP, see the Render pipeline feature comparison.

Tonemapping

Tonemapping is the process of mapping color values from one range to another. When working with HDR, you must use tonemapping to convert the colors in the HDR image buffer so that the values are within a range that your display device can handle. If you do not use tonemapping, you can lose much of the detail and color information from the image, especially in very bright areas.

An exceptionally bright scene rendered in HDR and output to SDR. Without tonemapping, most pixels appear out of range.
An exceptionally bright scene rendered in HDR and output to SDR. Without tonemapping, most pixels appear out of range.
The same scene as above. But this time, tonemapping is bringing most intensities into a more plausible range. Note that adaptive tonemapping can even blend between above and this image thus simulating the adaptive nature of capturing media (e.g. eyes, cameras).
The same scene as above. But this time, tonemapping is bringing most intensities into a more plausible range. Note that adaptive tonemapping can even blend between above and this image thus simulating the adaptive nature of capturing media (e.g. eyes, cameras).

When using HDR rendering with SDR output, you must use tonemapping to convert the HDR image buffer to an SDR image for display. Unity provides tonemapping post-processing effects that let you do this: the Post-Processing Stack V2 package, the URP integrated post-processing solution, and HDRP integrated post-processing solution all contain tonemapping effects.

When using HDR rendering with HDR output, you can either:

  • Create your own tonemapping solution that converts the HDR image buffer directly to a compatible HDR format for display

  • Use Unity’s tonemapping post-processing effects to convert the HDR buffer to an SDR image (as above), and then use Unity’s automatic output tonemapping to convert that SDR image to a suitable output format. For more details of Unity’s automatic output tonemapping, see the documentation for HDROutputSettings.automaticHDRTonemapping.

  • HDROutputSettings API added in 2020.1 NewIn20201

High dynamic range (HDR)
HDR color picker reference