From 8eced25964998c9f55463c9b5c7e507c1f4820ee Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Mon, 27 Apr 2020 00:40:16 +0200 Subject: [PATCH] Added toon shader --- core/build.gradle | 17 ++++++++++++----- core/src/se/cookery/CookeryClient.java | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/core/build.gradle b/core/build.gradle index ac2295d..8ef88bb 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -13,7 +13,10 @@ sourceSets { dependencies { compile "org.jmonkeyengine:jme3-core:${jme3Version}-stable" - compile "org.jmonkeyengine:jme3-terrain:${jme3Version}-stable" +// compile "org.jmonkeyengine:jme3-terrain:${jme3Version}-stable" + compile "org.jmonkeyengine:jme3-effects:${jme3Version}-stable" + compile "org.jmonkeyengine:jme3-jogg:${jme3Version}-stable" + compile "org.jmonkeyengine:jme3-niftygui:${jme3Version}-stable" implementation 'se.koc:zutil:1.0.0-SNAPSHOT' @@ -34,10 +37,14 @@ task buildResources { def targetFile = new File(tmpFile) println " - Output: ${targetFile}" - exec { - executable "sh" - args "-c", "blender.exe --background '${sourceFile}' --python 'blender-export.py' -- '${targetFile}'" - } +// exec { +// executable "sh" +// args "-c", "blender --background '${sourceFile}' --python 'blender-export.py' -- '${targetFile}'" +// } +// exec { +// executable "cmd" +// args "/c", "blender.exe --background '${sourceFile}' --python 'blender-export.py' -- '${targetFile}'" +// } } } } diff --git a/core/src/se/cookery/CookeryClient.java b/core/src/se/cookery/CookeryClient.java index 4a9dcf6..0445b90 100644 --- a/core/src/se/cookery/CookeryClient.java +++ b/core/src/se/cookery/CookeryClient.java @@ -3,17 +3,17 @@ package se.cookery; import com.jme3.app.SimpleApplication; import com.jme3.math.ColorRGBA; import com.jme3.math.Vector3f; +import com.jme3.post.FilterPostProcessor; import com.jme3.scene.Geometry; -import com.jme3.terrain.geomipmap.TerrainQuad; import se.cookery.core.world.Block; import se.cookery.core.world.gen.GrassLandWorldGenerator; import se.cookery.gfx.character.Player; import se.cookery.gfx.terrain.TerrainMesh; import se.cookery.gfx.util.MaterialUtil; import se.cookery.gfx.util.WireFrameProcessor; +import com.jme3.post.filters.CartoonEdgeFilter; public class CookeryClient extends SimpleApplication { - private TerrainQuad terrain; @Override public void simpleInitApp() { @@ -35,6 +35,15 @@ public class CookeryClient extends SimpleApplication { rootNode.attachChild(player.getGfxNode()); // Wireframe mode - viewPort.addProcessor(new WireFrameProcessor(assetManager)); +// viewPort.addProcessor(new WireFrameProcessor(assetManager)); + + + CartoonEdgeFilter toon = new CartoonEdgeFilter(); + toon.setEdgeWidth(0.5f); + toon.setEdgeIntensity(1.0f); + toon.setNormalThreshold(0.8f); + FilterPostProcessor fpp = new FilterPostProcessor(assetManager); + fpp.addFilter(toon); + viewPort.addProcessor(fpp); } } \ No newline at end of file