Kanzi  3.9.6
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

◆ smoothstep() [1/4]

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

Smoothstep phase between [0..1].

Parameters
phaseLinear phase value [0..1]
Returns
Smoothstep-transformed phase value

◆ smootherstep() [1/4]

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

Smootherstep phase between [0..1].

Parameters
phaseLinear phase value [0..1]
Returns
Smootherstep-transformed phase value

◆ lerp() [1/3]

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

◆ lerp() [2/3]

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

◆ lerp() [3/3]

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

◆ linearstep() [1/3]

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]

◆ linearstep() [2/3]

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]

◆ linearstep() [3/3]

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]

◆ smoothstep() [2/4]

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]

◆ smoothstep() [3/4]

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]

◆ smoothstep() [4/4]

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]

◆ smootherstep() [2/4]

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]

◆ smootherstep() [3/4]

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]

◆ smootherstep() [4/4]

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]