Hi!
Long story short: compute/set colors for dark and light parts, then mix them in fragment shader with smoothstep()
, using screen coordinates; use that approach for all the materials you use in your scene.
2 Likes