Name

smoothstep — perform Hermite interpolation between two values

Declaration

genType smoothstep(genType  edge0,
 genType  edge1,
 genType  x);
genType smoothstep(float  edge0,
 float  edge1,
 genType  x);
genDType smoothstep(genDType  edge0,
 genDType  edge1,
 genDType  x);
genDType smoothstep(double  edge0,
 double  edge1,
 genDType  x);

Parameters

edge0

Specifies the value of the lower edge of the Hermite function.

edge1

Specifies the value of the upper edge of the Hermite function.

x

Specifies the source value for interpolation.

Description

smoothstep performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1. This is useful in cases where a threshold function with a smooth transition is desired. smoothstep is equivalent to:

    genType t;  /* Or genDType t; */
    t = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
    return t * t * (3.0 - 2.0 * t);

Results are undefined if edge0edge1.

Version Support

FunctionVersion 1.10Version 1.20Version 1.30Version 1.40Version 1.50Version 3.30Version 4.00Version 4.10Version 4.20Version 4.30
smoothstep (genType)--YYYYYYYY
smoothstep (genDType)------YYYY

See Also

mix, step

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/.