🌈

Unreal Color Pipeline

🚧
WORK IN PROGRESS / LINK COLLECTION

Table of Content

1. Gamut & Gamut Mapping

In computer graphic, colors and its saturations are commonly visualized as points on this chart commonly referred to as the xy horseshoe:

This shape shows all the colors a human eye can see. We can show the gamut by plotting the most saturated Red, Green and Blue primaries as xy coordinates to compare color spaces and devices. The line in the middle shows commonly used whitepoints that go from 3000k - 9000k (check).

Michael R. Pointer (1980)

In 1982 (check)

(Note: colors are expressed as threedimensional systems (with Yxy where Y is luminance and x,y color coordinates - and just showing the primaries as two dimensional points can be deceiving, so these graphs should be used with caution when comparing gamuts)

Common color spaces are sRGB/Rec709, Rec2020 and ACEScg (ACES AP1) as seen here:

(insert graph)

Additionally there are various other color spaces that are used for calculation and contain color primaries that lay outside the visible spectrum such as ACES AP0 as well as color spaces used for cameras such as ARRI wide gamut:

(insert graph)

threedimensional model, overlapping points can lead to wrong conclusions:

Gamutvision - explore color spaces, gamut mappings, and rendering intents
Gamutvision download Gamutvision 1.4 is identical to 1.3.7, except that registration is not required. Here is the link for the legacy Gamutvision 1.3.7 version , which will be removed soon. Following installation, Gamutvision 1.3.7 runs in trial mode, which allows up to 20 tests. To upgrade it to the full version, you must register Gamutvision™.
http://www.gamutvision.com/modules.php?name=Download

2. Response Curve & Tone Mapping

Perceptual quantizer - Wikipedia
https://en.wikipedia.org/wiki/Perceptual_quantizer
SMPTE ST 2084:2014 PDF Download - Engineer Specifications Free Download, More Standards Here
Sale! $80.00 $40.00 Dynamic Range Electro-Optical Transfer Function of Mastering Reference Displaysstandard by Society of Motion Picture and Television Engineers, 08/16/2014 This standard specifies an EOTF characterizing high-dynamic-range reference displays used primarily for mastering non-broadcast content. This standard also specifies an Inverse-EOTF derived from the EOTF.
https://www.enspecifications.com/product/SMPTE-ST-2084-2014/
UHDTV - HDR and WCG
Display Brightness Variations One of the biggest issues, specifically with PQ based HDR although HLG can be affected too, is screen brightness/luminance variations, due to a range of associated problems with the way HDR works on most displays.
https://www.lightspace.lightillusion.com/uhdtv.html
http://www.digitalvision.tv/documents/HDR_Demystified.pdf

About ST2084 and PQ Implementation. · Issue #401 · colour-science/colour · GitHub

Common RGB Color Spaces
An RGB color space is defined by its primaries, white point and transfer functions, as explained in depth in Section 2.4.8. A color encoding pairs the properties of the color space with a specific digital encoding of values in the space. Encoded values may be represented either as floating point numbers or by integers at a specific bit depth.
https://nick-shaw.github.io/cinematiccolor/common-rgb-color-spaces.html#x34-1430004.1.10

3. LED Color Reproduction

4. Signal Flow

5. Camera & Wall Calibration

1D LUTonly lightness, contrast, gammano saturation
3x3 MATRIXcolor gamut transform, only globalno non-linear transform
3D LUTboth gamut & curve, non- linear transformscan be large, probe to non-obvious bumps
Understanding the ColorMatrix node
This article was previously written to be a part of Issue 006 of my Comp Newsletter. People have found it useful, so posting to the blog for visibility. Each row of knobs represents a colour channel. For example, the output of the red channel is the result of knobs 1 (input red), 2 (input green) and 3 (input blue) , being added together.
https://benmcewan.com/blog/2018/05/09/understanding-the-colormatrix-node/
What is a LUT?
There has also been an explosion in people selling LUTs as a 'magic bullet' to provide specific looks without having to understand colour correction/grading. Many such LUTs are nothing like their description, especially those that purport to be 'film emulation' LUTs.
https://www.lightspace.lightillusion.com/luts.html

6. Measurements Darkbay - Practical example

CRI95

PanelCRIR1NitsxyCCT
Ruby38.4-161.7101.660.31810.32836363.6
37.6-163.31467.540.31980.32956126.5
PanelCRIR1NitsxyCCT
Ruby38.4-161.7101.660.31810.32836363.6
37.6-163.31467.540.31980.32956126.5

7. LED Limitations

Color Fidelity in LED Volumes - The American Society of Cinematographers
Lighting issues explored in this test overseen by Craig Kief, ASC exist essentially across the board in LED-volume environments. Shooting in LED volumes offers filmmakers the ability to create large-scale interactive lighting derived from the screens themselves. This lighting projects onto the performers, props and physical set design, which adds additional realism to the dynamic between the real-world foreground and virtual background.
https://ascmag.com/articles/color-fidelity-in-led-volumes

Ruby 2.3 / Megapixel

8. Scanlines

9. Further readings/links

Managing Color
How to apply color grading and achieve color consistency in Unreal Engine renders.
https://docs.unrealengine.com/4.27/en-US/WorkingWithMedia/ManagingColor/
In-Camera VFX Camera Color Calibration
This document covers the steps to calibrate the display of content on the LED wall for capture with a given camera. The steps that are covered in more detail below are: Display a chart with known RGB values in UE using emissive unlit texture in the scene.
https://docs.unrealengine.com/4.27/en-US/WorkingWithMedia/IntegratingMedia/InCameraVFX/InCameraVFXCameraCalibration/
Learn |
How do you put a number to perceived difference in color? No doubt a fun question to think about, but a more serious topic for print and textile business that require color consistency. The International Commission on Illumination ( CIE) formed in the early 1900s to standardize the fields of colorimetry, photometry, and imaging.
http://zschuessler.github.io/DeltaE/learn/
Color for Motion Pictures and Games
Common RGB Color Spaces OpenColorIO (OCIO) Colour Science for Python LUTs and Transforms ASC CDL ACES CTL Full and Legal ranges Color Difference Encoding Camera Characterization File Formats Color Matching Experiments Grassmann's Law of Additive Color Mixture Software Acknowledgements
https://nick-shaw.github.io/cinematiccolor/cinematic-color.html
Cinematic Color
Authored by Jeremy Selan, and reviewed by the members of the VES Technology Committee including Rob Bredow, Dan Candela, Nick Cannon, Paul Debevec, Ray Feeney, Andy Hendrickson, Gautham Krishnamurti, Sam Richards, Jordan Soles, and Sebastian Sylwan. The VES Technology Committee has assembled an expert panel that can be reached at ves-tech-color@googlegroups.com with questions, comments and errata related to this document.
https://nick-shaw.github.io/cinematiccolor/

Investigate

BalanceGrade - A Nuke tool to neutralize and balance the color of multiple input plates. Can be used with the CalibrateMacbeth or mmColorTarget toolsets to calibrate gamut as well.
BalanceGrade is a Nuke tool to neutralize and balance the color of multiple input plates. It presents an interface to assist with common operations like Applying a 3x3 ColorMatrix to calibrate the hue of an image.
https://gist.github.com/jedypod/d13595f856976869fe4cacd265a2b15e
GenerateLUT
Generates lookup tables, or LUTs, from color management nodes downstream of a CMSTestPattern node. LUTs are generated according to the size of CMSTestPattern cube size.
https://learn.foundry.com/nuke/content/reference_guide/color_nodes/generatelut.html
ColorChecker ("Macbeth") Chart
The ColorChecker Chart is a chart containing 24 coloured patches arranged in a 6 by 4 array. It measures approximately 280 mm by 216 mm (11 inches by 8.25 inches). [A previous version was larger, approximately 330 mm by 230 mm (13 inches by 9 inches).]
http://poynton.ca/notes/color/GretagMacbeth-ColorChecker.html

OCIO in Viewport

Once you've adjusted these settings, the Viewport will disable Tone Curve and insert color conversion into the post processing stage of rendering. It does this right after UE applies the Tone map but before everything else.

http://library.imageworks.com/pdfs/imageworks-library-cinematic_color.pdf

http://library.imageworks.com/pdfs/imageworks-library-cinematic_color.pdf

9. Texturing Workflow

Proper Texturing Workflow for Unreal Engine
Hi folks, I'm a graphics engineer learning about ACES for the first time. I've started working on an Unreal project, after they moved to the ACES tonemapper. When we started developing a look for our game, we found that the textures we were creating in Substance Painter seemed 'washed out' when we brought them into Unreal.
https://community.acescentral.com/t/proper-texturing-workflow-for-unreal-engine/3145
Color Space Basics for Video
Hey all, here is a video that attempts to explain a bit about color space. This is a big topic and can get very complex so I simplified this as much as I cou...
https://youtu.be/l1vMKrccBF0

https://community.acescentral.com/t/proper-texturing-workflow-for-unreal-engine/3145

Chapter 1.5: Academy Color Encoding System (ACES) - Chris Brejon
The careful reader will have noticed that over the two years of existence of my website, my analysis on ACES has changed quite a bit and went from " ACES is awesome" to " ACES has issues and limitations".
https://chrisbrejon.com/cg-cinematography/chapter-1-5-academy-color-encoding-system-aces/