Three.js Lights do not affect CSM shadows

I have been using CSM to generate shadows for my voxel terrain.
I’ve been using PointLights for a light “block”. I expected the shadows to lighten if there is a light source near, but the light has no effect on the shadows.

Aside from voxel lighting, is there any way to allow lights to modify of the shadows?

Edit 12/4/2020: Clarified the post (The solution still applies, this is for others who come across this question)

Notice that this CSM implementation is part of the repository since a while now. It was properly integrated and improved. Here is the official example:

https://threejs.org/examples/webgl_shadowmap_csm

You should definitely use this code instead of the original one. Can you please try it with this version?

1 Like

I have been using the official example code, as I was unable to get the repository code to work.

Um, after testing it seems that the CSM class does not support this use case yet. I mean I am able to lighten the shadows with AmbientLight but they do not react on an additional point light.

@gkjohnson Do you know the reasons for this behavior? Is it just not implemented?

CSM is only implemented for directional light sources, for point lights that would be very expensive.

1 Like

I think that depends on whether or not you cull the lights for each cascade and how big your point light spheres of influence are in relation to cascade dimensions. But in general - yeah, it’s more work, at worst 3-times more work (since there are 3 cascades by default).