Heyo everyone!
This one has been on my wishlist since I first started using Blender.
(Even if a proper integration in EEVEE would be better)
It turned into an actual project after a post on r/blenderhelp: Someone wanted light shining through a stained glass window in EEVEE, and the answer was “use Cycles”.
Fair enough. EEVEE ignores node trees on lights, and shadows are grayscale from gobos/light cookies, so a colored texture in front of a light comes out as a grey mask. Most people assume that’s the end of it.
BUT IT IS NOT THE END!
The trick is splitting the texture into 3 planes where each plane gets only either red, green or blue channels, and giving each plane its own light - pure red with a red channel texture, same for green, and blue. On the surface the three beams add back up to the full image.
Then using Shadow Linking (in EEVEE since 4.3) keeps each plane from blocking the other two lights, and because the lists are set to exclude, everything else in the scene keeps casting shadows as normal. Making it easy to use in basically any scene.
I made a video walking through the whole setup, and packed the rig up as a free asset so you don’t have to build it. Drag it in, point it and change the texture if you want.
All three planes share the same image datablock, so you swap it once in the N panel and every channel follows.
- Tutorial:
- Free asset / Gumroad download link: https://jesperbylov.gumroad.com/l/eeveetexturedlights
Not really dealbreakers but something to be aware of:
- It’s three lights instead of one, and transparent shadows need more samples.
- Volumetrics pick up some noise, and there’s a visible step in the volume where the planes sit.
- It’s not a 1:1 match for how Cycles does it. But it gets pretty close.
The downloadable file needs Blender 5.0 or newer. If you build it yourself from the video, 4.3 and up "should " work.
Some of the flashlight textures in the video are David Gruwier’s which are very high quailty!
Would love to see what people end up using it for. And give me some feedback. ![]()
/Jesper
