High-Quality Screen-Space Ambient Occlusion Using Temporal Coherence

High-Quality Screen-Space Ambient Occlusion Using Temporal Coherence

Volume xx (200y), Number z, pp. 1–12 High-Quality Screen-Space Ambient Occlusion using Temporal Coherence paper1092 Abstract Ambient occlusion is a cheap but effective approximation of global illumination. Recently, screen-space ambient occlusion (SSAO) methods, which sample the frame buffer as a discretization of the scene geometry, have be- come very popular for real-time rendering. We present temporal SSAO (TSSAO), a new algorithm which exploits temporal coherence to produce high-quality ambient occlusion in real time. Compared to conventional SSAO, our method reduces both noise as well as blurring artifacts due to strong spatial filtering, faithfully represent- ing fine-grained geometric structures. Our algorithm caches and reuses previously computed SSAO samples, and adaptively applies more samples and spatial filtering only in regions that do not yet have enough information available from previous frames. The method works well for both static and dynamic scenes. Categories and Subject Descriptors (according to ACM CCS): I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling 1. Introduction approximation of the scene geometry. The performance of SSAO depends mainly on the number of samples per frame, Ambient occlusion (AO) describes the percentage of incident hence a relatively small number of samples is typically used ambient light on a surface point that is occluded by surround- to reach the desired performance, and the resulting noise is ing geometry. AO is used for shading by modulating the am- blurred with a spatial depth-aware filter. However, a small bient color of the surface point with it. From a physical point number of samples can be insufficient for shading complex of view, ambient occlusion could be seen as the diffuse illu- geometry with fine details, especially if a large sampling ra- mination due to the sky [Lan02]. Ambient occlusion of a dius is used. The final image will look either noisy or blurry, surface point p with normal n is computed as [CT81]: p depending on the size of the filter kernel. Generally a care- ful tuning of the filter parameters is required in order to pro- 1 Z vide stable results, otherwise artifacts may appear, e.g., halos ao(p;np) = V(p;w)max(np · w;0)dw; (1) around small depth discontinuities. p W In this paper, we present an algorithm that achieves high- where w denotes all directions on the hemisphere and V quality ambient occlusion which is neither blurry nor prone is the (inverse) binary visibility function, with V(p;w) = 1 to noise artifacts, with a minimum amount of samples per if visibility was blocked by an obstacle, 0 otherwise. The frame. We reuse the available AO information from previous visibility term usually considers obstacles within a certain frames by exploiting temporal coherence between consecu- sampling radius only. tive image frames. We identify pixels describing identical Ambient occlusion is heavily used in production render- world positions by means of temporal reprojection. The cur- ing and recently also in real-time rendering and many high- rent state of the solution is cached in a so-called ambient oc- profile games [Mit07,FM08], because it is a local effect (due clusion buffer. Each frame we compute a few new AO sam- to the limited sampling radius) that is very cheap compared ples, then blend these with the accumulated samples from to a full global illumination solution, but still greatly en- the previous frames. The ambient occlusion solution is then hances the realism of the scene. Screen Space Ambient Oc- combined with the image resulting from direct diffuse illu- clusion (SSAO) techniques decouple the shading from the mination in a separate step. See Figure 1 for a comparison of scene complexity by using the frame buffer as a discrete SSAO with and without employing temporal coherence. submitted to COMPUTER GRAPHICS Forum (6/2010). 2 paper1092 / High-Quality Screen-Space Ambient Occlusion using Temporal Coherence Figure 1: From left to right: SSAO without temporal coherence (23 FPS) with 32 samples per pixel, with (a) a weak blur, (b) a strong blur. (c) TSSAO (45 FPS), using 8–32 samples per pixel (initially 32, 8 in a converged state). (d) Reference solution using 480 samples per frame (2.5 FPS). All images at 1024x768 resolution and using 32 bit precision render targets. The scene has 7M vertices and runs at 62 FPS without SSAO shading. Recently, reprojection techniques have been used for a tions. Some object-based approaches distribute the occlu- number of useful applications, like antialiasing or shadow sion power of each object on all the other objects in the mapping. SSAO is an especially interesting case because range of interest [KL05, MMAH07]. These methods have it takes a pixel neighborhood into account, which leads problems handling overlapping occluders. A feasible way to unique challenges, especially for dynamic scenes. First, of testing blocker visibility using spherical harmonics expo- since SSAO is a postprocessing operation, information about nentiation for soft shadows and low-frequency illumination reprojection needs to be stored during the main rendering was proposed by Ren et al. [RWS∗06]. Bunnell [Bun05] pro- pass. Second, the validity of reprojected pixels does not de- posed a per-vertex ambient occlusion method for dynamic pend only on the pixel itself, but also on its neighborhood, scenes, which uses a hierarchical approach to break down the requiring a new validity test for reprojected pixels. Third, complexity, and can be extended to compute diffuse color the convergence of the solution allows us to reduce or com- bleeding. pletely omit spatial filtering that is typically necessary in Image-space methods, on the other hand, interpret the SSAO methods, and allows us to rely on a minimal num- frame buffer as a discrete scene approximation and are of- ber of new samples per frame. For pixels that have not con- ten referred to as screen-space ambient occlusion [Mit07]. verged, e.g., when cached samples have been invalidated, They are usually used in combination with deferred shad- we can use information about convergence in order to re- ing [ST90, Shi05]. The original implementation compared construct the value from nearby samples using an adaptive the depth of ambient occlusion samples against the depth convergence-aware filter that gives more weight to already buffer in order to estimate the number of samples that are oc- converged samples. cluded [Mit07]. Shanmugam and Arikan [SA07] proposed a two-stage image space method, one stage for the low fre- 2. Related Work quency far field illumination, and one for high frequency near field ambient occlusion. The high frequency part treats 2.1. Ambient Occlusion each pixel of the depth buffer as a spherical occluder. Fox and Compton [FC08] proposed a similar SSAO shading Ambient occlusion is a shading technique that measures the technique that samples the depth buffer and weights the con- reverse surface exposure and was introduced by Zhukov et tribution by the cosine between surface normal and the vec- al. [ZIK98]. It is extensively used in areas like production tor to the sample as well as the sample distance. Recently, rendering [Lan02,PG04] because it is a relatively simple and methods that use horizon mapping for computing the oc- cheap technique which greatly enhances the appearance of cluded part of the surface were proposed [BSD08]. Ritschel an image. et al. [RGS09] extended an SSAO generation method to in- In recent years several conceptually different approaches clude directional information and first-bounce global illumi- were proposed that make online calculation of ambient oc- nation. Their SSAO method is similar to the original method clusion in dynamic scenes feasible for real-time applica- of Mittring, but also takes the angle to the sample point submitted to COMPUTER GRAPHICS Forum (6/2010). paper1092 / High-Quality Screen-Space Ambient Occlusion using Temporal Coherence 3 3. Our algorithm 3.1. SSAO generation SSAO methods aim to approximate the original AO inte- gral in screen space. Several versions of SSAO with differ- ent assumptions and trade-offs have been described [BSD08, Mit07, RGS09]. While we demonstrate our technique with only two different ambient occlusion methods, it works with Figure 2: This figure compares rendering without (left) and many more, and could be used for several other shading with (right) ambient occlusion, and shows that AO allows method that depend on a screen-space sampling kernel. We much better depth perception and feature recognition, with- assume that such a shading method can be written as an av- out requiring any additional lighting. erage over contributions C which depend on a series of sam- ples si: 1 n AOn(p) = ∑ C(p;si) (2) n i=1 into account to accurately weight the samples that passed the depth test. Bavoil et al. [BS09] proposed some general A typical example contribution function for SSAO would techniques that aim at reducing the problems of SSAO algo- be rithms due to information missing in the depth buffer repre- sentation. They also proposed a multi-resolution approach that computes half resolution SSAO in regions with low C(p;si) = V(p;si)cos(si − p;np)D(jsi − pj): difference in the SSAO value range, and switches to high resolution SSAO only in regions with high difference. Our V(p;si) is a binary visibility function that gives 0 if si is method also makes use of adaptive sampling, in our case visible from p and 1 otherwise. Visibility is for example de- with the different goal to reduce the computational effort put termined by checking whether si is visible in the z-buffer. into sampling in regions that are already sufficiently con- We assume that the samples si have been precomputed and verged due to temporal coherence.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us