* 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
This commit is contained in:
parent
12b70d9b29
commit
fbb396b8a2
@ -166,9 +166,9 @@ final public class FastMath {
|
|||||||
* @return an extrapolation for the given parameters
|
* @return an extrapolation for the given parameters
|
||||||
*/
|
*/
|
||||||
public static float extrapolateLinear(float scale, float startValue, float endValue) {
|
public static float extrapolateLinear(float scale, float startValue, float endValue) {
|
||||||
if (scale <= 0f) {
|
// if (scale <= 0f) {
|
||||||
return startValue;
|
// return startValue;
|
||||||
}
|
// }
|
||||||
return ((1f - scale) * startValue) + (scale * endValue);
|
return ((1f - scale) * startValue) + (scale * endValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,9 +187,9 @@ final public class FastMath {
|
|||||||
if (store == null) {
|
if (store == null) {
|
||||||
store = new Vector3f();
|
store = new Vector3f();
|
||||||
}
|
}
|
||||||
if (scale <= 1f) {
|
// if (scale <= 1f) {
|
||||||
return interpolateLinear(scale, startValue, endValue, store);
|
// return interpolateLinear(scale, startValue, endValue, store);
|
||||||
}
|
// }
|
||||||
store.x = extrapolateLinear(scale, startValue.x, endValue.x);
|
store.x = extrapolateLinear(scale, startValue.x, endValue.x);
|
||||||
store.y = extrapolateLinear(scale, startValue.y, endValue.y);
|
store.y = extrapolateLinear(scale, startValue.y, endValue.y);
|
||||||
store.z = extrapolateLinear(scale, startValue.z, endValue.z);
|
store.z = extrapolateLinear(scale, startValue.z, endValue.z);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user