From db3f3c16d2a0bab875722ed9f68578823601fc1d Mon Sep 17 00:00:00 2001 From: "rem..om" Date: Sat, 11 Jan 2014 12:52:39 +0000 Subject: [PATCH] Filters have now a displayDebug method called adfter the filter has been rendered git-svn-id: https://jmonkeyengine.googlecode.com/svn/branches/gradle-restructure@10978 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../src/main/java/com/jme3/post/Filter.java | 46 ++++++++++++++++--- .../com/jme3/post/FilterPostProcessor.java | 1 + 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/jme3-core/src/main/java/com/jme3/post/Filter.java b/jme3-core/src/main/java/com/jme3/post/Filter.java index e1da6accd..1eae0f1a7 100644 --- a/jme3-core/src/main/java/com/jme3/post/Filter.java +++ b/jme3-core/src/main/java/com/jme3/post/Filter.java @@ -64,11 +64,12 @@ public abstract class Filter implements Savable { private String name; - protected Pass defaultPass; - protected List postRenderPasses; + protected Filter.Pass defaultPass; + protected List postRenderPasses; protected Material material; protected boolean enabled = true; protected FilterPostProcessor processor; + protected boolean debug; public Filter(String name) { this.name = name; @@ -234,7 +235,7 @@ public abstract class Filter implements Savable { */ protected final void init(AssetManager manager, RenderManager renderManager, ViewPort vp, int w, int h) { // cleanup(renderManager.getRenderer()); - defaultPass = new Pass(); + defaultPass = new Filter.Pass(); defaultPass.init(renderManager.getRenderer(), w, h, getDefaultPassTextureFormat(), getDefaultPassDepthFormat()); initFilter(manager, renderManager, vp, w, h); } @@ -249,8 +250,8 @@ public abstract class Filter implements Savable { defaultPass.cleanup(r); } if (postRenderPasses != null) { - for (Iterator it = postRenderPasses.iterator(); it.hasNext();) { - Pass pass = it.next(); + for (Iterator it = postRenderPasses.iterator(); it.hasNext();) { + Filter.Pass pass = it.next(); pass.cleanup(r); } } @@ -411,7 +412,7 @@ public abstract class Filter implements Savable { * returns the list of the postRender passes * @return */ - protected List getPostRenderPasses() { + protected List getPostRenderPasses() { return postRenderPasses; } @@ -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/jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java b/jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java index 0c0b627af..2ac8d729b 100644 --- a/jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java +++ b/jme3-core/src/main/java/com/jme3/post/FilterPostProcessor.java @@ -280,6 +280,7 @@ public class FilterPostProcessor implements SceneProcessor, Savable { } renderProcessing(r, buff, mat); + filter.outputdebug(); } } }