2012-11-29 5 views
0

Y at-il une fonction intégrée GLSL pour Min/Max Normalization? Cela semble tellement utile pour tant de choses, mais je n'arrive pas à en trouver un.GLSL min/max nomarlization

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

Une telle chose existe-t-elle? Ou devrais-je copier ma propre fonction d'utilité mathématique dans chacun de mes shaders?

+0

« * Ou devrais-je copier ma propre fonction d'utilité des mathématiques dans chacun de mes shaders? * » Pourquoi devriez-vous copier? Il y a une raison pour laquelle 'glShaderSource' prend * plusieurs * chaînes. –

+0

[D'où je viens] (http://docs.unity3d.com/Documentation/ScriptReference/Mathf.InverseLerp.html), nous appelons cela "InverseLerp". – Jessy

Répondre

0

Je pense que je l'ai trouvé dans smoothstep(min, max, input) qui est en quelque sorte un nom étrange, mais il semble faire ce que je veux.

+0

'smoothstep' fait une interpolation cubique de Hermite, alors que le lien que vous postez semble indiquer une interpolation linéaire ... –

+0

@ChrisDodd Y at-il une fonction intégrée qui fait la même sans l'incurvation? –