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 values mean higher quality but longer render times. |
Grain Radius / grain_radius_mean
|
Float | 0.05 | Average size of grains. Higher values increase render time. |
Grain Diffusion / grain_radius_std
|
Float | 0 | Standard deviation of grain radius distribution. Typically between 0 and Grain Radius. |
Smoothing / sigma
|
Float | 0.8 | Sigma of a gaussian; higher values increase smoothing. For better quality increase samples, at the cost of render time. |
Color Precision / lut_size
|
Choice | 1024 |
Controls the lookup table size used to reconstruct grain: 256 512 1024 2048 4096 |
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 — Adds source to destination. Color Dodge: if Ac < 1 → min(1, Bc / (1 - Ac)); else 1. Lighten: max(Ac, Bc). Linear Dodge: min(Ac + Bc, 1). Screen: Ac + Bc - Ac * Bc. Hard-light: multiply/screen depending on Ac. Hard Mix: vivid-light threshold. Linear Light: burn/dodge depending on Ac. Overlay: multiply/screen depending on Bc. Pin Light: removes mid-tones. Soft Light: multi‑branch soft‑light formula. Vivid Light: color burn/dodge. Difference: abs(A - B). Divide: Ac / Bc (if Dc > 0 and Ac > 0). Exclusion: Ac + Bc - 2AcBc. Minus: Ac - Bc. Subtract: Bc - Ac. Color: SetLum(Ac, Lum(Bc)). Hue: SetLum(SetSat(Ac, Sat(Bc)), Lum(Bc)). Luminosity: SetLum(Bc, Lum(Ac)). Saturation: SetLum(SetSat(Bc, Sat(Ac)), Lum(Bc)). Replace: Ac. Destination Atop: Bca × Aa + Aca × (1 - Ba). Destination Out: Ba * Bc * (1 - Aa). Destination Over: Aa * (1 - Ba) + Bc. Destination In: Bc * Aa. Source Atop: Ac * Ba + Bc * (1 - Aa). Source Out: Ac * (1 - Ba). Normal: Ac + Bc * (1 - Aa). Source In: Ac * Ba. Xor: Ac * (1 - Ba) + Bc * (1 - Aa). Average: (Ac + Bc) / 2. Conjoint Over: branch based on Aa ≤ Ba. Disjoint Over: branch based on Aa + Ba ≥ 1. Geometric: 2AcBc / (Ac + Bc). Grain Extract: Bc - Ac + 0.5. Grain Merge: Bc + Ac - 0.5. Hypot: sqrt(Ac² + Bc²). Reflect: Aa² / (1 - Ba). Color Burn: 1 - min(1, (1 - Bc) / Ac). Darken: min(Ac, Bc). Linear Burn: Bc + Ac - 1. Multiply: Ac * Bc. Multiply (Math): Ac * Bc (negatives preserved). |
RGB Seed / seed
|
Color | 0, 1, 2, 0 | Seed of the random distribution for each channel. Set channels to the same value for black‑and‑white noise. |
Vary with time / vary_with_time
|
Boolean | On | When enabled, the seed is modulated by time, causing grain to change 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. |
