13.07.2015 Views

Paper - IDAV: Institute for Data Analysis and Visualization

Paper - IDAV: Institute for Data Analysis and Visualization

Paper - IDAV: Institute for Data Analysis and Visualization

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

24 · Lefohn, Kniss, Strzodka, Sengupta, <strong>and</strong> OwensFig. 7: This adaptive shadow map uses a GPU-based adaptive data structure built with the Glift template library. It has an effective shadow mapresolution of 131,072 2 (using 37 MB of GPU memory, trilinearly filtered). The top-right inset shows the ASM <strong>and</strong> the bottom-right inset shows a2048 2 st<strong>and</strong>ard shadow map.of data elements on the borders is identical <strong>and</strong> independent of the resolution (see edge nodes in Figure 6). Dirichlet <strong>and</strong>Neumann boundary conditions are easily supported by either writing fixed values into the boundary nodes or updatingthe values based on the neighboring internal nodes, respectively. Our implementation supports GL CLAMP TO EDGE<strong>and</strong> GL REPEAT boundary modes.Lastly, in order to support native GPU linear filtering, we must share one layer of nodes between physical memorypages to ensure that samples are never read from disparate physical pages. This approach has been described inprevious literature on adaptive GPU structures [Binotto et al. 2003; Carr <strong>and</strong> Hart 2004; Kraus <strong>and</strong> Ertl 2002]. Eachtime an application updates data values, the shared nodes must be updated similar to the hanging node update. Nodesthat are both T-junctions <strong>and</strong> shared are correctly h<strong>and</strong>led by the same interpolation scheme.6.4 Adaptive Shadow MapsThis section describes the first of two applications of the multiresolution adaptive structure defined in Section 6.3.This case study demonstrates the increased program complexity made possible by Glift by describing the solution toa complex application not previously shown on the GPU. The implementation uses a blend of traditional graphics <strong>and</strong>GPGPU stream programming.Adaptive shadow maps [Fern<strong>and</strong>o et al. 2001] offer a rigorous solution to projective <strong>and</strong> perspective shadow mapaliasing while maintaining the simplicity of a purely image-based technique. The complexity of the ASM data structure,however, has prevented full GPU-based implementations until now. We present a novel implementation ofadaptive shadow maps (ASMs) that per<strong>for</strong>ms all shadow lookups <strong>and</strong> scene analysis on the GPU, enabling interactiverendering with ASMs while moving both the light <strong>and</strong> camera. We support shadow map effective resolutions up to131,072 2 <strong>and</strong>, unlike previous implementations, provide smooth transitions between resolution levels by trilinearlyfiltering the shadow lookups (see Figure 7).Shadow maps, which are depth images rendered from the light position, offer an attractive solution to real-time shadowingbecause of their simplicity. Their use is plagued, however, by the problems of projective aliasing, perspectivealiasing, <strong>and</strong> false self-shadowing [Fern<strong>and</strong>o et al. 2001; Sen et al. 2003; Stamminger <strong>and</strong> Drettakis 2002; WimmerACM Transactions on Graphics, Vol. 25, No. 1, January 2006.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!