Skip to content
CoreSource checked

Tone Mapping

Maps high-dynamic-range color values into a displayable range.

Quick Facts

Compact metadata for implementation and discovery.

Category
Rendering
Difficulty
Intermediate
Family
Image Formation
Tier
Core
Status
Verified
Review
Source Checked
Sources
1
Formulas
1
Relationships
1
Code example
Ready
Visualization
Ready

Overview

Tone mapping compresses bright and dark image values so rendered or captured HDR content fits a standard display while retaining useful contrast.

Core Concepts

dynamic range compressionexposuredisplay transformcolor mapping

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(pixels)

Average

O(pixels)

Worst

O(pixels)

Space

O(1)

When to Use

  • Use when real-time graphics needs dynamic range compression.
  • Use when the input matches the assumptions behind image Formation.

When Not to Use

  • Avoid when the effect costs more than the visual improvement for the target hardware.
  • Avoid when a simpler algorithm gives the required result with less setup.

What It Does

  • Maps high-dynamic-range color values into a displayable range
  • Uses dynamic range compression and exposure to guide the work.
  • Produces rendered image.

Use Cases

  • Real-time graphics
  • Offline rendering
  • Lighting and visibility effects

Inputs

  • Scene geometry
  • Materials
  • Camera and lighting state

Outputs

  • Rendered image
  • Visibility or shading buffers

Key Formulas (1)

Reinhard tone map

colorout = colorin / (1 + colorin)
color_out = color_in / (1 + color_in)

Compresses high values into a displayable range.

Pseudocode

  1. 1.Prepare the inputs and state needed for Tone Mapping.
  2. 2.Apply the dynamic range compression step while the stopping condition has not been met.
  3. 3.Update intermediate state and discard invalid candidates.
  4. 4.Return rendered image.

Canonical Example

Input
Tone Mapping input
Output
Rendered image
Explanation
Tone Mapping applies dynamic range compression to produce rendered image.

Implementation Notes

  • Keep the data space for positions, normals, and samples explicit in the implementation.
  • Keep the dynamic range compression step separate enough to test independently.

Common Pitfalls

  • Mixing coordinate spaces or sampling domains leads to artifacts that are hard to debug.
  • Test boundary and adversarial cases, not only ideal inputs.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show rays, samples, buffers, or shading terms that contribute to the final pixel.

Tone Mapping mechanism walkthrough step 1 of 4
Step 1 of 4: Prepare the inputs and state needed for Tone Mapping.
rendering-mechanism

Notes

Tone Mapping should be used with the assumptions and tradeoffs of image Formation in mind.

Sources (1)

What each reference supports for this entry.

Reinhard et al. 2002

Paper

Classic photographic tone reproduction paper for mapping HDR luminance to display range.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Often paired withPath Tracing

Path-traced images commonly need tone mapping before display.

Tags

GraphicsImage ProcessingFilteringVisualization