1 / 26

Real-Time Nonphotorealistic Rendering

Real-Time Nonphotorealistic Rendering. Presented by Chris Wood. Lee Markosian et al. Introduction. Traditional research focus on photorealism Graphics conveys visual information Photorealism not always intended effect. Nonphotorealism. Convey “incompleteness” Ex. Architecture

percy
Download Presentation

Real-Time Nonphotorealistic Rendering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Real-Time Nonphotorealistic Rendering Presented by Chris Wood Lee Markosian et al.

  2. Introduction • Traditional research focus on photorealism • Graphics conveys visual information • Photorealism not always intended effect

  3. Nonphotorealism • Convey “incompleteness” • Ex. Architecture • Allows Efficiency • Make viewer fill in the gaps • Another form of expression / art

  4. Purpose • Traditional algorithms batch oriented • Markosian seek interactive nonphotorealistic rendering (NPR) method

  5. Definitions • Silhouette Edge: Edge adjacent to one front-facing and one back-facing polygon • Border Edge: An edge adjacent to just one face • Front facing: closest polygon is front facing • Back facing: closest polygon is back facing

  6. Economy of Line • “A great deal of information can be effectively conveyed by very few strokes” • Supporting ideas: • Rapid id of silhouette edges (SE) • Interframe coherence of SE • Modified Appel’s hidden-line algo.

  7. Structure • Determine the silhouette curves in the model • Determine the visibility by modified Appel’s algorithm • Render silhouette and feature edges

  8. Appel’s Algorithm • Quantitative Invisibility (QI) • Number of front-facing polygons between object point and camera • Find all silhouette edges • Use method (raytracing) to determine QI

  9. Improving Appel’s Algorithm - Finding silhouettes • Exhaustively searching for silhouettes kills real-time goal • Instead randomly search a small fraction of edges to find silhouette edges • Trace out silhouette curve once a silhouette edge is found

  10. Improving Appel’s Algorithm - Finding silhouettes • For small camera / position changes: • Check all silhouette edges in previous frame • Select fraction of SE in previous frame, and search vicinity • Stop search when • 1) Silhouette Edge found • 2) #Edges traversed exceeds preset bound

  11. Improving Appel’s Algorithm- Silhouettes / Cusps • Redefine QI: # layers of surface (front/back facing) obscuring a point • Curve only changes at cusp

  12. Improving Appel’s Algorithm- Silhouettes / Cusps • Cusp vertex: • The vertex is adjacent to exactly 2 SE’s, one front and one back – facing • Adjacent to > 2 SE • Adjacent to border edge

  13. Improving Appel’s Algorithm- Silhouettes / Cusps • Need only test for QI changes at cusp vertices

  14. Improving Appel’s Algorithm- Avoid Ray Tests • Any edge that touches the 2D bounding box is visible • Propagate visibility through cluster of SE’s

  15. Improving Appel’s Algorithm- Avoid Ray Tests • Markosian et al. switch order of Appel’s algorithm • New process: • Given some distinguished point on each cluster, assign QI to remaining points in cluster • Then perform ray test for given point

  16. Improving Appel’s Algorithm- Avoid Ray Tests • Step 1 – for each cluster • Define a base point b infinitesimally close to one of its vertices • Calculate offsets from b for all other points of the cluster • Record the minimum QI, m, encountered from search

  17. Improving Appel’s Algorithm- Avoid Ray Tests • If m < 0 (relative to b), add –m to b • If odd b, cluster is entirely occluded • Correct the relative QI for edge intersections from different clusters • N QI for occluding edge • M QI for occluded edge • If m < n, increment base QI of occluded edge by (n-m)

  18. Improving Appel’s Algorithm - Walking • Determining occlusions • Disregard totally occluded silhouette curves • Disregard curves which touch the image space box B • Not entirely enclosed

  19. Improving Appel’s Algorithm- Implementation • Loutrel’s algorithm for projecting silhouette edges onto image space • O(k log k) • SE scan conversion – O(k2)

  20. Rendering • Project World-lines onto film plane • Render line using following techniques: • Draw lines directly (vary color / width) • “Artistically” perturbed strokes (adding offsets to the line) • Texture map strokes which follow shape of line

  21. Rendering- Directly Draw

  22. Rendering- Line Offsets • Define curve: • v is a vector offset • v can be computed at run-time or stored in a look-up table

  23. Rendering- Texture Mapping • Textures correspond to brush strokes • Perpendicular strokes at seems • Width varies with lighting

  24. Shading • Strokes particles are placed evenly across surface in world space • Slanted regions have high density strokes, having a darker tone

  25. Performance • 200 MHz Sun Ultra 2 Model 2200 • Creator 3D graphics • Not so fine print (pen-like)

  26. Questions? • What does this gain us?

More Related