Self-shadow blur options?

Hey folks,

Just trying to find other shadow blur options for self-shadowing here. These are what I have found so far:

Option #1: useContactHardeningShadow
This is the approach recommended by official docs:

This is a great approach and render results look awesome…but it works only on webGL2.0. In my case, I am not be able to use webGL2.0 but only 1.0. So I have to find other options…

Option #2: useBlurCloseExponentialShadowMap
This is another approach suggested by the official docs:

However, when I was testing it didn’t work for me:

The render looks quite wrong…maybe it’s me missed sth?

Option #3: useBlurExponentialShadowMap
This doesn’t work for me either. No shadows even got rendered:

Except for option #1, I couldn’t find other ways to render a nice blurred self-shadows.
Please let me know if I missed anything or any other ways to render blurred self-shadows - with webGL1.0.

Many thanks!

You can improve things with useBlurCloseExponentialShadowMap by lowering the blur kernel:

Regarding ESM, see my answer here:

This technic only works well when occluders are in front of receivers, but the torus is self shadowing and is both an occluder and a receiver…

You can still tweak the parameters:

@Evgeni_Popov Gotcha. that makes sense. Looks useContactHardeningShadow is still the ideal way.

Thank you very much!!