Water reflection/refraction cameras parallel projection is now explicitely set to false.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9974 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
rem..om 12 years ago
parent 2ace208225
commit 5a22c0d9de
  1. 7
      engine/src/core-effects/com/jme3/water/SimpleWaterProcessor.java
  2. 1
      engine/src/core-effects/com/jme3/water/WaterFilter.java

@ -199,6 +199,7 @@ public class SimpleWaterProcessor implements SceneProcessor {
sceneCam.getFrustumRight(), sceneCam.getFrustumRight(),
sceneCam.getFrustumTop(), sceneCam.getFrustumTop(),
sceneCam.getFrustumBottom()); sceneCam.getFrustumBottom());
refractionCam.setParallelProjection(false);
//update reflection cam //update reflection cam
boolean inv = false; boolean inv = false;
@ -215,6 +216,7 @@ public class SimpleWaterProcessor implements SceneProcessor {
sceneCam.getFrustumRight(), sceneCam.getFrustumRight(),
sceneCam.getFrustumTop(), sceneCam.getFrustumTop(),
sceneCam.getFrustumBottom()); sceneCam.getFrustumBottom());
reflectionCam.setParallelProjection(false);
// tempVec and calcVect are just temporary vector3f objects // tempVec and calcVect are just temporary vector3f objects
vect1.set(sceneCam.getLocation()).addLocal(sceneCam.getUp()); vect1.set(sceneCam.getLocation()).addLocal(sceneCam.getUp());
float planeDistance = plane.pseudoDistance(vect1); float planeDistance = plane.pseudoDistance(vect1);
@ -226,6 +228,11 @@ public class SimpleWaterProcessor implements SceneProcessor {
reflectionCam.setAxes(reflectionCam.getLeft().negateLocal(), reflectionCam.getUp(), reflectionCam.getDirection().negateLocal()); reflectionCam.setAxes(reflectionCam.getLeft().negateLocal(), reflectionCam.getUp(), reflectionCam.getDirection().negateLocal());
} }
//we are rendering a sub part of the scene so the camera planeState may never be reseted to 0.
// reflectionCam.setPlaneState(0);
// refractionCam.setPlaneState(0);
//Rendering reflection and refraction //Rendering reflection and refraction
rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(reflectionView, savedTpf);
rm.renderViewPort(refractionView, savedTpf); rm.renderViewPort(refractionView, savedTpf);

@ -174,6 +174,7 @@ public class WaterFilter extends Filter {
sceneCam.getFrustumRight(), sceneCam.getFrustumRight(),
sceneCam.getFrustumTop(), sceneCam.getFrustumTop(),
sceneCam.getFrustumBottom()); sceneCam.getFrustumBottom());
reflectionCam.setParallelProjection(false);
TempVars vars = TempVars.get(); TempVars vars = TempVars.get();

Loading…
Cancel
Save