Page MenuHome

Lookdev HDRIs are interpreted incorrectly when using different colour spaces
Open, Needs Triage by DeveloperPublic

Description

System Information
Operating system: Any
Graphics card: Any

Blender Version
Broken: 2.82 (sub 1), branch: master, commit date: 2019-11-04 20:01, hash: ef7fd50f8a93, type: Release

Short description of error
HDRIs installed into Blender for use in Lookdev Mode don't offer an option to set their colour space.

  • Blender probably assumes they are encoded in Rec.709, but this doesn't hold up if they're not.
  • Alternatively, when using a different OCIO config, the Rec.709 colour space is almost never listed as just 'Linear', so Blender picks a different space from the config.

Both scenarios cause undesired hue shifts. This is most probably also true for MatCaps, but to be fair I haven't looked yet into how they work.

Exact steps for others to reproduce the error

  1. Install a differently encoded HDRI into Blender, for example one of the EXRs from the imageworks/OpenColorIO-Configs repo on GitHub.
  2. Switch the viewport to lookdev mode and activate the newly installed HDRI. The colours will have shifted.

or:

  1. Start Blender using an alternate OCIO config, such as one from said imageworks/OpenColorIO-Configs repo.
  2. Switch the viewport to lookdev mode and try the HDRIs that ship with Blender by default. Those colours will also have shifted.

Details

Type
Bug

Event Timeline

when using a different OCIO config, the Rec.709 colour space is almost never listed as just 'Linear', so Blender picks a different space from the config

This is probably best avoided by looking up roles instead of literal colour space names.

Seems to be related to the color management issues described by T71357: Design: DrawManager Colormanagement

I think it's more superficial than that. Lookdev Mode to me seems like a temporary World that Blender creates and tells Eevee to use while the Viewport is in that mode. In that case this World uses an environment texture like any other World does, only without the amount of controls we normally would be presented with.