@Override
    public void postFrame(FrameBuffer out) {
        if (skipPostPass) {
            return;
        }
        if (debug) {
            displayShadowMap(renderManager.getRenderer());
        }

        getReceivers(lightReceivers);

        if (lightReceivers.size() != 0) {
            //setting params to receiving geometry list
            setMatParams(lightReceivers);

            Camera cam = viewPort.getCamera();
            // Some materials in the scene do not have a post shadow technique, so we're using the fallback material.
            if (needsfallBackMaterial) {
                renderManager.setForcedMaterial(postshadowMat);
            }

            //forcing the post shadow technique and render state
            renderManager.setForcedTechnique(postTechniqueName);

            //rendering the post shadow pass
            viewPort.getQueue().renderShadowQueue(lightReceivers, renderManager, cam, false);

            //resetting renderManager settings
            renderManager.setForcedTechnique(null);
            renderManager.setForcedMaterial(null);
            renderManager.setCamera(cam, false);

            //clearing the params in case there are some other shadow renderers
            clearMatParams();
        }
    }
For debugging purposes, "snapshot" the current frustum to the scene.
jme3-core/src/main/java/com/jme3/shadow/AbstractShadowRenderer.java