jME3 Special Effects Overview
jME3 supports several types of special effects: Post-Processor Filters, SceneProcessors, and Particle Emitters (also known as particle systems). This list contains screenshots and links to sample code that demonstrates how to add the effect to a scene.
Sample Code
- There is one
com.jme3.effect.ParticleEmitterclass for all Particle Systems. - There is one
com.jme3.post.FilterPostProcessorclass and severalcom.jme3.post.filters.*classes (all Filters have*Filterin their names). - There are several
SceneProcessorclasses in various packages, including e.g.com.jme3.shadow.*andcom.jme3.water.*(SceneProcessor have*Processoror*Rendererin their names).
Particle Emitter
public class MyGame extends SimpleApplication { public void simpleInitApp() { ParticleEmitter pm = new ParticleEmitter("my particle effect", Type.Triangle, 60); Material pmMat = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md"); pmMat.setTexture("Texture", assetManager.loadTexture("Effects/spark.png")); pm.setMaterial(pmMat); pm.setImagesX(1); pm.setImagesY(1); rootNode.attachChild(pm); // attach one or more emitters to any node } }
Scene Processor
public class MyGame extends SimpleApplication { private BasicShadowRenderer bsr; public void simpleInitApp() { bsr = new BasicShadowRenderer(assetManager, 1024); bsr.setDirection(new Vector3f(.3f, -0.5f, -0.5f)); viewPort.addProcessor(bsr); // add one or more sceneprocessor to viewport }
Post-Processor Filter
public class MyGame extends SimpleApplication { private FilterPostProcessor fpp; // one FilterPostProcessor per app private SomeFilter sf; // one or more Filters per app public void simpleInitApp() { fpp = new FilterPostProcessor(assetManager); viewPort.addProcessor(fpp); // add one FilterPostProcessor to viewPort sf = new SomeFilter(); fpp.addFilter(sf); // add one or more Filters to FilterPostProcessor }
Water

The jMonkeyEngine's "SeaMonkey" WaterFilter simulates ocean waves, foam, including cool underwater caustics.
Use the SimpleWaterProcessor (SceneProcessor) for small, limited bodies of water, such as puddles, drinking troughs, pools, fountains.
See also the Rendering Water as Post-Process Effect announcement with video.
- jme3/src/test/jme3test/water/TestSceneWater.java – SimpleWaterProcessor (SceneProcessor)
- jme3/src/test/jme3test/water/TestSimpleWater.java – SimpleWaterProcessor (SceneProcessor)
- jme3/src/test/jme3test/water/TestPostWater.java – WaterFilter
- jme3/src/test/jme3test/water/TestPostWaterLake.java – WaterFilter
Environment Effects
Depth of Field Blur
- jme3/src/test/jme3test/post/TestDepthOfField.java – DepthOfFieldFilter
Fog
- jme3/src/test/jme3test/post/TestFog.java – FogFilter
Light Scattering
- jme3/src/test/jme3test/post/TestLightScattering.java – LightScatteringFilter
Vegetation
- Contribution: Grass System
- Contribution: Trees (WIP)
Light and Shadows
Bloom and Glow
- More details: Bloom and Glow – BloomFilter
Light
- jme3/src/test/jme3test/light/TestSimpleLighting.java – DirectionalLight, PointLight
- jme3/src/test/jme3test/light/TestLightRadius.java – DirectionalLight, PointLight
- jme3/src/test/jme3test/light/TestManyLights.java – .j3o scene
- More details: Light and Shadow
Shadow
- jme3/src/test/jme3test/light/TestShadow.java – BasicShadowRenderer (SceneProcessor)
- jme3/src/test/jme3test/light/TestPssmShadow.java – PssmShadowRenderer (SceneProcessor), also known as Parallel-Split Shadow Mapping (PSSM).
- jme3/src/test/jme3test/post/TestSSAO.java, jme3/src/test/jme3test/post/TestSSAO2.java – SSAOFilter, also known as Screen-Space Ambient Occlusion shadows (SSOA).
- jme3/src/test/jme3test/post/TestTransparentSSAO.java – SSAOFilter, also known as Screen-Space Ambient Occlusion shadows (SSOA), plus transparancy
- More details: Light and Shadow
Special: Glass, Metal, Dissolve, Toon
Toon Effect
- jme3/src/test/jme3test/post/TestCartoonEdge.java – CartoonEdgeFilter
- jme3/src/test/jme3test/post/TestTransparentCartoonEdge.java – CartoonEdgeFilter
Fade in / Fade out
- Fade – FadeFilter
User Contributed
ShaderBlow - GLSL Shader Library
- LightBlow Shader – blend material texture maps
- FakeParticleBlow Shader – jet, fire effect
- ToonBlow Shader – Toon Shading, toon edges
- Dissolve Shader – Scifi teleportation/dissolve effect
- MatCap Shader – Gold, metals, glass, toons…!
- Glass Shader – Glass
- Force Shield Shader – Scifi impact-on-force-field effect
- SimpleSprite Shader – Animated textures
- SimpleSpriteParticle Shader – Sprite library
- MovingTexture Shader – Animated cloud/mist texture
- SoftParticles Shader – Fire, clouds, smoke etc
- Displace Shader – Deformation effect: Ripple, wave, pulse, swell!
Thanks for your awesome contributions! Keep them coming!
Particle Emitters: Explosions, Fire, Smoke

Particle emitter effects are highly configurable and can have any texture. They can simulate smoke, dust, leaves, meteors, snowflakes, mosquitos, fire, explosions, clusters, embers, sparks…
- jme3/src/test/jme3test/effect/TestExplosionEffect.java – debris, flame, flash, shockwave, smoke, sparks
- jme3/src/test/jme3test/effect/TestPointSprite.java – cluster of points
- jme3/src/test/jme3test/effect/TestMovingParticle.java – dust, smoke
See also:












