I spent some time working on my WIP map today and ran into a situation with a multi-layered structure with oil lamps on each floor. The problem was that I could see both levels of my structure simultaneously and the radii of my lights was too tall and I got a lot of overlapping lights between the floors of my structure, leading to bad performance. I was able to solve the problem using a method similar to one I used in the "pit" portion of Requiem and since it works so well I thought I'd share it. Note that proper use of visportals will most often solve overlapping lights, since you can lock some of your lights behind a closed visportal where they won't render. So only use this method if you have geometry which makes that impractical. Overlapping lights (i.e. lights whose radii light up the same objects/geometry) are one of the most common performance killers in TDM. Unfortunately the standard light entities have two issues which make it a common problem, especially if you're lighting up geometry where you can see through more than one room/floor at the same time: a) For the sake of realism, the light entities need to be attached very close to a wall (for torches) or ceiling (hanging lamps). This means that a large part of the light radius is going to be poking out the other side of whatever wall/floor you attach it to. If you have any other lights nearby, like in the next room or the next floor, you'll get overlap. b ) The default light texture on light entities (usually biground_torchflicker or biground_candleflicker) produce a relatively weak light which means you need a relatively large radius to compensate. The result is that the radius of your lights is normally going to be much wider/taller than the geometry you're trying to light up. The following is a step-by-step walkthrough of one solution to this problem. This solution is meant to be used in situations (like mansions or multi-level structures) where you have many lights in proximity and need to make sure they're not touching each other for performance reasons. A drawback to this method (besides the time it takes to set it up) is that it will generate more entities in your map than if you just used standard lights. I start off with a two-story structure with two wall mounted lamps, one on each floor: 1) When you select the lamps in Dark Radiant you just see the model. You don't see the light that it will generate. But when you load up your map, the light is present. What's happening is that the entity has a default light attached to it which is spawned when you load the map. You can find it by looking at the lamp entity in DR and checking for the "def_attach" spawnarg. For these lamps that spawnarg is set to "light_candleflame", which is the light entity that's spawned on the lamp when we load the map. All of these various light entities can be found under Lights->Light Sources in the entity viewer. 2) Now that we've identified which light is being spawned by our lamps, the next step is to add the spawnarg "def_attach -" to the lamps. This removes the default light, so that if you were to load up the map, no light would be emitted by them. 3) Next create a 'light_candleflame' entity, position it on the lamp, and use the "bind" spawnarg to connect your light_candleflame to your lamp entity. Now if you load up the map, your lamp will look and act just as a normal lamp entity would. But since you can now see the light that's being cast in DR, you now can customize the spawnargs of the light. By itself this is a great way to eliminate light overlaps because you can just tweak the radius of your light (as well as color, whether it casts shadows, etc) instead of relying on the default light entity radius. At this point, after creating my custom lights and tweaking their radius a bit, here's how everything looks in Dark Radiant. You'll noticed that I've still got the light radii overlapping through the ceiling. In looking at this situation the only way I can have these two light not overlap each other is to move the lamps up and down the walls until they're farther apart. Sadly I can't do that without the lower lamp ending up hovering over the floor. Not only that, but if I move the lights farther apart the light will no longer significantly illuminate the ceiling even if I boost the light's brightness to 100. Let's solve the first of these problems: how do I get these two lights to not overlap without moving my lamps farther apart. The solution is to create a second light. 4) First, create a 'light_extinguishable' entity (found under Lights->Base Entities) and give it a radius such that it's just barely touching the ceiling and the floor. Give it the same light texture/color/ etc of the light_candleflame, and bind it to the lamp with the 'bind' spawnarg. If you want shadows to be cast from the direction of the lamp, move the light center on this new light to above the lamp (the light center determines where it looks like shadows are coming from. You can select it by clicking on a light and going into vertex mode. Then just move the vertex at the center of the light around). 5) Give the original light_candleflame that we created a radius of 1 1 1 . This will make the light so tiny that it won't cast onto any geometry. The reason we don't just erase it all together is because a) it creates a light flame particle for our light and b ) it will generate smoke etc when our light is extinguished. Once done to both lamps, this is what it should look like: Voila. We've now got two lights on top of each other that don't overlap and will act exactly the same as a normal lamp entity would in game (i.e. extinguish, turn back on, etc). Now let's solve the final problem: this setup is great but if I load it up in-game, the lights are very dim across the ceiling and floor, even if I boost the light brightness to 100. Because only the very edge of the light's radius touches the ceiling and floor, the illumination will be quite dark. The solution is to create a custom light texture. Most lights in TDM cast a light texture, basically a 2d image painted along the light. The light textures for most lamps/candles are based on the "biground" light texture, which ends up making the lights pretty dim. There's another light texture called "brightround" which when applied will make the same light incredibly bright. My custom light texture is a brightround which flickers like a torch. 6) Create a custom material file with the following contents (or just use the one I have with the test map): //This is a brightround with a torch flicker. Very useful if you want to avoid light overlaps because you //can have a much brighter looking light at a much lower radius than with the standard torchlights. lights/brightround_torchflicker { lightFalloffImage makeintensity( textures/lights/brightround ) { forceHighQuality // no shadow down or up map textures/lights/brightround colored zeroClamp red ((.05 * sintable [(time * ( 2 + Parm3 ) ) ]) +.95) * Parm0 green ((.05 * sintable [(time * ( 2 + Parm3 ) ) ]) +.95) * Parm1 blue ((.05 * sintable [(time * ( 2 + Parm3 ) ) ]) +.95) * Parm2 } } 7) Select our light_extinguishable and open up the light editor (by default press L). In the light editor apply the brightround_torchflicker texture to our lights. You'll notice that when you do this the lights become, much, much brighter. In fact you may need to lower the light's brightness (also in the light editor) to get them looking normal. Tweak the brightness to your satisfaction and you should be good to go. Here's how the lights look in-game. You now have two working lamps stacked on top of each other without any overlap. The same trick can be used to have non-overlapping lights on either side of a thin wall, etc. Hopefully it'll be useful in your mapping endeavors . LightSolution.pk4.txt