函数lerp()是编程语言中的常用函数:
lerp(a, b, t) = a + t * (b - a).
现在对于很多场景,我有一个反函数:
fraction(x, a, b) = (x - a) / (b - a).
此功能构建为
lerp(a, b, fraction(x, a, b)) == x
和
fraction(lerp(a, b, t), a, b) == t
但是我对名称“分数”不满意。这个函数有一个共同的名字吗?
答案 0 :(得分:2)
GLSL的内置功能包括:
mix()
,与您的lerp()
功能类似
smoothstep()
,其作用类似于反向lerp函数,结合了hermite平滑和x = clamp(x, 0.0, 1.0)
。
您可以为您的实施考虑名称 linearstep()
。
Unity的API包括:
Lerp()
/ LerpUnclamped()
InverseLerp()
,它完全符合你的反lerp函数。