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. |
Color Precision / lut_size | Choice | 1024 | Controls the size of the lookup table used to reconstruct the grain. Higher means more precision but may be a bit slower to render. - 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 |
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 |