Game Development Reference
In-Depth Information
Memoization cache
t 0
t 1
t 2
t 0
t 1
t 2
Moving triangle
Screen space
Shading space
Figure 3.2. The idea of the memoization cache. Decoupled sampling uses visibility and
shading samples in separate domains. Assuming constant shading over a short exposure
time, multiple visibility samples can refer to the identical shading sample. Recently
computed shading samples are cached during rasterization, to avoid redundant shader
Memoization cache. This concept is illustrated in Figure 3.2. Note that the sec-
ond rasterization step mentioned above does not actually happen, it is only
used to define a shading grid on the triangle, a discretization of the shading
domain. A shading sample corresponds to one cell of the shading grid, and
we can then assign a linear index to each shading sample. Using this index-
ing, Ragan-Kelley et al. augmented the conventional rasterization pipeline with
a memoization cache [Ragan-Kelley et al. 11]. In their extended pipeline, each
visibility sample requests its shading sample from the cache using the decoupling
map, and fragment shaders are only executed on a cache miss. Unfortunately,
this method is not directly applicable to the current hardware architecture.
Shading Reuse for Deferred Shading
Conventional deferred shading methods couple visibility and surface data in the
G-buffer. After the geometry sampling pass it is no longer trivial to determine
which samples in the G-buffer belong to the same surface. Stochastic rasterization
further increases the complexity of the problem by adding significant noise to
visibility samples, preventing the use of any edge-based reconstruction.
The memory footprint is one of the most severe problems of deferred shad-
ing. As all shading data must be stored for each subsample in the G-buffer,
even if one could save computation by reusing shading among these samples, the
supersampling quality would still be bounded by memory limitations. Current
real-time applications typically limit their deferred multisampling resolution to
MSAA, then apply reconstruction filters. It has been demonstrated that
accurate rendering of motion blur or depth of field would require an order of
magnitude larger sample count with stochastic sampling [McGuire et al. 10].
Search Nedrilad ::

Custom Search