
Why grain needs softness
Film grain is not pasted on top of a perfectly sharp image. The crystals and dye clouds that form the grain also scatter a little light as the image is recorded, so the picture underneath is very slightly soft. That is a big part of why real grain sits in the photo. A razor-sharp digital image with noise on top reads as an overlay, however good the noise is.
How the engine works
- Even in every direction. Each pixel is blended with a ring of neighbors at two distances, so edges soften the same way whether they are horizontal, vertical or diagonal.
- In linear light. Light is mixed the way it physically adds up, not in gamma-encoded values. Bright edges bloom very slightly into their surroundings instead of turning dull and grey.
- Per color layer. In color film the red-sensitive layer sits deepest in the emulsion and is the softest, while the blue-sensitive layer on top is the sharpest. The engine gives each channel its own spread: red softest, then green, then blue.
- Driven by the grain. More grain means a little more softness, and no grain means no softness. At high ISO the softness is trimmed back, so coarse grain stays crisp instead of blurry.
Measured, not guessed
The softness is sized relative to the photo, like the grain itself, but capped for very large files so it never grows into visible blur. We measure it as the width of the transition across a hard edge, from 10% to 90% (green channel, default settings, ISO 400):
| Photo size (long side) | Edge width |
|---|---|
| 1,600 px | 1.4 px |
| 4,000 px | 2.4 px |
| 6,000 px and up | 3.1 px |
From about 6,000 pixels upward the softness holds at 3.1 px, so a 24 MP and a 100 MP export look equally tight when you zoom in.
Crisp where it counts
Film is soft in the fine detail and still reads sharp. Part of the reason is the development itself. Developer is used up faster next to bright, dense areas of the negative and stays fresher next to dark, thin ones. Across an edge the bright side develops a little denser and the dark side a little thinner, which adds a touch of contrast right at edges. Photographers call it the adjacency effect.
The engine recreates it in density terms, over a wider radius than the micro-softness. It compares every pixel with its local surroundings and gently strengthens the difference, fading out in deep shadow so noise is not amplified. Letters, rims and contours stay crisp while the finest texture keeps its softness, without the halos of a sharpening filter. The strength follows the grain, so it is part of the look rather than an extra control.
Your call: the Softness slider
The default is calibrated to match film, but you decide. The Softness slider under Grain character scales it from 0% (grain on a completely sharp image) to 200% (a softer, older-film look). Double-click the slider to return to 100%.