@Override public void cleanup() { localRootNode.removeLight(ai); localRootNode.removeLight(dl); this.app.getTimer().reset(); rootNode.detachChild(localRootNode); viewPort.removeProcessor(niftyDisplay); audio.stop(); nifty.exit(); cam.setRotation(Quaternion.IDENTITY); cam.setLocation(Vector3f.ZERO); cam.setViewPort(0, 1, 0, 1); super.cleanup(); }
public void postQueue(RenderQueue rq) { Camera sceneCam = rm.getCurrentCamera(); // update refraction cam refractionCam.setLocation(sceneCam.getLocation()); refractionCam.setRotation(sceneCam.getRotation()); refractionCam.setFrustum( sceneCam.getFrustumNear(), sceneCam.getFrustumFar(), sceneCam.getFrustumLeft(), sceneCam.getFrustumRight(), sceneCam.getFrustumTop(), sceneCam.getFrustumBottom()); refractionCam.setParallelProjection(sceneCam.isParallelProjection()); // update reflection cam WaterUtils.updateReflectionCam(reflectionCam, plane, sceneCam); // Rendering reflection and refraction rm.renderViewPort(reflectionView, savedTpf); rm.renderViewPort(refractionView, savedTpf); rm.getRenderer().setFrameBuffer(vp.getOutputFrameBuffer()); rm.setCamera(sceneCam, false); }