combining edges and points for interactive high-quality...
TRANSCRIPT
![Page 1: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/1.jpg)
Combining edges and points for interactive high-quality rendering
Summerized by : Levi Kapllani
Paper by:Kavita Bala, Bruce Walter, and Donald P. Greenberg
ACM SIGGRAPH, July 2003http://www.graphics.cornell.edu/pubs/2003/BWG03.pdf
![Page 2: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/2.jpg)
OUTLINE•System Overview •Edge-and-Point Image (EPI)•Reconstruction• Finding Edges •Results
![Page 3: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/3.jpg)
SYSTEM OVERVIEW
The edge-and-point is a new interactive rendering technique that uses points and edges to display complex scenes with expensive shading in high-quality.
The system consists of two processes: - the edge-and-point render process- external shader process
![Page 4: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/4.jpg)
shader – computes shading samples, sends info to edge finder about visible objects and shadows
edge finder – finds silhouettes and shadow edges
edge rasterizer – rasterizes 3D edges and represents them in subpixel precision
reachability, interpolation, anti-aliasing – filtering algorithms used to produce high-quality images.
EPI – image used to produce fast high-quality interpolation of shading values
Fig.1 System Overview
![Page 5: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/5.jpg)
EDGE-AND-POINT IMAGE• Created by combining edge and point samples for each pixel • Edges are rasterized by recording their intersections (showed in hot pink
– fig.2 ) with pixel boundaries • Pixels are classified in : empty (no edges), simple (edges can be
approximated with a single edge spanning the pixel) and complex (everything else)
Fig.2 Edge rasterization for a 3x3 pixel neighborhood
![Page 6: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/6.jpg)
• For simple pixels edges are approximated by locating its end-points on the pixel boundary to eighth-of-a-pixel accuracy.
• For complex pixels horizontal and vertical boundaries through the center of each pixel are added converting a 3x3 pixel neighborhood to a 6x6 neighborhood.
• EPI records information about shading samples.• Through table lookups (where we have edge encoding and sample
position) we determine if the samples are above or below the edge. • Point processing is based in Render Cache – manages a fixed-size cache
of recent shading samples
Fig.3 A simple pixel
primary region
secondary region
edge ambiguous region
![Page 7: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/7.jpg)
RECONSTRACTION• We use the EPI to compute the color for each pixel
• Compute a reachability map to determine the samples we can use.
“A sample in pixel region b is considered reachable from a pixel region a if there exist a direct path that does not cross any edges from a to b” a↔b
• To compute this map we need to compute :- neighbor reachability (between pixel that share a boundary) - chaining (between two pixels through an intermediate pixel)- combining (between two pixels along multiple paths)
![Page 8: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/8.jpg)
Fig.4 Reachability computations and interpolation weights for a 5x5 pixel neighborhood
• Complex pixels are always considered unreachable.
• Pixel are then interpolated using the reachability map.
• Unreachable pixels and pixels with no sample points get a weight 0 and then the predefined weights are renormalized.
• If needed more samples are requested; mostly samples near the edges
• Finally a separate pass anti-aliases simple pixels
![Page 9: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/9.jpg)
FINDING EDGES • The high-quality image cannot be reached
without counting discontinuities caused by silhouettes and shadow edges.
• A point if on a object’s silhouette if the normal at that point is perpendicular to the view vector.
• An edge is a silhouette edge if one of its adjacent faces is forward-facing and the other is backward-facing.
sign(Nf0 ·Vf0 ) ̸= sign(Nf1 ·Vf1 )• A shadow occurs when light is stopped by a
blocker – this creates shadow events (such as penumbral, umbral event).
Fig.5 Sources of silhouette and shadow edges
![Page 10: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/10.jpg)
• Soft shadows show a “hardening” effect, where the blocker contacts the receiver, which causes an increase on the radiance gradient.
• Identifying penumbral and umbral events helps correctly renders this effect.
• After founded shadow edges are computed by intersecting the shadow events with the receives.
• Trees are used as data structures which helps accelerate most of computations.
Fig.6 Umbral (red) and Penumbral(blu) edges. Notice the dark shadows where the torus contacts the capsule.
![Page 11: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/11.jpg)
RESULTS
Fig.7 The left image shows a tea-stand with fine geometry and complex shadows. The middle image shows the edges found; complex pixels are shaded in green. The images on the right compare a standard 1-sample-per-pixel sampling (top) against our technique (bottom).
![Page 12: Combining edges and points for interactive high-quality renderingdavid/Classes/CS536/ExamplePresentati… · correctly renders this effect. • After founded shadow edges are computed](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd2016c20d0312e7b2d531d/html5/thumbnails/12.jpg)
Fig.8 Grid casting shadow on dragon
Fig. 9 Statistics for a 512x512 image