SSAO no halo artifacts.

Started by
20 comments, last by NiGoea 14 years, 6 months ago
Quote:Original post by NiGoea
Hi !!

I completely understood your explanation. I figured it out by myself few days ago, when I started using SSAO. I just thought you was using normal buffer and still obtaining that effect.
Got it.

Personally, I don't like your choice: it doesn't have any sense that the shadowing of a wall depends on the angle I'm looking at it.
What do you think ?

bye!


Yep, i don´t like to use the normal buffer because i don´t want to expend much time calculating ssao in my games.

Again, the view-dependant shading is not something i chose to implement, it´s an issue almost all SSAO implementations have, even some with normal buffers. In the case of just-zbuffer, think what happens when you look directly to a flat surface: all samples have 0 occlusion. However the more you rotate the view, the more inclinated the flat surface is, thus you get more self-occlusion. Normals prevent this on flat surfaces, but the occlusion you get in correct areas is still view dependent.

The Nvidia implementation i mentioned must be view-independent though, because of the way they use the normals to calculate occlusion. Here it is:
http://developer.nvidia.com/object/siggraph-2008-HBAO.html

good luck with ssao! its a cool effect to have :)
Advertisement
Quote:Original post by ArKano22
Yep, i don´t like to use the normal buffer because i don´t want to expend much time calculating ssao in my games.


Ok, but in this way you will end up having walls that chance their shadowing as the player rotates...

Quote:Original post by ArKano22

The Nvidia implementation i mentioned must be view-independent though, because of the way they use the normals to calculate occlusion. Here it is:
http://developer.nvidia.com/object/siggraph-2008-HBAO.html


I don't know what they mean with "horizon mapping". Do you have any code ?

---

Anyway, SSAO turned out to be SLOW.
The only way to obtain a decent speed, is to use a 3-4 times smaller buffer than the frame buffer. But this leads to appreciable results only if you don't use normal maps (for materials) to perburt your normal buffer, otherwise the resulting high-frequency normal buffer will produce high frequency SSAO values, which need a high SSAO buffer size => SLOW.

Which video card do you have, and how slow is your implementation ?

THANKS!

This topic is closed to new replies.

Advertisement