Shadows versus translucent objects

I have changed my particles from transparent to translucent and they have disappeared completely. After adding TranslucentBucketFilter after shadow one (but before bloom one), they are rendered, but on top of everything else (including shadows, which is a good sign :wink: ) - they seem to be ignoring depth buffer.



They have depth-write set to off (so they are blending nicely), but depth-read is left as default (which I think is true).

You mean the TransparentBucketFilter is the first in your filter stack?

If that’s the case i think i know what’s the problem, could you confirm?

Problem is with bloom filter.



Shadow/translucent/bloom causes particles to shine through opaque objects in front of them.

Translucent/bloom is the same (shine through).



shadow/translucent - works as expected (no bloom obviously)



shadow/bloom/translucent - seems to be best combination, translucent objects are in front of shadows behind them, behind the opaque objects, per-object bloom is applied nicely. Only problem is that translucent objects are not getting bloom effect in this case, but it is not an issue for me at the moment.

How about a seperated processing for the particles, one with depth(for shadows filters and stuff) so they are done correctly and one without (so they render normally), then blend depthmap with the normal renderd particles, then we would have the correct depth info but also the right visuals for particles?



Does this make sense?

well wasn’t it the same before?

I mean before bloom was also applied to particles wasn’t it?

Not sure what you mean by before. In my current setup (shadow/bloom/translucent), bloom is still applied to transparent bucket objects, but it is not applied to translucent objects. Before, there were not translucent objects, so bloom was applied to everything.

that’s what i meant, before the translucent bucket.



So it works as intended.

Sure, I understand that bloom before translucent means no bloom on particles. Problem is that if I put bloom AFTER the translucent filter, then particles are drawn in front of all opaque objects (seems like depth test is disabled for some reason in such case).

ok i get it, it’s because the translucent bucket Filter is the first in the stack, and it’s rendered to the wrong buffer

I’m gonna fix this thanks

mhhh wait…i can’t reproduce your issue…it works for me



what’s your configuration exactly?

I have 2 processors : first pssmShadows and then FilterProcessor

I have a particle emitter in the translucent bucket and the filter order is translucentFilter/bloom

@EmpirePhoenix sorry didn’t see your post before.

yes it makes sense, there is an easy way to do this, for rendering the depth map we use the preshadow technique in lighting and unshaded material, adding this technique to particle’s material should work.