Skip to content

Film Grain

Brief Description

Adds realistic synthetic film-grain to the image.

Controls

Parameter / Script Name Type Default Function
Enabled / enabled Boolean On
Red / process_red Boolean On Enable the red channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Green / process_green Boolean On Enable the green channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Blue / process_blue Boolean On Enable the blue channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Alpha / process_alpha Boolean On Enable the alpha channel in output. Otherwise if there's a source the content of the main source is returned instead, else 0
Method / method Choice Precise
- Fast
- Precise
Samples / iterations Float 20 Number of samples used to render the grain. Higher means higher quality but longer render times
Grain Radius / grain_radius_mean Float 0.05 Average size of grains. Higher means longer render time
Grain Diffusion / grain_radius_std Float 0 Standard deviation of the grain radius distribution. This value should generally vary between 0 and Grain Radius
Smoothing / sigma Float 0.8 Sigma of a gaussian, increases smoothing. For better quality, increase the number of samples, to the cost of a longer render.
Preset / preset Choice Custom
- Custom
- Kodak 5245
- Kodak 5248
- Kodak 5287
- Kodak 5293
- Kodak 5296
- Kodak 5298
- Kodak 5217
- Kodak 5218
- Kodak Black and White
Smoothness / smoothness Float 0
RGB Blur / rgb_blur Float 3D 0, 0, 0
Amount / amount Float 3D 0.208, 0.2655, 0.6
Gain / cc_gain Color 1, 1, 1, 1
Gamma / cc_gamma Color 1, 1, 1, 1
Saturation / cc_saturation Color 1, 1, 1, 1
Scale / scale Float 2D 1, 1
Blend Mode / blend_mode Choice Add
- Add: Ac + Dc
The source is added to the destination and replaces the destination. This operator is useful for animating a dissolve between two images.
- Color Dodge: if Ac < 1
min(1,Bc / (1 - Ac))
else
1
Brightens the backdrop color to reflect the source color. Painting with black produces no changes.
- Lighten: max(Ac, Bc)
The resultant color is the lighter of source or destination colors. If the source is lighter, it replaces the destination. Otherwise, the destination is preserved.
- Linear Dodge: min(Ac + Bc, 1)
Lightens the source image to reflect the destination image color
- Screen: Ac + Bc - Ac * Bc
The source and destination colors are complemented, multiplied and the resultant color replaces the destination. The resultant color is always at least as light as either the source or destination colour.
- Hard-light: if Ac <= 0.5
multiply(Ac)
else
screen(Ac)
The source color is used to determine if the resultant is either a multiplication or screening of the colors. If the source color is lighter than 0.5, the destination is lightened as if it were screened. If the source color is darker than 0.5, the destination is darkened, as if it were multiplied.
- Hard Mix: if vivid-light(Ac,Bc) < 0.5 then 0 else 1
- Linear Light: if Ac < 0.5
linear-burn(2 * Ac, Bc)
else
linear-dodge(2 * (Ac - 0.5), Bc)
Use linear-burn to decrease brightness on dark colors and linear-dodge to increase brightness on lighter colors
- Overlay: if Bc <= 0.5
2 * Ac * Bc
else
1 - 2 * (1 - Bc) * (1 - Sc)
The destination color is used to determine if the resultant is either a multiplication or screening of the colors. Source colors overlay the destination whilst preserving its highlights and shadows
- Pin Light: if B >= 0.5
lighten(Ac, 2 * Bc - 1)
else
darken(Ac, Bc * 2.0)
A mix of full strength Lighten and Darken blend modes: It completely removes all mid tones
- Soft Light: if 2 * Ac <= 1
Bc - (1 - 2 * Ac) * Bc * (1 - Bc)
else if 4 * Bc <= 1
Bc + (2 * Ac - 1) * (4 * Bc * (4 * Bc + 1) * (Bc - 1) + 7 * Bc
else
Bc + (2 * Ac - 1) * (sqrt(Bc) - Bc)
The source colour is used to determine if the resultant color is darkened or lightened. If the source color is lighter than 0.5, the destination is lightened. If the source color is darker than 0.5, the destination is darkened, as if it were burned in. The degree of darkening or lightening is proportional to the difference between the source color and 0.5. If it is equal to 0.5, the destination is unchanged
- Vivid Light: if Ac < 0.5
color-burn(2 * Ac, Bc)
else
color-dodge(2 * (Ac - 0.5), Bc)
A mix of color dodge and Burn. It’s a more intense and saturated contrast mode and can add more saturation to unsaturated images.
- Difference: abs(A - B)
The resultant color is the absolute difference between the source and destination colors
- Divide: if Dc > 0 and Ac > 0
Ac / Bc
else
0
Divides the values of the image A by the values of the image B. Stops 2 negative values from becoming a positive value
- Exclusion: Ac + Bc - 2 * Ac * Bc
The resultant color is similar to that of the difference operation. However, the exclusion resultant color appears as a lower contrast than that of the difference resultant color.
- Minus: Ac - Bc
Image B is subtracted from image A
- Subtract: Bc - Ac
Subtract the A image values from the B image values.
- Color: SetLum(Ac, Lum(Bc))
Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color. This preserves the gray levels of the backdrop and is useful for coloring monochrome images or tinting color images.
- Hue: SetLum(SetSat(Ac, Sat(Bc)), Lum(Bc))
Creates a color with the hue of the source color and the saturation and luminosity of the backdrop color
- Luminosity: SetLum(Bc, Lum(Ac))
Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color. This produces an inverse effect to that of the Color mode.
- Saturation: SetLum(SetSat(Bc, Sat(Ac)), Lum(Bc))
Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color. Painting with this mode in an area of the backdrop that is a pure gray (no saturation) produces no change.
- Replace: Ac
Replace the background image by the foreground image
- Destination Atop: Bca × Aa + Aca × (1 - Ba)
The part of the destination lying inside of the source is composited over the source and replaces the destination
- Destination Out: Ba * Bc * (1 - Aa)
The part of the destination lying outside of the source replaces the destination.
- Destination Over: Aa * (1 - Ba) + Bc
The destination is composited over the source and the result replaces the destination
- Destination In: Bc * Aa
The part of the destination lying inside of the source replaces the destination.
- Source Atop: Ac * Ba + Bc * (1 - Aa)
The part of the source lying inside of the destination is composited onto the destination
- Source Out: Ac * (1 - Ba)
The part of the source lying outside of the destination replaces the destination.
- Normal: Ac + Bc * (1 - Aa)
The source is composited over the destination
- Source In: Ac * Ba
The part of the source lying inside of the destination replaces the destination.
- Xor: Ac * (1 - Ba) + Bc * (1 - Aa)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source.
- Average: (Ac + Bc) / 2
The average of the 2 images
- Conjoint Over: if Aa <= Ba
Ac + Bc * (1 - Aa / Da) / b
else
Ac
Same as the normal over mode, except that when partially covered by both A and B, A hides B
- Disjoint Over: if Aa + Ba >= 1
Ac + Bc * (1 - Aa) / Ba
else
Ac + Bc
Same as the normal over operation, except that when partially covered by both A and B, the 2 images do not overlap
- Geometric: 2 * Ac * Bc / (Ac + Bc)
Similar to average but only where A and B overlap
- Grain-Extract: Bc - Ac + 0.5
Extracts grain from image A and adds it ontop of the image B
- Grain-Merge: Bc + Ac - 0.5
Merges a grain layer (for example extracted from the Grain-Extract mode) on-top of the B image. This is the opposite of the Grain-extract mode
- Hypot: sqrt(Ac * Ac + Bc * Bc)
In-between the Plus and Screen operators
- Reflect: Aa * Aa / (1 - Ba)
Darkens the output image using values from the source image.
- Color Burn: if Ac > 0
1 - min(1, (1 - Bc) / Ac)
else
0
Darkens the backdrop color to reflect the source color. Painting with white produces no change.
- Darken: min(Ac, Bc)
The resultant color is the darker of source or destination colors. If the source is darker, it replaces the destination. Otherwise, the destination is preserved.
- Linear Burn: Bc + Ac -1
Darkens the source image and reflects the destination image
- Multiply: if Ac < 0 and Bc < 0
0
else
Ac * Bc
The source color is multiplied by the destination color and replaces the destination. The resultant color is always at least as dark as either the source or destination color. Stops 2 negative values from becoming a positive value
- Multiply (Math): Ac * Bc
The source color is multiplied by the destination color and replaces the destination. Unlike Multiply, 2 negative values become a positive
RGB Seed / seed Color 0, 1, 2, 0 Seed of the random distribution for each channel. Set channels to the same value to achieve a black and white noise
Vary with time / vary_with_time Boolean On When checked, the seed is modulated by the current time so that the grain changes at every frame
Mask / mask Image -
Mix / mix_with_source Float 1 Dissolves between the original image at 0 and the image with the effect applied at 1