Source A – Specifies the first of the two textures that are going to be blended. Source B – Specifies the second of the two textures that are going to be blended. Operator – Specifies the operation from a list of different blend modes. Add (A+B) – Simply adds pixel values of one texture with the other. In case of values above 256 (in the case of RGB), white is displayed. Subtract (A-B) – Simply subtracts pixel values of Source B from Source A. In case of negative values, black is displayed. Difference (|A-B|) – Difference subtracts Source B from Source A, to always get a positive value. Blending with black produces no change, as values for all colors are 0. (The RGB value for black is 0, 0, 0). Blending with white inverts the picture. Multiply (A*B) – Multiplies the numbers for each pixel of Source A with the corresponding pixel for Source B. As a simple multiplication can get values as high as 65025, which is far higher than the maximum allowed value, 255, the result is divided by 255. The result is a darker picture. Formula: Result = ( Source A Color) * ( Source B Color) /255. Divide (A/B) – Simply divides pixel values of Source A by the corresponding values of Source B . Minimum (Min{A,B}) – Takes the darkest value for each pixel from each source. Maximum (Max{A,B}) – Takes the brightest value for each pixel from each source. Color Shift (HSL{A+B}) – Adds color B to color A in HSL space, that is B is interpreted as translation delta in HSL space. Color Tint (HSL{A+B}) – Adds color B to color A in HSL space, but color A's hue is directly replaced with color B's hue. Blend Alpha Straight (A*{1-B.a}+B*B.a) – Interpolates between A and B by multiplying them by B's alpha component. Blend Alpha Premultiplied (A*{1-B.a}+B) – Interpolates between A and B by multiplying them by B's alpha component. Assumes B has already been multiplied by its alpha component. Multiplier – Specifies the degree to which the textures are blended . Please see the A+B Multiplier an the A-B Multiplier examples below. |