@Override
    public void postQueue(RenderQueue rq) {
        //we need special treatment for the sky because it must not be clipped
        rm.getRenderer().setFrameBuffer(reflectionBuffer);
        reflectionCam.setProjectionMatrix(null);
        rm.setCamera(reflectionCam, false);
        rm.getRenderer().clearBuffers(true, true, true);
        //Rendering the sky without clipping
        rm.getRenderer().setDepthRange(1, 1);
        vp.getQueue().renderQueue(RenderQueue.Bucket.Sky, rm, reflectionCam, true);
        rm.getRenderer().setDepthRange(0, 1);
        //setting the clip plane to the cam
        reflectionCam.setClipPlane(reflectionClipPlane, Plane.Side.Positive);//,1
        rm.setCamera(reflectionCam, false);

    }
Creates a ReflectionProcessor
@param reflectionCam the cam to use for reflection
@param reflectionBuffer the FrameBuffer to render to
@param reflectionClipPlane the clipping plane
jme3-effects/src/main/java/com/jme3/water/ReflectionProcessor.java