Brylka – TooDee – PanicPost

1.7. From images to textures

and from standard sRGB to Blender Filmic.

Textures for 3D applications or logos/titles from agency/clients most of the time come from various sources and usually they can be viewed directly on your screen like this drawing from ProCreate. The are created in a display referred workflow – means the colors on the screen are related to the screen you are viewing them.

Start with a display referred workflow…

Lighthouse from Rosa Rodríguez – drawn in Procreate following a drawing tutorial from Art with Flo.

Books on Tour & Art with Flo

The same image viewed in Affinity Photo.

…to a scene referred workflow, bringing a image/texture into the “scene”.

Nuke Colormangement Default – viewer sRGB.

Although Nuke shows the same image as Affinity Photo, internally the footage got linearized (by removing the sRGB tone mapping curve) and the viewer node applies again the sRGB view transform.
Scene linear image processing operations have a big visual difference in comparison to a display referred approach like Affinity Photo, PhotoShop, After Effects and so on in their default settings.

To see more examples what it means to work display or scene referred – check out “Adding colors before/after a view transform

Nuke Colormangement Default – viewer None – This is how Nuke “sees” the image data and processes it.
Blender with just the sRGB Texture, colorspace set to sRGB (like in Nuke), a constant shader to ignore shading for the moment and project the image onto a plane – view transform set to RAW.

The same processing steps happens in Blender like in standard Nuke when switching the view transform to RAW, then to sRGB and finally to Filmic (Given that the OCIO config Blender-Filmic is loaded)

Set the view transform to sRGB – now the render looks again identical to Nuke & Affinity Photo.

Until here the color management of Nuke & Blender is limited to gamma or tone mapping only – the gamut is assumed in both cases to be linear sRGB/Rec.709 as they share the same primaries.

The display referred colors of the texture start changing when viewing them through the Filmic View Transform. The sRGB texture is linearized and viewed through a different view transform that has more abilities than the simple sRGB view transform. For example it doesn’t clamp RGB values at 1.0 and has a gamut compression method for high intensity values built in.

Please refer to the link “Filmic Blender” which is the default OCIO configuration for Blender since version 2.79 to read what the Filmic View Transform does.

Set the view transform to Filmic – the image looks a bit more dull and desaturated.
Nuke with the OCIO config: filmic-blender-master, view transform is Filmic Log (Encoding Base sRGB) and the base look is applied via the OCIOFileTransform /looks/Filmic_to_0-70_1-03.spi1d.
adding lights and shading
Back in Blender – the purpose of having textures in 3D is to receive and interact with lighting in the scene – change the shader to the default and add a light.
The linearized texture is now in the scene, the colors of the texture don’t change and are now scene referred, but only get visible when there is actually a light illuminating the scene and therefore the texture.

As it was shown above, as soon as the input and the output transforms are not the same, the display referred texture has a different appearance coming out of the rendering pipeline (scene) and viewed back in a display referred environment.

The processing pipeline for Blender & Nuke:

  • Save sRGB Texture from Procreate or any other program.
  • Blender & Nuke – remove sRGB view transform (linearize)
  • working scene linear in Blender & Nuke (scene referred)
  • view result through sRGB Viewer (view transform)
  • Save JPG/PNG with applied view transform or save an EXR without it.
  • Use a different view transform like Blender Filmic and the result will look different. Filmic uses the tone mapping from the ACES ODT (sRGB), but a different gamut handling for very high scene linear light values.