Whether you are blending two or a dozen textures, you use a shader mixing tool to blend colors, shaders, and images together. Each texture can have its own weight and mixing mode assigned to it.
Mixer shaders are an alternative texture blending tool to a shader’s built-in support for texture layers. Like texture layers, they allow you to blend textures together, one after the other. Unlike texture layers, which are blended with a shader’s parameters, mixer shaders are used to drive shader parameters directly, using the result of the mix.
Mixer shaders also lack the flexibility of texture layers. For example, while you can move texture layers up and down in the mixing order with a single command, the only way to change a mixer shader’s mix order is by changing all of its shader connections.
For more information about working with texture layers, see Texture Layering.
This section describes how to use a mixer shader’s various blending options to mix textures together.
The following images define each mixing mode and how it reacts according to a gradient, a repetitive texture, and an image.
How the Mix 8 Colors shader reacts to a “white-to-black” gradient and a repetitive, colored texture.
How the Mix 8 Colors shader reacts to a “white-to-black” gradient and a texture map.
Mix Calculates a simple average of each layer’s pixel values. This is the default mode for the mixing shaders.
Tip: Scrub the Weight slider for a cross-fade.
Add Compensate (Blend) Makes the brighter sections of the second layer gradually (and proportionally) screen out the darker sections of the first layer. This mode compensates the first layer prior to adding, so the resulting color never exceeds 1 (100%).
Tip: You can use this mode to blend two high-intensity images without losing detail.
Add The Add mode adds the first and second layers’ pixel values. The result is not clipped at 1 (100%).
Add (Bound) Performs a similar calculation to the Add mode, but all values are clipped at 1 (100%).
Hide/Reveal (Multiply) Multiplies all of the layers’ pixel values. Using a 1 (white) Weight value, the second layer’s pure white pixels reveals the color values of the first layer. If the Weight is set to 0 (black), a black image is displayed. Because this mode often produces dark results, consider the full range of the layers. Good, intense blends can be achieved by using two light-colored sources.
Hide/Reveal Bound (Multiply) Performs a similar calculation to the Hide/Reveal (multiply), except that all values are clipped at 1 (100%).
RGB Intensity Calculates a proportional average of each layer’s pixel values. The average is dependent on the brightness of each layer.
Darker Sets the darkest color (between the first and second layer) as the result color. Pixels darker than the blend color are not replaced.
Lighter Sets the brightest color (between the first and second layer) as the result color. Pixels darker than the blend color are not replaced.
Difference Takes the brightest color (between the defined color and the base color) and subtracts it from each of the color channel’s values.
Hard Light Causes the first layer’s bright pixels to brighten the next layer’s light pixels. Also, the first layer’s dark pixels dims the second layer’s darkest pixels. Visually, each layer is pushing the other layer’s extreme pixel values; that is, the darks become darker and the lighter parts become brighter.
Hue Offset Makes the darkest pixels of the second layer dim the gamma and boost the contrast of the first layer. Meanwhile, the brighter pixels of the second layer boost the gamma and dim the contrast of the first layer. The brighter the layer, the more it offsets the first layer’s hue. Visually, you’re controlling both the gamma and the contrast values simultaneously on different parts of the image.
Screen Multiplies each color channel’s values with the inverse of the defined color and the base color. The Screen function results in a lighter color as though the original color has been faded.
Soft Light Mixes the first and second layers, then reveals the resulting color with the brightest pixels of the second layer.