Ambient Occlusion Issues

In Blender, I have a network of glass struts. General rendering achieves a somewhat nice effect (first picture). Turning on Ambient Occluison adds even more realism (second picture). However, all the glass struts that run from the front left to the back right of the image are way too dark for some reason. Any ideas on ways to make these struts bright as well?



2 things you can do here.

1). Check if you have overlapping faces.
2). Increase the intensity of the AO.

not sure exactly what you mean about overlapping faces… The struts are all perpendicular to each other, so the struts which go from the front left to the back right are no more overlapping than any other struts.

Overlapping faces means that there are faces that are precisly sharing the same position and direction.

This is not a good thing to have when using AO because it will reveal them as darker scratchy surfaces.

First thought is Camera Angle (in both pics those struts seem to be magnifying everything behind them and maybe in front too [which is physicaly correct btw]). Second is IOR Depth (which will change everything for for the whole object though). Tweaking IOR, Fresnel and Raymirror is probably going to do it but you may be able to improve it simply with better lighting (I take it this wasn’t rendered with Yafray?)


Have you tried “Random Sampling” on the Ambient Occlusion?

Oh… okay, thanks for the explanation. No, I don’t have overlapping faces, then. I have faces that interesect each other exactly perpendicularly, but none that share the same position AND direction.

Hmmm… I thought random sampling in ambient occlusion was even noisy-er. I think I tried all settings in AO and none had any effect on these particular struts.

I haven’t tried camera angle, but I did add more lights with similarly no effect. Very strange. Newbie question… so I would need to install yafray and then tell blender to use the yafray renderer… is that it or do I need blender to output a file that yafray will then render some other way?

Random sampling makes everything noisier (the little definition when you mouse over it even says that) while not subtracting anything from render time. In most cases you can just leave random sampling off.

Looks to me like it has something to do with your sky texture. Can you upload a Blend file? As far as the shading goes they both look the same to me, the AO pass is just multiplying the effect of ray trans. You could always download a CVS build and composite with nodes using a seperate pass for AO which will allow you to tweak it’s values without having to re-render. Post processing this way is extremely fast because you’re bassically just tweaking the luma or chroma values of the pass .

Something else you might try (also with a CVS build) is setting the offending strutts on a seperate layer from the ones that you like and flagging their visibility within the scene context on the renderlayers tab but not within the layer context on that same tab. Then set up another render layer where you have your offenders flagged in the layer context but not the non offenders. Render both layers with an AO pass and be sure to link them together with a z-combine node. Now you can tweak your AO pass for the good guys and the bad guys in two seperate post processes and attain a much greater degree of controll. Situations like yours are exactly why the devs coded the new pipeline. CONTROLL!.

The two monkeys in the image were set up exactly as described above. AO is the only lighting used in the scene, yet you can clearly see the difference in the girls due to tweaking of the seperate AO passes. As far as adjusting the strength of the pass in post, it updated IMMEDIATELY, as fast as I blinked. Beats the heck out of having to re render many times to get what you’re looking for, especially when AO is involved. If I’m not mistaken you can animate this value via a color ramp and a time node though I haven’t fiddled with that yet. In v 2.44 we will most likely be able to animate values output from the blue sockets also, but even the static values in the upcoming build are insanely cool.

Also, here’s a link to the .blend:

The soften filter that I added to the z outputs of each renderlayer is to eliminate the few artifacts that crop up when using z-combine. The devs have added masking to the z-passes in order to minimize the extreme aliasing associated with the pass but it’s not perfect. Filtering this way makes it smooth as a baby’s bottom.


whoa… interesting. Hmmm… any good tutorials about the node editors? I really have no experience with this and I have not found any good tutorials about it yet.

Here’s the .blend:

Edit: And Here’s the Sky Map:

Try searching the blender wiki. RogerWickes has been doing a heck of a lot of work on it lately, but you’re not likely to find much concerning most of the passes as they havent been officially released yet. You can download a CVS build here:

The most current Mac build is from Dec 11th, but you’ll likely find another in a day or two. Also, one of the most useful nodes is the map value node which can be used to slice and dice a renderlayer just about any way you choose and there is a fantastic tut on it here:

Here’s a few more, but I haven’t looked at any of these

RamboBaby: nice use of compositing to get around the problem.

hymie: after experimenting with your file, I’ve found that the problem is one of geometry. Something in your array modifier stack is causing that rendering artifact. Apply all array modifiers, then go into edit mode. Select all and do a Remove Doubles. You’ll see that there are some 7k odd doubled vertices. Once you do this procedure, your model renders as you would expect.

Holy Crap. THANKS! That really was exactly it. Now I actually like this model. There’s just something really nice about perpendicularity that I can’t describe. Quite nice, thanks.

Weird that there are doubles. I will experiment some more to see from where they came. Here’s the best rendering so far:


Nice! Try adding some mist to help hide where the objects are ending. Also, very subtle, colored lights might add a nice effect.

Hymie, That really rocks! I know that your problem is solved, but try downloading the file I put in this post:

Your file was going to kill my computer even when I reduced the sky texture size dramatically and seriously reduced the number of arrays. I designed this setup specifically with this post in mind so that you would be able to see how you can configure your passes on a per renderlayer basis as mentioned in the post above. Sorry I forgot to bring it back here until now. Hopefully I’ll have finished the tutorial that goes along with it in the next day or two.

wow, that file is really intriguing. I’m looking forward to the tutorial… let me know if you want some peeps to try it out before you post it.

Incidentally, I’d like to take this opportunity to clarify what exactly was the problem I was having. If you think in three dimensions you will see that I only needed three array modifiers rather than four. Harkyman was exactly right.

So: Make 1 post, array it 11 times in the x direction.
Array it again 11 times in the Y direction.
Now… here’s the trick. Array it again with a 90ºx90º rotation. Make this an array of THREE (one for X, Y, and Z).


Hey Kernond, thanks for the suggestion. I’ll give it a go… I’m actually trying to make a figure for a book chapter so we’ll see how it goes.

I was really stoked about that tut, BUT…I can’t finish it yet cuz CVS has too many unresolved issues. Z-Combine and Alpha Over nodes are the main problem children that have been inciting riots in the rest of my class. Renderlayers export as multilayer files just fine but when you open them again any transformational values and additional passes that were applied to the comp are not passed to the entire comp as individual outputs, only alpha and Image values get passed. That means that the entire comp has to be broken back down in order to alter any of the aforementioned values which i find to be a real bummer. It would be quite nice if renderlayers within a muiltlayer file would import on a node with a unified interface upon which all individual layers and passes could be turned on or off via an eyeball icon (the same way you can do it with any scene geometry in the outliner window) and also “Shyed” the way After Effects does it. Shying lets you completely hide a layer from view within the GUI, while maintaining it’s visibility within the comp preview window, in order to make compositions visually managable - like being able to only see two of the layers within a multilayer image even though there are 25 available. Unfortunately there is no preview of any nodes in the outliner. Renderlayer attributes changes don’t get properly passed from the renderlayers tab to the outliner even though the outliner will properly pass any changes back to the renderlayers tab. I could go on and on, but suffice it to say that this put the ix-nay on the ootorial-tay for now. I hope they get it working soon but, alas, I believe we are going to have to wait either for v.2.44 as I originally thought or we will see B-Con 5 moved back several months from the proposed end of DEC. I’m not trying to be a whiner, Blender is my favorite program, just giving you a heads up on my situation. Much of this is also attributable to my own lack of understanding within the context of the nodes compositing framework.

BTW, I’ve had more fun working with your posts than anything I seen in these forums to date, as they have given me lots of cool stuff to try that I might have otherwise not explored. Keep em coming.