Light | Dark

# docs.GL

GLSL 4
GLSL ES 3

# mix

## Name

mix — linearly interpolate between two values

## Declaration

`genType mix(` | genType x,
| genType y,
| genType a`)`;

`genType mix(` | genType x,
| genType y,
| float a`)`;

`genType mix(` | genType x,
| genType y,
| genBType a`)`;

## Parameters

`x`

  Specify the start of the range in which to interpolate.

`y`

  Specify the end of the range in which to interpolate.

`a`

  Specify the value to use to interpolate between `x` and `y`.

## Description

`mix` performs a linear interpolation between `x` and `y` using `a` to weight between them. The return value is computed as follows: x ⋅ ( 1 − a ) + y ⋅ a .

For the variants of `mix` where `a` is `genBType`, elements for which `a`[i] is `false`, the result for that element is taken from `x`, and where `a`[i] is `true`, it will be taken from `y`. Components of `x` and `y` that are not selected are allowed to be invalid floating point values and will have no effect on the results.

## Version Support

| OpenGL ES Shading Language Version
--- | ---
Function Name | 1.00 | 3.00 | 3.10
mix (genType) | ✔ | ✔ | ✔
mix (genBType) | - | ✔ | ✔

## See Also

min, max

## Copyright

Copyright © 2011-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. https://opencontent.org/openpub/.

Think you can improve this page? Edit this page on GitHub.