I am just before implementing screen space ambient occlusion in my game, but first I wanted to try enabling it from NVidia control panel only to find out that it is greyed out so that I can not enable it. With this I could enable SSAO for some other games, but not every one. I know this technique requires the depth buffer and (optionally) a normal map texture to sample information from which I already have access to given I have a deferred renderer working.
After that I actually thought to roll back to a previous version of my game which still uses forward rendering so the depth buffer is actually bound to the backbuffer which I render to from the get-go so that maybe the NVidia control panel would somehow make use of it. It was not working with forward rendering either. (I also tried FXAA in the control panel and that works - but it doesn't need any depth or normal texture)
So my question is that how can I enable this function so that it would work by enabling it in the NVidia control panel?
1 Answer
I've never seen an SSAO option in the NV control panel. Does it only show up for specific games? If so, it's probably something that NV collaborated with the developer on, perhaps integrating NV's HBAO filter into the game.
The NV driver can't just insert SSAO in any old game, because SSAO has to go in the middle of the frame, and the game's lighting shaders have to factor in the SSAO value, etc. The driver can't magically figure out all that for any arbitrary game. FXAA, in contrast, is just one extra pass at the end, which the driver can easily do by just hooking the Present() call. (Even then, it's not perfect, since it blurs the game's UI. It's better for the game to include AA itself.)
-
\$\begingroup\$ Well, it is listed as "Ambient occlusion" in the settings which I guessed is SSAO, because it looked exactly like it when I tried it with Guild Wars 2 for example or Star Wars the Old Republic. \$\endgroup\$ Commented Jun 1, 2014 at 10:24
-
\$\begingroup\$ I've just read your link and at the end it says: "As of 331.40 beta, HBAO+ is built directly into the NVIDIA Control Panel, enabling the enhancement of hundreds of games." So I guess it is required to contact NVidia for that specifically. \$\endgroup\$ Commented Jun 1, 2014 at 10:52