Skip to content

Instantly share code, notes, and snippets.

@mimetaur
Created April 23, 2014 18:41
Show Gist options
  • Select an option

  • Save mimetaur/11227615 to your computer and use it in GitHub Desktop.

Select an option

Save mimetaur/11227615 to your computer and use it in GitHub Desktop.
float map(float value, float inputMin, float inputMax, float outputMin, float outputMax, bool clamp) {
if ( !( isinf( abs(inputMin - inputMax) ) ) {
return outputMin;
} else {
float outVal = ((value - inputMin) / (inputMax - inputMin) * (outputMax - outputMin) + outputMin);
if ( clamp ) {
if (outputMax < outputMin) {
if ( outVal < outputMax ) outVal = outputMax;
else if ( outVal > outputMin ) outVal = outputMin;
} else {
if ( outVal > outputMax ) outVal = outputMax;
else if ( outVal < outputMin ) outVal = outputMin;
}
}
return outVal;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment