See also:
Matching viewports from DCC to UE
Colour Science Precis for the CGI Artist
A 3-page overview of everything relevant
Psychopath Renderer | Notes on Color: 01
Fantastic introductory post about color vision & the RGB spectrum
Digital color refers to the digital data representation of a real-life color. Since real life color work fundamentally different from digital color, we need to use all kinds of tricks and systems to represent them accurately.
It’s important to distinguish the color space of the file/software versus the color space of the display:
Working space (sometimes called Color Settings) | The color space used inside the application to blend texture, paint, etc. |
---|---|
Display transform (sometimes called View Transform or Proof Setup) | Display transform converts the linear colors from the working space to the color space of the monitor to display colors perceptually (to be seen by the human eyes). Display transforms often include a tonemapping pass to compress colors to fit the limited range of values allowed by a screen. |
File space | An image can carry meta-data that communicates which display transform should be used (by defining a color space) to display the raw color data in that image. Not all displays, viewers and software support all color spaces (see chapter on File types). |
Most modern software has options to adjust the Display (or View) Transform. However, this does not change the working space of your DCC.
Photoshop proof setup
Painter viewport color management
Changing the working space can also be done in the software. Note that changing the working space changes your color picker and other color-related tools, for the simple reason that you can now “choose” colors from a wider (or narrower) selection of colors.
Photoshop working spaces setup (also when you create a new file)
Painter color spaces settings
Unreal Engine’s working color space
You can write your working color space into the file (depending on file type); like in Photoshop in the save dialogue:
In game/rendering engines, the brightness of a color can be many times more than 1, thousands of times more. The brightness of a color inside the engine is unclamped, meaning it can be as high as computationally possible. But how to we display that brightness to a display which only has one level of brightness?
With Unreal’s current implementation, the full processing of the rendered scene is handled through what is known as the ACES Viewing Transform (other renderers might use different Transforms). This process works by using scene-referred and display-referred images.
This transformation works in three steps in the following order: