Where does shadow modulation happen?

I’m looking at scene processors, in particular the DirectionalLightShadowRenderer (need to do some minor custom stuff).

I’m inside PostShadow15.frag, and it ends with

outFragColor = vec4(shadow, shadow, shadow, 1.0);

I believe these values then modulate the original scene, darkening it according to ‘shadow’ in places there are shadows. My question is, where does this modulation bit actually happen?

If there are any links on scene proccesors please direct me, only got this atm: https://jmonkeyengine.github.io/wiki/jme3/advanced/effects_overview.html#scene-processor
It’s cool if not though, I’ll keep digging around

I achieved the desired effect

(yes that is desired :stuck_out_tongue: )

Still interested if anyone’s got any links on scene processors though!

Shadows are re-rendered over the scene with a blend mode “modulate”.