From OpenGL Reference
Jump to navigation Jump to search

Perform Hermite interpolation between two values.


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 );


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.


 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 edge0 ≥ edge1 .

Version Support[edit]

smoothstep (genType) 1.3+
smoothstep (genDType) 4.0+

See Also[edit]

 mix , step 


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.