Presentation is loading. Please wait.

Presentation is loading. Please wait.

Combining Edges and Points for Interactive High-Quality Rendering

Similar presentations


Presentation on theme: "Combining Edges and Points for Interactive High-Quality Rendering"— Presentation transcript:

1 Combining Edges and Points for Interactive High-Quality Rendering
Kavita Bala Bruce Walter Donald Greenberg Cornell University

2 Motivation Goal: Interactive high-quality rendering
Expensive shading: e.g., global illumination But, mostly smooth (coherent) naïve reconstruction points

3 Edge-and-Point Rendering
Edges: important discontinuities Silhouettes and shadows Points: sparse shading samples points edges edge-and-point reconstruction

4 Edge-and-Point Image Alternative display representation
Edge-constrained interpolation preserves sharp features Fast anti-aliasing EPI naive

5 EPI Properties Works directly with edges and points
No meshing Image-space display representation: limited sub-pixel precision Approximate edges and points Scales to complex objects

6 Edge-constrained interpolation
System Edge finding 3D edges Point cache 3D points Shader Asynchronous Request samples Shading 2D edges Rasterization Reprojection 2D points Edge-constrained interpolation Exploits temporal coherence Decouples shading from display EPI

7 Related Work Sparse sampling and reconstruction Fast ray tracing
[Bala99,Guo98,Pighin97,Simmons00,Stamminger00,Tole02,Wald02,Walter99] Fast ray tracing [Parker99,Purcell02,Wald01] Display representation [Levoy86,Pfister00,Rusinkiewicz00,Zwicker01] Edge finding Discontinuity meshing [Heckbert92,Lischinski92] Event finding [Duguet02,Durand99] [Johnson01,Sander00,Sander01]

8 Pixel types Pixels can have arbitrary edge complexity
Classify pixels into 3 groups Empty: no edges Simple: can be approximated by 1 edge Complex: everything else Typical pixel classification statistics empty (85-95%), simple (4-10%), complex (1-4%) Empty Simple Complex

9 Edge-and-Point Image (EPI)
Goal: compact and fast Store at most one edge and one point per pixel Limited sub-pixel precision Combine edges and points in image space View-driven, lazy evaluation Point sample (shaded) Edge EPI pixel

10 Edge Reconstruction Rasterize edges onto image plane
Record their intersections with pixel boundaries Classify pixels and reconstruct simple edges Discontinuity Edges Rasterization Reconstruction empty simple complex pixel boundary intersection

11 Reachability Reachable samples Propagated outward from each pixel
Pixel’s 5x5 neighborhood Connected without crossing any edges (or complex pixels) Propagated outward from each pixel Reachable Unreachable Propagation

12 Interpolation Interpolate a color for each pixel
Uses 5x5 weighted kernel Only interpolate from reachable samples Empty

13 Interpolation Interpolate a color for each pixel
Uses 5x5 weighted kernel Only interpolate from reachable samples Simple pixels: pick one side of edge Empty Simple

14 Interpolation Interpolate a color for each pixel
Uses 5x5 weighted kernel Only interpolate from reachable samples Simple pixels: pick one side of edge Complex pixels: ignore reachability Empty Simple Complex

15 Anti-Aliasing Interpolation computes one color per pixel
Result has classic “staircase” aliasing Use edge information at simple pixels to blend between neighboring pixels Fast table-driven filter Cheap and effective After interpolation After anti-aliasing

16 Anti-aliasing Magnified view of a ray traced image with 1 sample per pixel Magnified view of our results Our result using <1 sample per pixel Edges

17 Complex Pixel Filter Can subdivide complex pixels in four
Many quadrants are empty or simple Extra work only at complex pixels Complex pixel Before After

18 Point Sampling Point sample handling
Based on the Render Cache [Walter99,02] Produced by asynchronous shaders Stored in a fixed size point cache Project points onto current image plane Request new samples based on feedback

19 Edge Finding: Types Silhouettes Shadows: hard and soft eye object
point light source shadow event blocker receiver area light source umbral event penumbral event blocker receiver

20 Edge Finding Hierarchical trees: fast edge finding Interval-based

21 Red: umbral edges, Blue: penumbral edges
Soft Shadow Edges Black: silhouettes, Red: umbral edges, Blue: penumbral edges

22 Reachability & interpolation
Putting it Together Edge finding 3D edges Point cache 3D points 2D edges Edge rasterization & reconstruction 2D points Reprojection EPI image Reachability & interpolation Anti-aliasing Complex pixel filter Finished frame

23 Results: Quality Global illumination 3 lights 150k polygons
Without Edges With Edges

24 Video

25 Results Framerate: 8-14 fps Sparseness: 1-2%

26 Summary EPI: New display representation
Combines edges and points Image-space: no meshing Compact EPI optimizes for common case Scales to complex scenes Fast anti-aliasing Fast, hierarchical edge finding for silhouettes and shadows

27 Conclusion Combines best of edges and points
Decouple display from shading Arbitrary slow shaders Exploit coherence Spatial: interpolation Temporal: reprojection Software implementation  GPU

28 Acknowledgments Sebastian Fernandez
Everybody at the Program of Computer Graphics Stanford’s Digital Michelangelo Project Georgia Tech’s Large Geometric Model Archive NSF Intel

29 Questions?

30 Edge-and-Point Image Alternative display representation
Edge-constrained interpolation preserves sharp features Fast anti-aliasing


Download ppt "Combining Edges and Points for Interactive High-Quality Rendering"

Similar presentations


Ads by Google