Disks of light among shadows. Bug in blender?

Hello,
I have a bit of a dilemma.
I modeled a simple table, plate and a pot.
Both the plate and the pot are two-layered (i.e. one surface forming the outer part of the object and one surface forming the inside. The two enclose the space completely and don’t seem to cross each other).
I put the pot and the plate directly on the desk such that they are barely touching the desk (I tried moving slightly up/down, same thing).

As you can see in the more distant picture, there is a disk of light right below the pot and the plate where the shadow should be. (click on the image to zoom in and see it clearer)

The lighting setup is just one sun, one lamp (casing shadows), and one area lamp. I tried removing the sun and the lamp, leaving only one lamp up to cast shadows, and the same thing is observed.

I tried moving the camera closer to the picture while keeping the same angle, and I noticed that at a certain point the disk gets smaller and disappears (attached).
I tried slowly lifting the plate and pot off the desk, and found that at a certain point, the disk of light becomes smaller and disappears, but it is obvious that both are hovering about 3cm above the table by the time the disk of light completely goes away.

Attached are photos.

Can anyone shed some light on this problem? Is it a bug in blender? I’m still new to this, so if it’s a simple fix, I probably overlooked it :slight_smile:

Thanks a lot!

Attachments



I am a noob, so my solution would be to move the pot and the plate inside the table a bit… dont know any other way, soz - good luck!

Are you using Ambient Occlusion or Approximate Ambient Occlusion? If so what are your settings for the AO or AAO?

Xorro, in order to speed up rendering, blender uses something called shadow bias. Sometimes this causes light leaking around the edges of objects, as you have in your render.

The setting for bias is in the Material buttons Shaders panel, called sbias in 2.46, I believe it was just “bias” in earlier versions. 2.46 also has an Lbias setting, which is a multiplier. Start by setting sbias to some small number, like 0.10, and set lbias to 1.00, and experiment from there.

It’s not a bug.

Hey guys, thanks for your replies.
GRoss: good idea, but I hope it won’t come to that :slight_smile:

DichotomyMatt: I am not using any ambient occlusion, (the button that says ambient occlusion in the world settings is off.) I’m not sure about AAO - I know I didn’t intentionally turned it on.

Orinoco: I tried your sBias and lBias settings and they seem to give the same result.

I attached the blend, maybe you guys can take a look?

Thanks a lot!

Attachments

kitchen2.blend (505 KB)

I took a look at your blend and found that the trouble is not with your lamps or shadows, and it is not a bug, in fact it is a mesh issue. The faces that make up the top of the plate are intersecting the faces that make up the bottom of the plate. This criss-cross is confusing the light calculations. You need to move the top faces up so they do not intersect with the bottom. The same issue is true of the pot. The inside faces that form the bottom of the pot are actually touching the faces that make up the outside bottom of the pot. When you add Sub-surf the faces are intersected. Fix the meshes and the shadows look fine. One more thing to work on is your over use of sub-surf. It is rare to need the render level of sub-surf set to higher than 2. You have some set to 4. Your scene does not all 140,000+ faces it currently has. Try adding more edge loops and avoiding Triangle faces (like the table top).

I’m not exactly sure what was causing the problem, I fiddled around with lots of things, and finally it went away. I think the root of the problem was in the table mesh, but I’m not sure.

I reconstructed it, though, along with a lot of other things, and it works now.

One note about your .blend… You had lots of very high poly cylinders, but they all had subsurf on, often up to level 3. This is totally unnecessary and does nothing but slow things down, especially renders. For most purposes you don’t even need subsurf on those cylinders unless you were doing very strong closeups.

Oops, almost forgot: kitchen2.blend (488 KB)

Woops, almost forgot!

Howly crap!
THAT’S ambient occlusion?? That looks amazing. (yes I am a total newb :slight_smile: ) Kills the render time though - took 2 hours to render. I guess that’s why you guys are saying I need to cut down on the faces!!! When I removed subsurfing of chair legs, render time went from 2 hours to 20 seconds!

DichotomyMatt: I think you are right too. I tried moving the faces apart and it made the shadows fine. When faces overlap, the light seems to trace along the back sides of each face. Cutting down on the subsurfing seemed to have fixed it as well.

Hobo Joe, thanks for posting the modified blend.
I have a few questions:

  1. Is ambient occlusion used in almost all great renders posted here? (i.e. just wondering if it’s required to make things look amazingly cool, or is it only used for this “soft” effect)
  2. How come you turned most of the chair into one mesh? Does that speed things up or just make it easier to work with?
  3. Yeah, I’ve read everywhere that I should make quads as opposed to triangles. Nobody ever told me why. (in reference to DichotomyMatt’s post, and the fact that Hobo Joe removed my triangles)
  4. Everyone has their render screen in one of the view windows (as opposed to having a new window). Is there a strategic advantage to that? or just trying to avoid extra windows. How do you do that?

If either of you have any more feedback or suggestions about my modeling, I’m all ears!

Thanks to both of you for your helpful comments. That helped A LOT! Answered some of the biggest questions I had about modeling and set me on the right track.

In reference to tris, sub-surf does not calculate well with triangle faces. You always, get that sort of ripple effect you have on your table top. As far as AO goes, not every render has it, but many do. Depends on the type of lighting you are looking to fake. You can read up on what AO is designed to do in the wiki: http://wiki.blender.org/index.php/Manual/Ambient_Occlusion

It took 2 hours to render the .blend I uploaded? It shouldn’t… it only took like 40 seconds for me. But actually, in that render I didn’t use real AO, I used AAO, which, to put it simply, is AO that doesn’t look quite as good, but takes about a tenth of the time. The thing that probably took so long was soft shadows. But STILL it shouldn’t take nearly that long.

  • More or less, yeah. It gives a very good idea of depth and angle and plenty of extra realismwith very little work, so it’s pretty popular.
  • It doesn’t speed things up, no. But yes, it makes things much easier to work with. It just depends on what you’re doing. For example, if I wanted to edit just one leg of the chair, I’d probably separate that from the rest of the mesh in order to keep down on the clutter.
  • Yes, See DichotomyMatt’s post.
  • Keeps the clutter out of my taskbar, keeps everything together and in one place. To change it, go to the Render Buttons, and the ‘Output’ tab. There’s a little drop down list for it.

Looking at your .blend file, it looked like you were trying to eradicate the solid faces by turning up subsurf, which you should NOT do. Use set smooth if you want it to look smooth, and ONLY turn on subsurf if you can clearly see the low-poly area’s. And don’t turn it up unless you absolutely need too. Having low poly is simply better. When you go higher poly, the Blender will run slower, things will render slower, and the filesizes will go up. So just remember, keep it as low as you can to achieve what you’re trying to achieve.

And just a couple other small things: Watch the energy of your lights, a washed out render is a bad render, no matter what’s in it. Also, giving a ground plane that goes to the edges/changing the background color can work wonders for your image. The default blue is a pain on the eyes.

Glad to help. :slight_smile:

Hey, thanks for your replies.
Hobo Joe, I think you sent me a slightly different blend file because the subsurf on the chair legs was still turned on. Nonetheless, after I turned it off, the render looked like the one you posted and took about 20 seconds.

Yeah that wasn’t a completed scene, I was working on the kitchen but then stumbled upon this shadow thing. But that looks great now. Now that I see how long high-subsurf render takes, I’ll keep everything low poly from now on.

Thanks for all your help!