TonemapCurve class final
Which curve the composite rolls highlights off with — gfx-17n.
A final class with const instances rather than an enum, the shape
LightingModel already has and the one tool/structure.dart's "an enum in
a published package is machinery or is not an enum" rule asks for: the
code is part of a uniform layout four backends read, so it is a number
this type owns rather than an ordinal the language happens to assign.
None of these is better than the others and the default is not a verdict:
neutral leaves midtones where the asset's author put them, aces trades
midtones for a filmic shoulder, agx keeps a gradient inside bright
saturated light at the cost of desaturating as it climbs, and reinhard
touches nothing but the highlights. composite.frag carries the argument
for each one beside its arithmetic.
Properties
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- aces → const TonemapCurve
- ACES, the Narkowicz fit.
- aces2 → const TonemapCurve
-
The ACES 2.0 tonescale through the engine's display transform table —
L2. SeeEngineTables.aces2Displayfor what the table holds and does not: the SDR tonescale applied with the hue held, not the reference transform's appearance-model gamut work. - agx → const TonemapCurve
-
AgX: the gamut rotation, the log sigmoid, and back to linear — see
composite.frag. - agxFull → const TonemapCurve
-
The same transform as agx —
gfx-26n. - neutral → const TonemapCurve
- Khronos PBR Neutral — the default, and what every golden here holds.
- reinhard → const TonemapCurve
- Reinhard, extended so white reaches white.
-
values
→ const List<
TonemapCurve> - All of them, in the order their codes run.