MetaSL Shader Descriptions

Layer Shaders

Layer_add
Adds the colors of the foreground and background layer.
Layer_blend
Linearly blends between foreground and background layer using the float parameter 'mix'.
Layer_color
Layers the foreground input over the background input, replacing hue and saturation of the foreground with that of the background.
Layer_color_burn
Layers the foreground input over the background input, darkening the foreground color by a factor of the luminance of the background (may not work well for values less than 0 or greater than 1).
Layer_color_dodge
Layers the foreground input over the background input, lightening the foreground by a factor of the luminance of the background (may not work well for values less than 0 or greater than 1).
Layer_darken
Layers the foreground input over the background input, choosing the minimum value between the foreground and the background.
Layer_difference
Layers the foreground input over the background input, computing the absolute difference between the foreground and the background.
Layer_dissolve
Layers the foreground input over the background input, using a biased random decision at each pixel to choose between the foreground and the background.
Layer_exclusion
Layers the foreground input over the background input, computing the absolute difference between foreground and background, but at slightly lower contrast than the difference equation (may not work well for values less than 0 or greater than 1).
Layer_hard_mix
Layers the foreground input over the background input as a combination of a lighten operation and a darken operation with values below 0.5 being darkened and values above 0.5 being lightened.
Layer_hue
Layers the foreground input over the background input, replacing hue of the foreground with that of the background.
Layer_lighten
Layers the foreground input over the background input, choosing the maximum value between the foreground and the background.
Layer_linear_burn
Layers the foreground input over the background input as a combination of a color burn operation and a multiply operation.
Layer_linear_dodge
Layers the foreground input over the background input as a combination of a color dodge operation and a screen operation.
Layer_linear_light
Layers the foreground input over the background input as a combination of a linear burn and a linear dodge operation with values below 0.5 being combined using linear burn and values above 0.5 being combined using linear dodge.
Layer_luminosity
Layers the foreground input over the background input, replacing luminosity of the foreground with that of the background.
Layer_multiply
Multiplies the foreground and the background color.
Layer_overlay
Layers the foreground input over the background input as a combination of a screen operation and a multiply operation with values below 0.5 combined using multiply and values above 0.5 being combined using screen.
Layer_pin_light
Layers the foreground input over the background input as a combination of a lighten operation and a darken operation; instead of blending, this operation chooses between input values selecting two types of values: those below 0.5 in the foreground and less than the value of the background, and those above 0.5 in the foreground and greater than the value of the background.
Layer_posterize
Allows the input color to be displayed using only one of the number of input levels specified.
Layer_saturation
Layers the foreground input over the background input, replacing the saturation of the foreground with that of the background.
Layer_screen
Layers the foreground input over the background input, lightening the foreground based on the background; inverts both the foreground and background, multiplies those results, and then inverts that result.
Layer_soft_light
Layers the foreground input over the background input as a combination of a color dodge operation and a color burn operations with values below 0.5 being combined using color burn and values above 0.5 being combined using color dodge (may not work well for values less than 0 or greater than 1).
Layer_vivid_light
Layers the foreground input over the background input, enhancing and reducing contrast for different parts of the image with values below 0.5 darkened by increasing contrast and values above 0.5 lightened by decreasing contrast (may not work well for values less than 0 or greater than 1).