diff --git a/engine/src/core/com/jme3/post/Filter.java b/engine/src/core/com/jme3/post/Filter.java index e1da6accd..7948c1531 100644 --- a/engine/src/core/com/jme3/post/Filter.java +++ b/engine/src/core/com/jme3/post/Filter.java @@ -69,6 +69,7 @@ public abstract class Filter implements Savable { protected Material material; protected boolean enabled = true; protected FilterPostProcessor processor; + protected boolean debug; public Filter(String name) { this.name = name; @@ -442,4 +443,37 @@ public abstract class Filter implements Savable { protected void setProcessor(FilterPostProcessor proc) { processor = proc; } + + /** + * return true if this filter is in debug mode + * @return + */ + public boolean isDisplayDebug() { + return debug; + } + + /** + * set to true if you want this filtre in debig mode. + * The method displayDebug will be called by the FilterPostProcessor after + * the filter has been rendered.allowing you to output anything. + * @param displayDebug + */ + public void setDisplayDebug(boolean displayDebug) { + this.debug = displayDebug; + } + + /** + * internal use only + */ + protected void outputdebug(){ + if(debug){ + displayDebug(); + } + } + + /** + * override this method if you want to diplay some debugging info on screen. + */ + protected void displayDebug(){ } +} diff --git a/engine/src/core/com/jme3/post/FilterPostProcessor.java b/engine/src/core/com/jme3/post/FilterPostProcessor.java index 0c0b627af..2ac8d729b 100644 --- a/engine/src/core/com/jme3/post/FilterPostProcessor.java +++ b/engine/src/core/com/jme3/post/FilterPostProcessor.java @@ -280,6 +280,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable { } renderProcessing(r, buff, mat); + filter.outputdebug(); } } }