private void makeSoftParticleEmitter(Spatial scene, boolean enabled) {
        if (scene instanceof Node) {
            Node n = (Node) scene;
            for (Spatial child : n.getChildren()) {
                makeSoftParticleEmitter(child, enabled);
            }
        }
        if (scene instanceof ParticleEmitter) {
            ParticleEmitter emitter = (ParticleEmitter) scene;
            if (enabled) {
                enabledSoftParticles = enabled;

                emitter.getMaterial().selectTechnique("SoftParticles", renderManager);
                if( processor.getNumSamples()>1){
                    emitter.getMaterial().setInt("NumSamplesDepth", processor.getNumSamples());
                }
                emitter.getMaterial().setTexture("DepthTexture", processor.getDepthTexture());               
                emitter.setQueueBucket(RenderQueue.Bucket.Translucent);

                if (logger.isLoggable(Level.FINE)) {
                    logger.log(Level.FINE, "Made particle Emitter {0} soft.", emitter.getName());
                }
            } else {
                emitter.getMaterial().clearParam("DepthTexture");
                emitter.getMaterial().selectTechnique("Default", renderManager);
               // emitter.setQueueBucket(RenderQueue.Bucket.Transparent);
                if (logger.isLoggable(Level.FINE)) {
                    logger.log(Level.FINE, "Particle Emitter {0} is not soft anymore.", emitter.getName());
                }
            }
        }
    }
Override this method and return true if your Filter needs the scene texture
@return false
jme3-effects/src/main/java/com/jme3/post/filters/TranslucentBucketFilter.java