2011 Khronos Group
mix 3G
mix linearly interpolate between two values

## Declaration

genType `mix` genType x genType y genType a genType `mix` genType x genType y float a genDType `mix` genDType x genDType y genDType a genDType `mix` genDType x genDType y double a genType `mix` genType x genType y genBType a genDType `mix` genDType x genDType 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.

## Version Support

#VARTABLECOLS#
#FUNCTABLEHEADER#
mix (genType)#newin11#
mix (genDType)#newin40#

## See Also

min, max

## Copyright

Copyright 2011 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. http://opencontent.org/openpub/.