Presentation is loading. Please wait.

Presentation is loading. Please wait.

Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.

Similar presentations


Presentation on theme: "Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary."— Presentation transcript:

1 Non-Photorealistic Rendering FORMS

2 Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary Crease (+ other discontinuities) Crease (+ other discontinuities) Silhouette X X

3 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

4 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

5 Object Space  1. Brute Force Iterate through each edge in a polygonal model and test whether each edge is a silhouette edge

6 edge list polygon list N N V For every frame : { For every edge e : { If (e  N1.dot (V) = 0 ) || (e  N2.dot (V) = 0 ) (e  N2.dot (V) = 0 ) e  is_silhouette = TRUE e  is_silhouette = TRUEelse e  is_silhouette = FALSE e  is_silhouette = FALSE}} N1 N2

7 edge list polygon list N N V For every frame : { For every edge e : { If ( e  N1.dot (V) * e  N2.dot(V) ) <= 0 e  is_silhouette = TRUE e  is_silhouette = TRUEelse e  is_silhouette = FALSE e  is_silhouette = FALSE}} N1 N2

8 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

9 Object Space  2. Edge Buffer Using the “Edge Buffer” data structure of Buchanan and Sousa to iterate over facets instead of edges. Buchanan, J. W. and Sousa, M. C. The edge buffer: A data structure for easy silhouette rendering Proc. of NPAR '00

10 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

11 Object Space  3. Probabilistic An edge tracing method where a finite number of “seed” edges are chosen of reach viewpoint based on a measure of the likelihood that the “seed” edges are silhouettes. Markosian, L., Kowalski, M. A., Trychin, S. J., Bourdev, L. D., Goldstein, D., and Hughes, J. F.. Real-Time Nonphotorealistic Rendering. Proc. of SIGGRAPH '97, pp. 415--420.

12 1997Markosian et al Real-Time Nonphotorealistic Rendering SIGGRAPH 1997 Markosian et al Real-Time Nonphotorealistic Rendering SIGGRAPH A small number of edges are chosen based on the probability that they are silhouette edges: Edges with higher dihedral angles Silhouette edges from the previous frame …then tested to see if they are silhouette edges. When a silhouette edge is found, its adjacent edges are tested to see if any of these edges is also a silhouette edge.

13 1979 Appel et al The haloed line effect for hidden line elimination SIGGRAPH 1982Roth 1982 Roth Ray Casting for Modeling Solids Computer Graphics and Image Processing 1987Wyvill et al 1987 Wyvill et al Sketches by Ray Tracing Computer Graphics International 1987Sasada 1987 Sasada Drawing Natural Scenery by Computer Graphics Computer-Aided Design 1988Veenstra and Ahuja 1988 Veenstra and Ahuja Line drawings of octree-represented objects ACM Transactions on Graphics 1997Markosian et al 1997 Markosian et al Real-Time Nonphotorealistic Rendering SIGGRAPH Line Drawing of 3D Models

14 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

15 Object Space  4. Gauss Map Hierarchy The angles of arcs between front and back facing polygons are stored in a tree structure 2 papers (1999)

16 1999Benichou and Elber Pacific Graphics 1999 Benichou and Elber Output sensitive extraction of silhouettes from polygonal geometry Pacific Graphics

17

18 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

19 Object Space  5. Normal Cone Hierarchy Polygon normals are grouped into cones and these cones are stored in a tree structure 4 papers (2000, 2001)

20 2001Johnson and Cohen 2001 Johnson and Cohen Spatialized normal cone hierarchies ACM Symposium on Interactive 3D Graphics The cone encompasses the range of normals and bounds the geometry The view cone starts at the eye and encloses the bounding sphere.

21 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

22 Object Space  6. Implicit Surfaces A silhouette tracing method where points on the silhouette curve are found using ”ray tests” Bremer, D.J. and Hughes, J. F. Rapid approximate silhouette rendering of implicit surfaces Proc. of Implicit Surfaces '98. pp. 155--164

23 Object Space Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint 1. Brute Force 2. Edge Buffer 3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces Image Space involve image processing techniques 1. Two Pass Methods 2. Environment Map 3. One Pass Method 4. Model Augmentation 5. Depth Discontinuity Methods Silhouette Algorithms

24 Object Space  7. NURBS Surfaces Silhouette curves on a model are found by using a ”marching cube” algorithm to find surface patches which the silhouette curve passes through. Silhouette curves are then interpolated from the entry and exit points of the patch. Gooch, A. Interactive Non-Photorealistic Technical Illustration. MSc thesis Department of Computer Science, University of Utah, 1998.

25

26


Download ppt "Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary."

Similar presentations


Ads by Google