@Override
    protected void preFrame(float tpf) {
        pssmRenderer.preFrame(tpf);
        material.setMatrix4("ViewProjectionMatrixInverse", viewPort.getCamera().getViewProjectionMatrix().invert());
        Matrix4f m = viewPort.getCamera().getViewProjectionMatrix();
        material.setVector4("ViewProjectionMatrixRow2", tmpv.set(m.m20, m.m21, m.m22, m.m23));

    }
Creates a PSSM shadow filter.
More info on the technique at <a href="http://http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html">http://http.developer.nvidia.com/GPUGems3/gpugems3_ch10.html</a>

@param manager the application's asset manager
@param size the size of the rendered shadowmaps (512, 1024, 2048, etcetera)
@param nbSplits the number of shadow maps rendered (More shadow maps mean
    better quality, fewer frames per second.)
jme3-core/src/main/java/com/jme3/shadow/PssmShadowFilter.java