When casting shadows from both light the plane either has shadow or not. There’s no difference between a spot on the plane that has 2 light sources that are casting shadows, only 1 light that is casting shadow.
It always looks like figure 1.
Can I influence differently on several points on the ShadowMaterial so the opacity value will render differently, not just 0 or myShadowMaterial.opacity?
Backing shadow maps is:
Manual process.
Will not change according to the lights position - static.
The shadows looks perfect and you can even set the opacity of the plane to 0 and still get the shadow effect just like you would in ShadowMaterial.
Beside the fact that it doesn’t look straightforward to implement (maybe we can use onBeforeRender for that?), it looks like you need to render the scene 4 times for each frame.
How will it effect on the performance?
Should I expect similar impact as with the Reflector component?
On your example I see that you are replacing this glsl line of code: gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );
with this one: gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * darkness );
I have tried to replace it with this one: gl_FragColor = vec4( vec3( 0.0 ), ( 1.0 - fragCoordZ ) * darkness * opacity );
but it doesn’t seems to have any effect on the outcome: