mix

linearly interpolate between two values

Declaration

  • float mix(float x, float y, float a)
  • vec2 mix(vec2 x, vec2 y, vec2 a)
  • vec3 mix(vec3 x, vec3 y, vec3 a)
  • vec4 mix(vec4 x, vec4 y, vec4 a)
  • vec2 mix(vec2 x, vec2 y, float a)
  • vec3 mix(vec3 x, vec3 y, float a)
  • vec4 mix(vec4 x, vec4 y, float 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: 𝑥⋅(1−𝑎)+𝑦⋅𝑎.

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.

See Also