2012-11-29 98 views
0

Min/Max Normalization是否有內置的GLSL功能?對於這麼多事情似乎非常有用,但我似乎無法找到一個。GLSL min/max nomarlization

magicfunction(input, min, max); //=> normalized float 
magicfunction(0.3, 0.1, 0.4); //=> 0.66667 

這樣的事情是否存在?還是應該將我自己的數學實用函數複製到每個着色器中?

+0

「*或者我應該將自己的數學實用函數複製到每個着色器中?*」爲什麼要複製它? 'glShaderSource'帶*多個*字符串是有原因的。 –

+0

[我來自哪裏](http://docs.unity3d.com/Documentation/ScriptReference/Mathf.InverseLerp.html),我們稱之爲「InverseLerp」。 – Jessy

回答

0

我想我已經在smoothstep(min, max, input)中發現它,這是一個奇怪的名字,但它似乎做我想做的。

+0

'smoothstep'做了一個立方Hermite插值,而你發佈的鏈接似乎指定了一個線性插值... –

+0

@ChrisDodd有沒有一個內置的函數可以做同樣的彎曲? –