Light leaks with func_detail?

xzzy

aa
Jan 30, 2010
815
531
Anyone got any tricks for dealing with this?

56F9B7E559976D24F8BB57396BB607190B314FDE


I've seen this in other places but usually it's not a big deal because it's not a dark area.. but in this spot it's really bugging me. The floor is a func_detail, while the surrounding walls are all world geometry.

I'm guessing maybe it's a lightmap issue? The func_detail doesn't split up the face so part of the lighted area underneath bleeds through.

Is the only solution making the floor world geometry? I guess it wouldn't be too bad to do that, but I'm curious if anyone's ever found another way.

I guess I could crank up the lightmap resolution, but that comes with other side effects.
 

tyler

aa
Sep 11, 2013
5,102
4,621
You could try blocklight? Remember to uh, func_detail it. Really though.

Or you might want to try cutting the walls into two brushes each, so that they are lit differently, I dunno.
 
Last edited by a moderator:

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
I've been having a similar issue with my sniper decks. Making sure the walls on top are separate from the walls below didn't fix it. Force-cutting that entire area into two visleaves by putting a hint brush across the entire mid at that level strangely didn't fix it either. Haven't tried messing around with smoothing groups yet, but maybe there's some trick involving the "hard" group in that window that might do it?
 

Draco18s

L9: Fashionable Member
Sep 19, 2009
622
136
Because detail brushes do not chop world brushes, light can seep underneath them if the other surface's lightmap scale is larger than the detail brush is wide/tall. If you encounter this, manually slice the underlying brush in two

That might help.
 

Pocket

Half a Lambert is better than one.
aa
Nov 14, 2009
4,694
2,579
OK, so I've tried the smoothing groups trick. It did separate the upper brushes from the lower ones, but it also separated them from each other, which was not acceptable. So then I tried making them into a smoothing group instead of a hard group, and... got the exact same result, despite that being the exact opposite of what smoothing groups are supposed to do.

:confused:

I have a new plan that I'm pretty sure will do the trick, but I also want to know how the hey that happened.
 

grazr

Old Man Mutant Ninja Turtle
aa
Mar 4, 2008
5,441
3,814
it's only light bleeding through because the lightmaps at the back of the func_detail are larger than the space the func_detail obscures light bounces as that's a single brush face you're looking at. Either decrease the lightmap scale to below 16 to bring the lightmap scale in sync with your geometry (which i would have recommended were the faces involved more important, as this lengthens compile time and increases file size), or split the faces in 2 (or nodraw the space behind it with a second split, making 3 brushes).
 
Last edited:

xzzy

aa
Jan 30, 2010
815
531
I experimented with a couple ways of doing it, and eventually settled on converting the floor of the func_detail into world geometry. Results in a few extra portals but I also noticed it means the area doesn't get drawn as frequently, which is a nice side effect even if I pay for it with extra build time.

That's just this particular case though. Splitting the world geometry into texture-nodraw-texture is pretty interesting and I'll do that in the future.