Volumetric Ambient Occlusion (VAO) provides additional level of visual quality by simulating soft ambient light shadows. It accentuates local geometric detail and produces shadows by nearby occluding surfaces (in the corners, cracks, holes, rough surfaces etc.). Resulting scenes have more depth and appear more realistic.
Combining classic screen-space ambient occlusion (SSAO) algorithm with a more physically based approach lets us achieve better visual quality and performance compared to classic SSAO.
Features
High performance and visual quality.
Plugin is compatible with all Unity rendering paths (Forward, Deferred and Legacy) and anti-aliasing.
Implemented as image effect attached to camera.
Easy to control - no magic variables (such as Bias).
Version 1.2 More Quality Options - we added more quality settings - users can now select from 4, 8, 16, 32 or 64 samples, with even the lowest setting providing good visual result
Downsampling - option to lower the resolution of computed occlusion = performance boost at the cost of visual quality (be sure to tweak the quality setting first before enabling this)
Color Tint Mode - gives you the option to change the color of the occlusion. Used to get better control of how the final scene looks - for example choosing a bluish color for the shadows when using yellow lighting.
Version 1.3 Luminance Sensitivity - you can now control how are the bright surfaces occluded. Can also be used in combination with downsampling option to reduce the most visible artifacts caused by occlusion texture size reduction.
Better sample sets - Much better visual quality with improved performance. Effect produces reasonable results with as low as 8 samples (Low quality).
Hello,
unfortunately, we don’t have access to any VR device so we can’t 100% confirm. However it should work on most of them (except Gear VR and other similar mobile devices, as they are not powerful enough).
The Ambient Occlusion algorithm is computed solely in fragment shader which is unaffected by the Single Pass Stereo feature - so it will be computed once per eye. This is common for all Screen Space algorithms.
The plugin has its own quality settings (like downsampling) to gain performance.
I looked at a couple other AO shaders and I think I like the look of yours the best. My project is VR (Vive) so I can give you feedback on the results and let you know if there are any issues. I’d like to use this throughout my project and hopefully balance any performance hits with a in-game quality slider or presets.
I’m finishing up some assets and later today I’ll try this out.
VXAO and our VAO are different solutions. While NVidia’s VXAO works with world space representation of the scene, our VAO takes just screen space data available in G-Buffer into account (just like clasical SSAO, HBAO and others).
However, thanks to finely tuned algorithm and volumetric approach, it minimizes halos, blurriness, works well on screen borders and is as fast or faster than SSAO/HBAO.
Just wanted to stop by and say that I tested it today, and this is not currently working with Single-Pass Stereo. When you enable it you get a messed up display where it shows both ‘eyes’ on the screen at once. Here’s a screenshot:
We are currently working on supporting Single-Pass Stereo. We have a working development version. Please send us an email to projectwilberforce@gmail.com and we can send it to you for testing.
Currently working on adaptive sampling - optimization scheme that lowers the quality for more distant geometry - idea is to progressively lower the quality but makes it visually imperceptible. Currently getting almost double the performance at the cost of very little detail loss (not noticeable on textured scenes)
Adaptive Sampling - Automatically uses less samples further from camera Downsampled Pre-pass - Less samples on less occluded areas Newer, better sample sets - Better visual quality with less samples
Working on improving the colorbleed part of the effect. Currently trying to supress ‘self-bleed’ - see that in the new version the white specular color is still visible on the teapot.
No, not at the moment, sorry. I assume you’re asking because of mobile platforms? Our priority at the moment is optimizing the speed of the dynamic effect. If we end up doing baking ao textures in the future it would be as a separate tool.
Ok so please be gentle with me…Renderers/Shaders is one area I have a trouble understanding. I have started developing a game for the HTC Vive VR headset. Currently using The Lab Renderer that Valve has released. It seems to do pretty well, and wondering if this could be a replacement for it. If so, what are the benefits? One issue I think the Lab Renderer has is that it does not work with the Unity Terrain renderer properly. Do you have any insight? If I can get a better and more versatile solution, this would be money well spent in my view. Thanks!
No, this is not a standalone renderer but a post-process image effect - which means that it adds additional step that is put onto whatever your renderer of choice outputs. In the case of this effect it’s ambient occlusion (shadows along the creases), but a wide variety of effects can be done in post-process - blurs, blooms, god-rays, color corrections etc. Downside is that every additional effect you add to your project will cost you some computation time per frame so you have to balance visual quality with performance.