Game Development Reference
plications such as games. Notice that altering the blurring method also changes
the number of depth layers and the spacing between them. At the moment, our
method produces practically artifact-free images at reasonable frame rates, mak-
ing high-quality DoF with partial occlusion available for high-quality rendering
applications at interactive rates. Furthermore, our method can be used to pre-
view the impact of camera settings (i.e., focus and aperture) in scenes that later
will be rendered with great computational costs, e.g., ray tracing.
The A-buffer uses the space of M screen-sized buffers on the GPU, although
the A-buffer might not be filled completely. Therefore, one optimization to reduce
memory demand is to use fragment-linked lists instead of an A-buffer (rendering
costs might increase). To avoid allocating the A-buffer memory twice, we reuse
the allocated A-buffer (unsorted fragments) for later storing the sorted input
Our implementation uses a texture for each depth layer simply for debugging
reasons. However, memory consumption for depth layers can be easily reduced,
if matting directly writes into the composition buffers.
Thanks to Juergen Koller for providing the Homunculus model. The Dragon
and Sponza models are courtesy of Stanford Computer Graphics Laboratory and
[Barsky et al. 03] Brian A. Barsky, Daniel R. Tobias, Michael J. Horn, and Der-
rick P. Chu. “Investigating Occlusion and Discretization Problems in Image
Space Blurring Techniques.” In First International Conference on Vision,
Video, and Graphics , pp. 97-102. Bath, UK: University of Bath, 2003.
[Carpenter 84] Loren Carpenter. “The A-buffer, an Antialiased Hidden Surface
Method.” SIGGRAPH Computer Graphics 18 (1984), 103-108.
[Crassin 10] Cyril Crassin. “Fast and Accurate Single-Pass A-Buffer Us-
ing OpenGL 4.0+.” Icare3D Blog , http://blog.icare3d.org/2010/06/
fast-and-accurate-single-pass-buffer.html , June 9, 2010.
[Kraus and Strengert 07] Martin Kraus and Magnus Strengert. “Depth-of-Field
Rendering by Pyramidal Image Processing.” Computer Graphics Forum 26:3
[Lee et al. 10] Sungkil Lee, Elmar Eisemann, and Hans-Peter Seidel. “Real-Time
Lens Blur Effects and Focus Control.” ACM Transactions on Graphics 29:4