Multiview Ambient Occlusion with Importance Sampling Camera AO
Multi-view Ambient Occlusion with Importance Sampling Camera AO Light view AO K. Vardis, G. Papaioannou, A. Gaitatzes http: //graphics. aueb. gr Athens University of Economics & Business i 3 D 2013
Ambient Occlusion • Estimates the amount of indirect light blocked by nearby geometry • Introduces important visual cues (crevices, crannies, etc) • Significantly increases realism No AO i 3 D 2013 AO Multi-view Ambient Occlusion 2
Image Space Techniques • Screen-space AO algorithms focus on the camera G-buffer • Typically, the depth buffer + normal buffer are used AO Normal Depth i 3 D 2013 Multi-view Ambient Occlusion 3
Image Space Techniques • Use the available buffers to approximate the geometry around a point COP i 3 D 2013 Multi-view Ambient Occlusion 4
Image Space Techniques Pros • Compatible with GPU pipeline • Fast, bounded-time execution • Applicable for real-time applications Cons • High sample variance • View-dependency (unseen occluders) – Gradual darkening at the edges of the depth buffer – Erroneous occlusion within the field of view i 3 D 2013 Multi-view Ambient Occlusion 5
View dependency issues Gradual darkening at the edges of the framebuffer i 3 D 2013 Multi-view Ambient Occlusion 6
View dependency issues Gradual darkening at the edges of the framebuffer Reduced by extending the boundaries of the framebuffer beyond the viewport i 3 D 2013 Multi-view Ambient Occlusion 7
View dependency issues Erroneous occlusion within the FOV due to insufficient geometry approximation i 3 D 2013 Multi-view Ambient Occlusion 8
View dependency issues Erroneous occlusion within the FOV due to insufficient geometry approximation • Using the erroneous samples causes a darkening halo • Rejecting them causes unnatural brightening i 3 D 2013 Multi-view Ambient Occlusion 9
Previous work: Multi-view approaches Multi-layer dual-resolution screen-space AO 2009, (Bavoil et. al) • Depth peeling with an enlarged FOV • Estimate AO using max operator SSDO, 2009 (Ritschel et al. ) • Use a fixed configuration of four cameras (low-resolution) • Average overhead is 58% for simple scenes, 160% for large scenes i 3 D 2013 Multi-view Ambient Occlusion 10
Previous work: Problems • A fixed view configuration (including depth peeling) still misses important geometric information due to geometry perpendicular to the image plane • Max operator overestimates occlusion • Overhead due to constant update of extra camera buffers i 3 D 2013 Multi-view Ambient Occlusion 11
Our contribution Reduce view dependency artifacts: • Use an arbitrary number of views to improve the AO estimator • Weight the contribution of each view based on its importance • Keep rendering time low, quality high • Drop-in replacement to a single view SSAO technique i 3 D 2013 Multi-view Ambient Occlusion 12
The algorithm Single pass fragment shader For each view Estimate partial AO for each camera pixel Partial step Calculate importance weights Calculate final AO using a weighted average i 3 D 2013 Multi-view Ambient Occlusion Final step 13
View based Importance Based on three factors • The visibility of point p in current view • The proximity of the projected samples on the view’s depth buffer to point p • The orientation of the surface at p with respect to the view direction i 3 D 2013 Multi-view Ambient Occlusion 14
View weighting: Distance Weight i 3 D 2013 Multi-view Ambient Occlusion 15
View weighting: Directional Weight i 3 D 2013 Multi-view Ambient Occlusion 16
Result: MVAO Single-view (Camera AO only) i 3 D 2013 Multi-view Ambient Occlusion 17
Result: MVAO Multi-view (Camera AO + 2 shadow maps) i 3 D 2013 Multi-view Ambient Occlusion 18
Performance Linear increase in complexity for each view i 3 D 2013 Multi-view Ambient Occlusion 19
Adaptive Sampling Adaptively distribute the samples based on an initial AO estimate Recall the original algorithm: Single pass fragment shader For each view Estimate partial AO for each camera pixel Partial step Calculate importance weights Calculate final AO using a weighted average i 3 D 2013 Multi-view Ambient Occlusion Final step 20
Adaptive Sampling The modified algorithm is now: Single pass fragment shader For each view Estimate partial AO for each camera pixel (for an initial number of samples e. g. 5 -7) Initial step Calculate importance weights For each view Estimate partial AO for each camera pixel (adaptively select the remaining samples) Adaptive step Calculate importance weights Calculate final AO using a weighted average of both steps i 3 D 2013 Multi-view Ambient Occlusion Final step 21
Performance i 3 D 2013 Multi-view Ambient Occlusion 22
Adaptive Sampling No AS i 3 D 2013 AS Multi-view Ambient Occlusion 23
Adaptive Sampling No Blur No AS AS i 3 D 2013 Multi-view Ambient Occlusion 24
Adaptive Sampling View weights (R: camera, G: overhead light) i 3 D 2013 Multi-view Ambient Occlusion Total: 14/30 – 20/30 samples 25
View placement 2 extra views should provide sufficient coverage For outdoor scenes: • Shadow maps can be sufficient For enclosed spaces: • Use phantom views i 3 D 2013 Multi-view Ambient Occlusion 26
View placement : Phantom Views i 3 D 2013 Multi-view Ambient Occlusion 27
Video Time! i 3 D 2013 Multi-view Ambient Occlusion 28
Thank You Paper, Supplemental material and source code available at: http: //graphics. aueb. gr/graphics/research_illumination. html Questions? i 3 D 2013 Multi-view Ambient Occlusion
- Slides: 29