Particle system receiving shadows-ideas?

I’m working on a small tank simulator game.
There is dust, created by the track, and it should receive shadows. I’m using shadow mapping, so the dust depth values should be written to the depth-buffer in all rendering passes, but to blend the particles properly, the depth-buffer should only be read.
Is this problem solved already, or any ideas about it?

If you want the dust to cast shadows, you have to write depth.
If you only want dust to receive shadows, you only need to read.

It is tricky to cast realistic dust shadows, as semi transparent volumes. Some Ancient Art of Chi-Ting can be needed :slight_smile:

Amen, brother :wink:

Classical light transport… scatter and absorb… ying and yang.

But he probably already knows about that.

FYI, screen aligned particles may have some ugly artifacts when using depth shadow map projection, but there are some tricks to make it nicer. Some interesting ideas:

Thanks for the quick reply!

It is fixed now. It was just a fault:
alpha test is enabled for the shadow mapping main passes of course.
And of course the transparent particles fail it :stuck_out_tongue:
You are right, the z-buffer only needs to be read.
A good sleep can solve anything.
It is far from perfect but good enough.

The links are very useful, thanks!