I cannot seem to use a bloom effect, and a particleEmitter at the same time

Hi All, I’m still very new to jme3 and the 3d world generally, so any help appreciated.

my issue at the moment is that I cannot seem to use a bloom effect, and a particleEmitter at the same time, although they each work perfectly independently.

I have this to add a glow effect to a few line mesh’s I have attached to the rootnode :


FilterPostProcessor fpp=new FilterPostProcessor(assetManager);

BloomFilter bf=new BloomFilter(viewPort.getCamera().getWidth(), viewPort.getCamera().getHeight(), BloomFilter.GLOW_OBJECTS);





BloomUI bui=new BloomUI(inputManager, bf);



when I add this the bloom effect vanishes:


ParticleEmitter shockwave = new ParticleEmitter(name, Type.Triangle, 1 * COUNT_FACTOR);


shockwave.setStartColor(ColorRGBA.White);// new ColorRGBA(.48f, 0.17f, 0.01f,1f));

shockwave.setEndColor(new ColorRGBA(1f, 1f, 1f, 0f));







shockwave.setStartVel(new Vector3f(0, 0, 0));




Material mat = new Material(assetManager, “Common/MatDefs/Misc/Particle.j3md”);

mat.setTexture(“m_Texture”, assetManager.loadTexture(“Effects/Explosion/shockwave.png”));




shockwave.update(0);//need this to prevent null mesh exceptions


ah, after hunting about in here I found what I needed.

I dont really understand why it fixes this issue, but it has helped a lot.

if I call Application().enqueue(…) and call rootNode.detachChild(wave); inside the callable, then suddenly everything renders properly.

I didn’t realise that I wasn’t supposed to be modifying anything in the scene except in the render thread.

now my next question - when the particle emitter is active, it eliminates the bloom effect on the items behind the particles (only the parts of the items directly behind are affected). I read somewhere else in here that in order to bloom only certain things I should run the bloom in a separate render cycle. how do I do that? and will it help?

It’s a known issue yeah, i noticed this in the tastwalkingChar when i tried to a glow effect.

In fact it’s not only the bloom , any filter does not render properly when using a particle effect (sometimes it’s very nasty).

I noticed that playing with the setCullHint method of the emitter fix the problem…but the emitter does not render anymore.

about your question…I think it might by a side effect of your workaround.

I’m gonna look into it and keep you informed

nehon, can you explain it to me? What does the particle effect do to the filter?

@momoko I’m gonna commit a test case that you can check.

I don’t really know what’s going on, but the shockwave.setCullHint(CullHint.Never); make the filters not display or display pixel soup…

Like an incomplete buffer or some sort…

I wanted to show you a screen shot but particle effect seems broken