Skip to content

Tone Mapping

Related references:

Tone mapping controls the final look of HDR content on screen, especially the highlights, contrast, and overall style of a model.

API

js
await api.setToneMapping(api.constants.aces_filmic, 1);

The second parameter is the exposure value. Its default is 1.

Built-in Constants

api.constants provides the following values:

js
api.constants = {
  no: 0,
  linear: 1,
  reinhard: 2,
  cineon: 4,
  aces_filmic: 5,
};

Common Choices

no

Disables tone mapping. Good for baseline comparison tests.

linear

Direct and conservative.

reinhard

Traditional and stable, suitable for basic compression.

cineon

Produces a more film-like style overall.

aces_filmic

Often one of the most practical choices for modern PBR scenes, and one of the easiest ways to get pleasing results in model presentation.

  1. lock the lights
  2. lock the environment map
  3. switch only the tone mapping mode
  4. then fine-tune the exposure

That makes it easier to tell which layer of settings is affecting the final image.