Browse Source

- support more filters in FilterExplorer
- move filter and implementations to separate package

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7709 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

nor..67 14 years ago
parent
commit
c443405b4c

+ 86 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeBloomFilter.java

@@ -0,0 +1,86 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.post.filters.BloomFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeBloomFilter extends AbstractFilterNode {
+
+    public JmeBloomFilter() {
+    }
+
+    public JmeBloomFilter(BloomFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("Bloom");
+        set.setName(Node.class.getName());
+        BloomFilter obj = (BloomFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getBloomIntensity", "setBloomIntensity", "Intesity"));
+        set.put(makeProperty(obj, float.class, "getBlurScale", "setBlurScale", "Blur Scale"));
+        set.put(makeProperty(obj, float.class, "getDownSamplingFactor", "setDownSamplingFactor", "Downsampling Factor"));
+        set.put(makeProperty(obj, float.class, "getExposureCutoff", "setExposureCutoff", "Exposure Cutoff"));
+        set.put(makeProperty(obj, float.class, "getExposurePower", "setExposurePower", "Exposure Power"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return BloomFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeBloomFilter((BloomFilter) key, dataObject, readOnly)};
+    }
+}

+ 89 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeCartoonEdgeFilter.java

@@ -0,0 +1,89 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.math.ColorRGBA;
+import com.jme3.post.filters.CartoonEdgeFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeCartoonEdgeFilter extends AbstractFilterNode {
+
+    public JmeCartoonEdgeFilter() {
+    }
+
+    public JmeCartoonEdgeFilter(CartoonEdgeFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("CartoonEdge");
+        set.setName(Node.class.getName());
+        CartoonEdgeFilter obj = (CartoonEdgeFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getDepthSensitivity", "setDepthSensitivity", "Depth Sensitivity"));
+        set.put(makeProperty(obj, float.class, "getDepthThreshold", "setDepthThreshold", "Depth Threshold"));
+        set.put(makeProperty(obj, ColorRGBA.class, "getEdgeColor", "setEdgeColor", "Edge Color"));
+        set.put(makeProperty(obj, float.class, "getEdgeIntensity", "setEdgeIntensity", "Edge Intensity"));
+        set.put(makeProperty(obj, float.class, "getEdgeWidth", "setEdgeWidth", "Edge Width"));
+        set.put(makeProperty(obj, float.class, "getNormalSensitivity", "setNormalSensitivity", "Normal Sensitivity"));
+        set.put(makeProperty(obj, float.class, "getNormalThreshold", "setNormalThreshold", "Normal Threshold"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return CartoonEdgeFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeCartoonEdgeFilter((CartoonEdgeFilter) key, dataObject, readOnly)};
+    }
+}

+ 84 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeDepthOfFieldFilter.java

@@ -0,0 +1,84 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.post.filters.DepthOfFieldFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeDepthOfFieldFilter extends AbstractFilterNode {
+
+    public JmeDepthOfFieldFilter() {
+    }
+
+    public JmeDepthOfFieldFilter(DepthOfFieldFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("DepthOfField");
+        set.setName(Node.class.getName());
+        DepthOfFieldFilter obj = (DepthOfFieldFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getBlurScale", "setBlurScale", "Blur Scale"));
+        set.put(makeProperty(obj, float.class, "getFocusDistance", "setFocusDistance", "Focus Distance"));
+        set.put(makeProperty(obj, float.class, "getFocusRange", "setFocusRange", "Focus Range"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return DepthOfFieldFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeDepthOfFieldFilter((DepthOfFieldFilter) key, dataObject, readOnly)};
+    }
+}

+ 3 - 1
jme3-core/src/com/jme3/gde/core/filters/JmeFogFilter.java → jme3-core/src/com/jme3/gde/core/filters/impl/JmeFogFilter.java

@@ -29,8 +29,10 @@
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  */
-package com.jme3.gde.core.filters;
+package com.jme3.gde.core.filters.impl;
 
 
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
 import com.jme3.math.ColorRGBA;
 import com.jme3.math.ColorRGBA;
 import com.jme3.post.filters.FogFilter;
 import com.jme3.post.filters.FogFilter;
 import org.openide.loaders.DataObject;
 import org.openide.loaders.DataObject;

+ 87 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeLightScatteringFilter.java

@@ -0,0 +1,87 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.math.Vector3f;
+import com.jme3.post.filters.LightScatteringFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeLightScatteringFilter extends AbstractFilterNode {
+
+    public JmeLightScatteringFilter() {
+    }
+
+    public JmeLightScatteringFilter(LightScatteringFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("Blur");
+        set.setName(Node.class.getName());
+        LightScatteringFilter obj = (LightScatteringFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getBlurStart", "setBlurStart", "Blur Start"));
+        set.put(makeProperty(obj, float.class, "getBlurWidth", "setBlurWidth", "Blur Width"));
+        set.put(makeProperty(obj, float.class, "getLightDensity", "setLightDensity", "Light Density"));
+        set.put(makeProperty(obj, Vector3f.class, "getLightPosition", "setLightPosition", "Light Position"));
+        set.put(makeProperty(obj, float.class, "getNbSamples", "setNbSamples", "Sample Number"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return LightScatteringFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeLightScatteringFilter((LightScatteringFilter) key, dataObject, readOnly)};
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewBloomFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.BloomFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewBloomFilterAction extends AbstractNewFilterAction {
+
+    public NewBloomFilterAction() {
+        name = "Bloom";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new BloomFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewCartoonEdgeFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.CartoonEdgeFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewCartoonEdgeFilterAction extends AbstractNewFilterAction {
+
+    public NewCartoonEdgeFilterAction() {
+        name = "Cartoon Edge";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new CartoonEdgeFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewDepthOfFieldFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.DepthOfFieldFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewDepthOfFieldFilterAction extends AbstractNewFilterAction {
+
+    public NewDepthOfFieldFilterAction() {
+        name = "DepthOfField";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new DepthOfFieldFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewFogFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.FogFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewFogFilterAction extends AbstractNewFilterAction {
+
+    public NewFogFilterAction() {
+        name = "Fog";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new FogFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewLightScatteringFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.LightScatteringFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewLightScatteringFilterAction extends AbstractNewFilterAction {
+
+    public NewLightScatteringFilterAction() {
+        name = "Light Scattering";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new LightScatteringFilter();
+    }
+}