Based on inspirations from matt ebb, crytek GmbH, and various papers, I manged to create a robust, easy-to-implement screenspace AO with blender, so here it is! My very own fake ambient occlusion using nothing but nodes!
wow - looks great for a 5 second render! Would you be able to integrate this into the preview window? Then you could toggle a button to use the fast ao instead…?
of…? speed? image quality? click on thelinkin the first post for more pics.
bjzaba, i am not too familiar with GLSL, but the current approach is rather slow to be considered for real-time application. but i am sure i can convert the algorithm to GLSL in due time…
The Fake Ao shadowy bits are too dark in some images imo, but its fast and looks a bit stylized too which I reckon that would look great in a cartoon render…
Nice work! You’re the man
Not bad. Would be interesting to see how tweakable this setup is, since the shadows seem to be too intense and too short in comparison to the Raytraced AO Render.
Would be cool if you could manage to achieve a almost identical look.
This is unbelievable. Great. If this was not mpan3 thread I would consider it as a fake.
So where it the setup ??? :-))) Is this new node or combination of actual ones?
I gave this technique a try, quite interesting, unfortunately, il really depends on how the object is placed on the scene and how much space it takes, also depends on the shape. for example, a character spreading his arms to the camera won’t work that good, as I tried. but still for very square, centralized things, it’s a great time saver! congrats
Not to hijack your thread, but do you think it would be possible to use a node-based shader similar to what you’re doing for fake AO to simulate worn paint on hard edges such as shown in this screen shot (courtesy of “Anything Goos” and Carrara 5 Pro)?
I was trying another approach to fake AO. However, mine involves edge detection rather than z-buffer data. Unfortunately, mine has the downside of being texture-dependent, due to the edge detection.
While rendering with the method stated in this thread, I noticed that it wasn’t very YafRay friendly (unless someone can prove me otherwise). Mine, though, seems to work well enough, though mine will shade textures as well. That is why I have included “Gamma” in the nodes in order to lighten images with textures so they don’t become very dark.
Anyway you can combine that with the Zbuffer method and get the best bits out of both?
You could try this, render a layer without textures and a layer with textures, one could be your AO layer and the other could be everything else. Maybe bunch the lights in the AO layer as well.