padGrade
The photographic finish of *Pastel Astral Dream*, as one post-process pass: exposure in stops, a warm halation spread, the act's key colour as a tint, saturation, a gentle edge fall, **milk-lifted blacks gated on scene depth**, and a highlight shoulder that keeps pastel from clip…
padGrade
The photographic finish of Pastel Astral Dream, as one post-process pass: exposure in stops, a warm halation spread, the act's key colour as a tint, saturation, a gentle edge fall, milk-lifted blacks gated on scene depth, and a highlight shoulder that keeps pastel from clipping to white.
The lift is the reason this pass exists rather than a chain of built-ins. The
film's rule is that nothing in frame except the sky may sit under luma 40, and
the sky must stay the one dark value in the picture. Reversed scene depth reads
0.0 where nothing was drawn, so lift is applied to drawn surfaces and
skyLift — normally far smaller — to the void behind them.
Properties
| name | what it does |
|---|---|
exposure | stops; +1 doubles the light reaching the image |
tint | the act's key colour, multiplied onto the light |
saturation | 1 leaves colour alone; the film runs a little above it |
lift | how far the blacks on drawn surfaces are raised toward milk |
milk | the colour the blacks are lifted toward — cream, never grey |
knee | where the highlight shoulder starts |
shoulder | how hard it compresses above the knee |
edgeFall | a soft fall at the frame's corners; keep it small |
skyLift | the lift applied where no surface was drawn |
halation | how much bright emulsion bleeds sideways, warm |
Usage
Registered and driven by @user::pad.look; nothing else should touch it.
postprocess.add("pad_grade", asset.resolve("padGrade", "shader"), { priority = 300, layer = "scene" })
postprocess.setProperty("pad_grade", "exposure", 0.4)
Notes
- Steps 5 and 6 are ordered so the lift is last thing that can change a shadow's level. Anything multiplied in after it can push a pixel back under the floor, which is the gate this film is measured by.
- The depth gate is averaged over a five-texel cross, so a silhouette softens into the lift instead of stepping.
Scoped to this part · feeds back into the world's score.