ToneMapping

sealed interface ToneMapping

Tone mapping operator selection for ColorGrade, as a value: every variant compares structurally, so two ColorGrades built with the same settings are equal and don't force a ColorGrading rebuild (the native ToneMapper instances have identity equality, which would re-bake the grading LUT on every recomposition). The native operator is constructed only when the configuration is actually applied.

Inheritors

Types

Link copied to clipboard
data object ACES : ToneMapping

ACES RRT + sRGB ODT — Filament's recommended default.

Link copied to clipboard
data object ACESLegacy : ToneMapping

ACES with a ~1.6 brightness multiplier, for backward compatibility.

Link copied to clipboard
data class Agx(val look: ToneMapper.Agx.AgxLook = ToneMapper.Agx.AgxLook.NONE) : ToneMapping

AgX operator with an optional creative look.

Link copied to clipboard

Maps exposure stops to debug colors for validating scene lighting.

Link copied to clipboard
data object Filmic : ToneMapping

Approximation of ACES aesthetics; exists for backward compatibility.

Link copied to clipboard
data class Generic(val contrast: Float = 1.55f, val midGrayIn: Float = 0.18f, val midGrayOut: Float = 0.215f, val hdrMax: Float = 10.0f) : ToneMapping

Configurable curve — see ToneMapper.Generic for parameter semantics.

Link copied to clipboard
data object GT7 : ToneMapping

Gran Turismo 7 operator (250-nit paper white target).

Link copied to clipboard
data object Linear : ToneMapping

Clamped linear pass-through; mostly for debugging.

Link copied to clipboard
data object PBRNeutral : ToneMapping

Khronos PBR Neutral — preserves material appearance across lighting conditions.