Shadows: PSSR Deprecated, BSR looks poor, DirectionalLightShadow doesn't exist.?

I’ve been fiddling with shadows in a project I’m working on and I have a few questions.

The base geometry receives shadows, the upright blocks cast and receive them. I have a single directional light (pointing at Vector3f(.25f,-.35f,-.5f).normalizeLocal()) and am trying to get natural looking shadows cast on and by the blocks. The shadows don’t need to be realtime, but would need to be updated each time a block is placed.

Using PSSR is deprecated according to the wiki, although there isn’t any explanation about why or what the alternatives are. So, why? What are the alternatives?

I had a go with the BasicShadowRenderer (“BSR”), which looks quite poor. I will attatch a BSR (with a 1024 shadow map) vs PSSR image at the bottom of the post. Why does the BSR produce shadows that seem so strange? Can I improve this? Increasing the shadow map > 1024 appears to have little effect.

Finally, I wanted to try out the DirectionalLightShadow, however this class doesn’t exist at all. I’m using JMonkeyEngine SDK RC2 … do I need to update JME or something? Will I have better luck with this renderer, anyway?



I think javadoc is your friend. You really should have easy access to it at all times.

Specifically: Deprecated. use DirectionalLightShadowRenderer

…with an easy link to:

Thanks for the reply :slight_smile: I definitely don’t have DirectionalLightShadowRenderer and PSSM isn’t deprecated (in the copy of JME which I got with the SDK)… is it recommended that I use a different build of JME than what comes with the SDK?

PSSM is fine, and was the shadow renderer in RC2.
in 3.0 we have other types of shadow renderers for point light and spot light and the pssm was renamed DirectionalLightShadowRenderer along with some refactoring.
Just know that if you upgrade from RC2 to 3.0 PSSM will work, but will be deprecated in fovor of the DirectionalLightShadowRenderer.