Fast Depth-of-Field Rendering with Surface Splatting Jaroslav Křivánek CTU Prague IRISA – INRIA Rennes Jiří Žára CTU Prague Kadi Bouatouch IRISA – INRIA Rennes ComputerGraphicsGroup
2/25 Goal Depth-of-field rendering with point-based objects Why point-based ? –Efficient for complex objects Why depth-of-field ? –Nice and naturally looking images
3/25 Overview Introduction –Point-based rendering –Depth-of-field Depth-of-field techniques Our contribution: Point-based depth-of-field rendering –Basic approach –Extended method: depth-of-field with level of detail Results Discussion Conclusions
4/25 Point-based rendering Object represented by points without connectivity Point (surfel) –position, normal, radius, material Rendering = screen space surface reconstruction Efficient for very complex objects x y z
5/25 Depth-of-Field More naturally looking images Important depth cue for perception of scene configuration Draws attention to the focused objects
6/25 Thin Lens Camera Model image planefocal planelens VPVP P F/n DVDVD C Circle of Confusion (CoC) C = f ( F, F/n, D, P ) F …... focal distance F/n … lens diameter P ……focal plane distance D ……point depth
7/25 Depth-of-Field Techniques in CG Supersampling –Distributed ray tracing [Cook et al. 1984] –Sample the light paths through the lens Multisampling [Haeberli & Akeley 1990] –Several images from different viewpoints on the lens –Average the resulting images using accumulation buffer
8/25 Depth of Field Techniques in CG Post-filtering [Potmesil & Chakravarty 1981] –Out-of-focus pixels displayed as CoC –Intensity leakage, hypo-intensity –Slow for larger kernels Focus processor (filtering) Image + depth Image with DOF Image synthesizer
9/25 Point-based rendering - splatting Draw each point as a fuzzy splat (an ellipse) Image = SPLAT i splat
10/25 Our Basic Approach Post-filtering Focus processor (filtering) Image + depth Image with DOF Image = i SPLAT i i SPLAT i + depth Our Approach: Swap and Focus filtering Focus filtering Image with DOF SPLAT i Focus filtering SPLAT j Focus filtering SPLAT k
11/25 Our Basic Approach Splat = reconstr. kernel DOF filter G Q DOF Blurred reconstr. kernel DOF G Q DOF
12/25 Properties of our basic approach PROS… +Avoids leakage –Reconstruction takes into account the splat depth +No hypo-intensities –Visibility resolved after blurring +Handles transparency –In the same way as the EWA splatting – A-buffer CONS -Very slow, especially for large apertures –A lot of large overlapping splats –High number of fragments: E.g. Lion, no blur: 2.3 mil.; blur 90.2 mil. (40x more)
13/25 Our Extended Method Use Level of Detail (LOD) to attack complexity blur = detail Select lower LOD for blurred parts # of fragments increases more slowly E.g. Lion, no blur: 2.3 mil.; blur 5.3 mil. (2.3x more) Blurred img.Selected LOD
14/25 Fine LODLower LOD Observation Selecting lower LOD for rendering equivalent to 1) selecting the fine LOD 2) low-pass filtering is screen space Use LOD as a means for blurring –not only to reduce complexity
15/25 Effect of LOD Selection How to quantify the effect of LOD selection in terms of blur in the resulting image ? We use Bounding sphere hierarchy –Qsplat [Rusinkiewicz & Levoy, 2000]
16/25 Bounding Sphere Hierarchy The finest level: L=0Lower level: L=1 subsample Building the hierarchy levels low-pass filtering + subsampling Center the filter G Q L
17/25 LOD Filter in Screen Space G Q L defined in local coordinates in object space G Q L related to screen space by the local affine approximation J of the object-to-screen transform Selecting level L = filtering in screen space by G JQ L J T Screen space GQLGQL G JQ L J T Object space
18/25 DOF with LOD - Algorithm Given the required screen space filter G Q DOF 1.Select LOD L such that support( G JQ L J T ) < support ( G Q DOF ) 2.Apply an additional screen space filter G Q DIFF to get G Q DOF DOF G Q DOF DOF G JQ L J T G Q DIFF G JQ L J T
19/25 Results No Depth-of-Field – everything in focus
20/25 Results Transparent mask in focus, male figure out of focus
21/25 Results Male figure in focus, transparent mask out of focus
22/25 Results Our algorithm Reference solution (multisampling) Our blur looks too smooth because of the Gaussian filter
23/25 Results Our algorithm Reference solution (multisampling) Artifacts due to incorrect surface reconstruction
24/25 Discussion Simplifying assumptions & limitations –Gaussian distribution of light within the CoC Mostly ok –We are blurring the texture before lighting We should blur after lighting –Possible incorrect image reconstruction from blurred splats
25/25 Conclusion A novel algorithm for depth of field rendering LOD as a means for depth-blurring + Transparency + Avoids intensity leakage + Running time independent of the DOF - Only for point based rendering - A number of artifacts can appear Ideal tool for interactive DOF previewing –Trial and error camera parameters setting Acknowledgement: Grant 2159/2002 MSMT Czech Republic