mix(3) linearly interpolate between two values


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);
genIType mix(genIType x, genIType y, genBType a);
genUType mix(genUType x, genUType y, genBType a);
genBType mix(genBType x, genBType y, genBType a);



Specify the start of the range in which to interpolate.


Specify the end of the range in which to interpolate.


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


mix performs a linear interpolation between x and y using a to weight between them. The return value is computed as $x \times (1 - a) + y \times a$.

The variants of mix where a is genBType select which vector each returned component comes from. For a component of a that is false, the corresponding component of x is returned. For a component of a that is true, the corresponding component of y is returned. 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.


OpenGL Shading Language Version
Function Name 1.10 1.20 1.30 1.40 1.50 3.30 4.00 4.10 4.20 4.30 4.40 4.50
mix(genDType) - - - - - -
mix(genIType), mix(genUType), mix(genBType) - - - - - - - - - - -


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. m[blue]http://opencontent.org/openpub/m[].


Copyright © 2011-2014 Khronos Group