* Fixed extrapolateLinear() so it would really extrapolates if bigger than 1 or smaller than 0. The old behavior was to clamp between 0 and 1, doing exactly the same thing as interpolateLinear().

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8616 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
dan..om 13 years ago
parent 12b70d9b29
commit fbb396b8a2
  1. 12
      engine/src/core/com/jme3/math/FastMath.java

@ -166,9 +166,9 @@ final public class FastMath {
* @return an extrapolation for the given parameters
*/
public static float extrapolateLinear(float scale, float startValue, float endValue) {
if (scale <= 0f) {
return startValue;
}
// if (scale <= 0f) {
// return startValue;
// }
return ((1f - scale) * startValue) + (scale * endValue);
}
@ -187,9 +187,9 @@ final public class FastMath {
if (store == null) {
store = new Vector3f();
}
if (scale <= 1f) {
return interpolateLinear(scale, startValue, endValue, store);
}
// if (scale <= 1f) {
// return interpolateLinear(scale, startValue, endValue, store);
// }
store.x = extrapolateLinear(scale, startValue.x, endValue.x);
store.y = extrapolateLinear(scale, startValue.y, endValue.y);
store.z = extrapolateLinear(scale, startValue.z, endValue.z);

Loading…
Cancel
Save