Kanzi  3.9.7
Kanzi Engine API
kanzi::interpolation Namespace Reference

Functions

template<typename T , typename T2 >
constexpr T lerp (const T &v1, const T &v2, const T2 &phase)
 Linear interpolation between v1..v2 at phase[0..1]. More...
 
constexpr float lerp (float v1, float v2, float phase)
 Linear interpolation between v1..v2 at phase[0..1]. More...
 
constexpr int lerp (int v1, int v2, float phase)
 Linear interpolation between v1..v2 at phase[0..1]. More...
 
template<typename T , typename T2 >
linearstep (const T &v1, const T &v2, const T2 &value)
 Linearstep remapping of value between [0..1]. More...
 
float linearstep (float v1, float v2, float value)
 Linearstep remapping of value between [0..1]. More...
 
int linearstep (int v1, int v2, float value)
 Linearstep remapping of value between [0..1]. More...
 
constexpr float smootherstep (const float phase)
 Smootherstep phase between [0..1]. More...
 
template<typename T , typename T2 >
smootherstep (const T &v1, const T &v2, const T2 &value)
 Smootherstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 
float smootherstep (float v1, float v2, float value)
 Smootherstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 
int smootherstep (int v1, int v2, float value)
 Smootherstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 
constexpr float smoothstep (const float phase)
 Smoothstep phase between [0..1]. More...
 
template<typename T , typename T2 >
smoothstep (const T &v1, const T &v2, const T2 &value)
 Smoothstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 
float smoothstep (float v1, float v2, float value)
 Smoothstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 
int smoothstep (int v1, int v2, float value)
 Smoothstep clamped remapping of value between v1 and v2 to within [0..1]. More...
 

Function Documentation

constexpr float kanzi::interpolation::smoothstep ( const float  phase)

Smoothstep phase between [0..1].

Parameters
phaseLinear phase value [0..1]
Returns
Smoothstep-transformed phase value
constexpr float kanzi::interpolation::smootherstep ( const float  phase)

Smootherstep phase between [0..1].

Parameters
phaseLinear phase value [0..1]
Returns
Smootherstep-transformed phase value
template<typename T , typename T2 >
constexpr T kanzi::interpolation::lerp ( const T &  v1,
const T &  v2,
const T2 &  phase 
)

Linear interpolation between v1..v2 at phase[0..1].

Parameters
v1Start value
v2End value
phaseInterpolation phase between [0..1]
Returns
Linear-interpolated result of type T
constexpr float kanzi::interpolation::lerp ( float  v1,
float  v2,
float  phase 
)

Linear interpolation between v1..v2 at phase[0..1].

Parameters
v1Start value
v2End value
phaseInterpolation phase between [0..1]
Returns
Linear-interpolated result of type T
constexpr int kanzi::interpolation::lerp ( int  v1,
int  v2,
float  phase 
)

Linear interpolation between v1..v2 at phase[0..1].

Parameters
v1Start value
v2End value
phaseInterpolation phase between [0..1]
Returns
Linear-interpolated result of type T
template<typename T , typename T2 >
T kanzi::interpolation::linearstep ( const T &  v1,
const T &  v2,
const T2 &  value 
)
inline

Linearstep remapping of value between [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped from [v1..v2] to [0..1]
float kanzi::interpolation::linearstep ( float  v1,
float  v2,
float  value 
)
inline

Linearstep remapping of value between [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped from [v1..v2] to [0..1]
int kanzi::interpolation::linearstep ( int  v1,
int  v2,
float  value 
)
inline

Linearstep remapping of value between [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped from [v1..v2] to [0..1]
template<typename T , typename T2 >
T kanzi::interpolation::smoothstep ( const T &  v1,
const T &  v2,
const T2 &  value 
)
inline

Smoothstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smoothstep polynomial from [v1..v2] to [0..1]
float kanzi::interpolation::smoothstep ( float  v1,
float  v2,
float  value 
)
inline

Smoothstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smoothstep polynomial from [v1..v2] to [0..1]
int kanzi::interpolation::smoothstep ( int  v1,
int  v2,
float  value 
)
inline

Smoothstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smoothstep polynomial from [v1..v2] to [0..1]
template<typename T , typename T2 >
T kanzi::interpolation::smootherstep ( const T &  v1,
const T &  v2,
const T2 &  value 
)
inline

Smootherstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smootherstep curve from [v1..v2] to [0..1]
float kanzi::interpolation::smootherstep ( float  v1,
float  v2,
float  value 
)
inline

Smootherstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smootherstep curve from [v1..v2] to [0..1]
int kanzi::interpolation::smootherstep ( int  v1,
int  v2,
float  value 
)
inline

Smootherstep clamped remapping of value between v1 and v2 to within [0..1].

Parameters
v1Minimum value
v2Maximum value
valueInput value between [v1..v2]
Returns
Input value remapped via interpolation with the smootherstep curve from [v1..v2] to [0..1]