ColorGrading
ColorGrading is used to transform (modify or correct) the colors of the HDR buffer.
Color grading transforms are applied after lighting and lens effects (like bloom), and include tone mapping. ColorGrading allows adjusting image properties like exposure, contrast, saturation, temperature, tint, shadows, midtones, and highlights. These adjustments are applied through a lookup table (LUT) for efficient processing.
Creation and usage: A ColorGrading object is created using the Builder and destroyed with Engine.destroy. A ColorGrading object is meant to be set on a View.
Order of operations: The various transforms are applied in the following order:
Exposure
Night adaptation
White balance
Channel mixer
Shadows/mid-tones/highlights
Slope/offset/power (CDL)
Contrast
Vibrance
Saturation
Curves
Tone mapping
Luminance scaling
Gamut mapping
Performance note: Creating a ColorGrading object may be more expensive than other Filament objects as a LUT may need to be generated, which may happen on the CPU.