From 3c10d7c16b34eb047e48122236dd5cc6b34b1897 Mon Sep 17 00:00:00 2001 From: "nor..67" Date: Thu, 31 Mar 2011 22:49:58 +0000 Subject: [PATCH] - fix use of tempVars git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7148 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../com/jme3/water/SimpleWaterProcessor.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/engine/src/desktop-fx/com/jme3/water/SimpleWaterProcessor.java b/engine/src/desktop-fx/com/jme3/water/SimpleWaterProcessor.java index a54e4970f..f16ce9d86 100644 --- a/engine/src/desktop-fx/com/jme3/water/SimpleWaterProcessor.java +++ b/engine/src/desktop-fx/com/jme3/water/SimpleWaterProcessor.java @@ -94,6 +94,9 @@ public class SimpleWaterProcessor implements SceneProcessor { private Plane refractionClipPlane; private float refractionClippingOffset = 0.3f; private float reflectionClippingOffset = -5f; + private Vector3f vect1 = new Vector3f(); + private Vector3f vect2 = new Vector3f(); + private Vector3f vect3 = new Vector3f(); public SimpleWaterProcessor(AssetManager manager) { this.manager = manager; @@ -180,16 +183,13 @@ public class SimpleWaterProcessor implements SceneProcessor { sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); - TempVars vars=TempVars.get(); - vars.lock(); // tempVec and calcVect are just temporary vector3f objects - vars.vect1.set( sceneCam.getLocation() ).addLocal( sceneCam.getUp() ); - float planeDistance = plane.pseudoDistance( vars.vect1 ); - vars.vect2.set(plane.getNormal()).multLocal( planeDistance * 2.0f ); - vars.vect3.set( vars.vect1.subtractLocal( vars.vect2 ) ).subtractLocal( loc ).normalizeLocal().negateLocal(); + vect1.set(sceneCam.getLocation()).addLocal(sceneCam.getUp()); + float planeDistance = plane.pseudoDistance(vect1); + vect2.set(plane.getNormal()).multLocal(planeDistance * 2.0f); + vect3.set(vect1.subtractLocal(vect2)).subtractLocal(loc).normalizeLocal().negateLocal(); // now set the up vector - reflectionCam.lookAt(targetLocation, vars.vect3); - vars.unlock(); + reflectionCam.lookAt(targetLocation, vect3); if (inv) { reflectionCam.setAxes(reflectionCam.getLeft().negateLocal(), reflectionCam.getUp(), reflectionCam.getDirection().negateLocal()); } @@ -481,9 +481,6 @@ public class SimpleWaterProcessor implements SceneProcessor { updateClipPlanes(); } - - - /** * Refraction Processor */