Light seeping through mesh edges in Cycles

I have a desk lamp that’s giving me issues. I wanted to check here before I updated the source and filed a bug report. I’m currently using a self-compiled 64 bit version on Debian - 2.67.1 r57442.

This lamp has two materials - one for the lamp, the other for the flat section inside the lamp that has an emit material. There’s a subsurf modifier set to ‘2’, but no other modifiers. The light from the emit material shows through the back of the lamp at the edges.

Here’s a picture showing the underside of the lamp in solid mode so you can get an idea of how the mesh is put together.

Is this expected behavior, or should I update my svn and file a bug report if it’s still happening?

can you upload sample file
so we can look at it


are you rendering in the viewport or f12 render? if its just viewport and f12 render looks fine, try switching to static BVH viewport mode under render settings.

otherwise look into your far / near clip planes, if they are too far apart it can cause precision issues.

are you talking about this?
When using Instancing or Dynamic BVH, self-intersection may occur due to precision issues. Switching to Static BVH may avoid some problems but not all

what are these self-intersection ?


any chance it preview window with ortho camera? switch to perspective camera then.

I think one of the main problems with your setup is that the emission part of your mesh shines inside your mesh. By default emission planes shine in both directions (front where the normal is pointing and the backside of the mesh). You can limit it to one direction with a mix node and the backfacing output of the geometry node. This should at least reduce the light seeping.
Having the emmision plane as a separate object and having the lamp mesh closed should work too.

I think that the problem is the mesh and the modifiers you are using. Try to disable subsurf modifier and I think the problem will disappear. This would confirm the problem. The solution would be changing the order of the modifiers in the stack or changing the mesh.

Ack, sorry, got called into work and forgot to check this when I got home.

It’s happening during render as well as in the viewport. The only modifier (on the lamp, anyway) is the subsurf. Static BVH seems to do the same thing, at least in the viewport - I’m not sure if that setting affects rendering or not and haven’t tried it.

Here’s a partial render, set to 800 samples:

I haven’t touched the clipping planes - they’re 0.1 and 100.

Please note - I’m not worried about fixing this particular render. I can edit the lamp and fix the problem pretty easily. I’m just wondering if this is something I should report as a bug. I personally would expect to not have light shine through the mesh regardless of the modifier stack or perspective/ortho view, but then again I’m a newb, so what do I know?

Here’s a file with just the lamp. It doesn’t happen in this file with rendering, but it still happens in the viewport, regardless of BVH.

Not need to report, very old known limitation of orthographic camera and BVH triangle intersection. Use Perspective projection instead. Or better fix that BVH triangle ray intersection algorithm precision issue.

does it do samething on offical built 2.69 RC1?

i’m on windows
and i cannot see the same render as in your first post
but could be function of OS !

happy bl

I can’t get it to happen in the render in the .blend I put up, although it still happens in rendered view. It does show up in the larger blend that file originally came from. I double checked and the camera is in perspective mode for the render.

Unfortunately, I’m on Debian and can’t use official builds. I’ll rebuild maybe tonight with updated source and try it again.

Here’s a link to the original blend. I’m well aware my materials suck :slight_smile:

Indeed, looks like issue. No double geometry, scales ok for both camera and lamp mesh, perspective mode, and light still leaks between triangles.