Improved ambient occlusion
Fudo_Style
Join Date: 2002-12-31 Member: 11659Members
I've noticed the current ambient occlusion technique being used in NS2 results in lots of artifacts, especially in the distance. I would describe the affect as a "shimmering" or a checker-board darkening of ground in the distance. Back during the holidays this was especially obvious on the snow on the ground in the ready room. Most ground textures found within NS2 are pretty dark which hides the affect to a degree. Any bright ground texture makes this extremely obvious though.
I'm not sure which technique UW is using now, but im pretty sure the horizon-based AO used in other games doesn't suffer from this.
I'll try to capture some pictures of this later today.
Please devs, offer different AO options!
I'm not sure which technique UW is using now, but im pretty sure the horizon-based AO used in other games doesn't suffer from this.
I'll try to capture some pictures of this later today.
Please devs, offer different AO options!
Comments
As you can see, there are weird stripes and checkerboarding from this version of SSAO. The artifacts in NS2 don't appear at such a high frequency though.
It looks like HeatSurge noticed this as well, but got no response. He described the effect as "ripples" which is very accurate.
Other post
They ambient shadows look all speckled. UW might just need to guassian blur a bit more, I'm not sure.
Here's a good video on explaining quickly how screen space AO works for anyone who's interested, I've not a spark related one.
The noise actually makes the effect much more realistic, I believe a lot of engines actually use a noisey overlay for their AO to give it a more natural look. Super smooth AO just looks odd. While you do get artifacts and the effect could probably be improved I believe Its actually a decent implementation of the effect and it improves the visuals of the levels massively.
Theres no reason it couldn't be real-time. A very common openGL library comes with a teapot-drawing routine. I've used it many times.
Incorrect. You'll only see noise in naive implementations. In fact ALL (even going all the way back to crysis' SSAO) versions of AO go out of their way to avoid noise! They either 1.) increase the number of texture samples taken 2.) Up the amount of post processing (guassian blurring)
Its clear that NS2's AO is doing some guassian blurring, so they're already trying to avoid noise.
Heres some good AO:
No noise.
I did a little more research and I've pin-pointed exactly what bothers me about this implementation. There's no spatial consistency. When you look at ambient shadows and move your view around, you actually SEE the shadow moving around in lockstep with your mouse. This is exactly what gives everything a ripply look.
Its as if there's a screen-sized shroud (noiseTexture) placed over your whole view, and its fixed. So when you move around you see the shadows moving predictably and since its not random, it catches the eye.
I imagine a a higher resolution noise texture would resolve this somewhat.
The only real alternative is source engine style baked AO, and as someone who's suffered mapping for the source engine. No thanks.
The render of a living room- bare of all texture or fine detail isn't really representative of how AO looks ingame, I'm not saying its better either way. I can't recall which dev blog I was reading where they added a noise mask to their AO to stop stuff looking all plastic. I thought it was overgrowth but that info wasn't stated in a video. I Definitely saw one and I'd agree it was an improvement, it just gave the image a bit more grit.
I know my 3d max tea pots! :P