Light leak from sun, in Cycles

LightLeak
Anyone have an idea what is going on here? Light leak happens at the ceiling board no matter what elevation I place it. Appears to be picking up sunlight and bouncing it back on the wall. There IS a gap between the wall and the ceiling board, and normals are pointing the correct way. The walls however are thin geometry rather than walls with actual thickness. I prefer working this way with single rooms to allow backface culling easing my navigation. I thought Cycles, being a path tracer, was supposed to be immune to these sorts of problems.

I don’t understand, if you know there’s a gap, why are you surprised there’s light coming through?

2 Likes

I mean there is a gap between the ceiling board and the wall. And a gap between the ceiling board and the ceiling as well when pushed to the top:


Closeup where the white bevelly thing is the ceiling board. Blue wall, green wall, and white ceiling. Everything is fully enclosed, there should be no light leak. With room selected:
LightLeak2

Do you have any displacement on your materials?

No displacement used. No modifiers used other than the geo nodes I’m toying around with, but I have noticed this in other real projects earlier as well. Camera clip start is also a fairly massive 0.1m, so I wouldn’t expect any sampling accuracy issues.

Can you isolate those components and share them?

And you have confirmed that it is indeed the sun light leaking through?

1 Like

to add onto what @SterlingRoth is saying, no emission materials in the scene at all? can you cut that little chunk out and paste it here so we can take a look?

My guess there might be the edge is splited and a modifier opens this!?

Can you verify it is the light,
if you turn it yellow did the leak change color too?

It is the sun leaking through, it changes color if I multiply Nishita with red.
No other modifiers than the geo nodes. Simplified it a lot, and I think I found the culprit. Bug?


I’m getting the light leak whenever shade smooth is set.
Turning it off gets rid of the problem. Applying the geo node gets rid of the problem.
However, the problem returns if I set smooth shading for the mesh, without auto normals.
See attached file, which I was finally able to get down in size. Has modifiers applied.
Turn on and off auto smoothing:
Lightleak1.blend (124.6 KB)

1 Like

ok thats weird. I was able to recreate that behavior on a fresh file:

same behavior with HDRI vs sky texture, shows up when smooth shaded objects are exactly parallel to a wall plane (w/o thickness).

With added thickness and a rounder object (no faces directly parallel) the effect isn’t present:

but when you take away that wall thickness, you can juuuuust see a light ring around the sphere (which is intersecting with the wall)

from looking around the scene, you can see the smoothed objects receiving env light
(diffuse direct pass)

adding a normal map doesn’t seem to help/hurt, neither does changing spec/metallic.

Weird. Maybe a bug? no idea how to submit

Can confirm, it appears that smooth shading has some sort of ray offset that allows light to leak through thin surfaces.

definite bug

1 Like

Here :slight_smile:
https://wiki.blender.org/wiki/Process/Bug_Reports

As expected thin walls was main reason.Higher in post it was mentioned by Jakebane too,
if walls will have thickness no light leaks.

That’s a decent workaround, but light shouldn’t be leaking here, even with single surface walls.

This is a bug

If there are separate meshes where faces are very close distance, there may be not enough accuracy to handle it.

It is easier if walls, ceilings and floors are same mesh and it have thickness, like 0.5 unit, not 0.001 unit. You can then carve there hole to windows to get light pass to inside.

Edit:

What Blender version you are using?

I got similar light leak when baking lightmaps (Blender 2.92) and figured out that it requires thickness to walls. I didn’t consider it as bug. My though was that algorithm expects thickness. Not sure is this same.

here is a scene where the walls are over a foot thick, and the same issue persists when the scene is scaled up to have 10ft walls.

@jcfnav looks like there are a ton of normal related issues being reported, this seems related to that

2 Likes

3.4 Alpha, but as mentioned, this is something I’ve seen in earlier real projects as well. Waiting for geo nodes to mature before actually getting into it, I used it to raise floorboards (most) and lower ceilingboards (a few) with 1mm, as to only have to deal with actual floor and ceiling elevations in the actual geometry creating that extra shadowgap detail.

Baking lightmaps I’d expect a requirement for solid walls. But not in a path tracer if rasterizing type shortcuts are not used. And certainly not related to smoothed normals or not.

Ok, thanks. I didn’t check, but initially I thought it was a problem related specifically to geo-nodes which I’m just starting to get into.

I submitted a bug report, so we’ll see.

edit: i was seeing this on 3.2 and 3.2.1

@CarlG @SterlingRoth
Bug report was closed, referenced in this, known issue
https://developer.blender.org/rB9c6a382f9540c8e334a16b7740b5ba6bb294fca9

long story short, add a few levels of simple subdivision and it fixes the issue. verified w/ my test file.

2 Likes