Upload
mills
View
35
Download
1
Embed Size (px)
DESCRIPTION
Non-Photorealistic Rendering FORMS. Threshold dependent. Model dependent. View dependent. Silhouette. Boundary. Outline form of the object. X. Crease (+ other discontinuities). Crease (+ other discontinuities). Interior form of the object. X. Silhouette Algorithms. - PowerPoint PPT Presentation
Citation preview
Non-Photorealistic Rendering
FORMS
Model dependent
Threshold dependent
View dependent
Outline form of the object
Interior form of the object
Boundary
Crease(+ otherdiscontinuities)
Crease(+ otherdiscontinuities)
Silhouette
X
X
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1.1. Brute ForceBrute Force2. Edge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 1. Brute Force1. Brute Force
Iterate through each edge in a polygonal model and test whether each edge is a silhouette edge
edge list
polygon list
NN
V
For every frame :For every frame :{{
For every edge For every edge ee : :{{
If (If (eeN1.dot (V) < 0 && N1.dot (V) < 0 && eeN2.dot(V) >= 0 ) ||N2.dot(V) >= 0 ) || ((eeN2.dot (V) < 0 && N2.dot (V) < 0 && eeN1.dot(V) >= 0 ) N1.dot(V) >= 0 )
eeis_silhouette = TRUEis_silhouette = TRUEelseelse eeis_silhouette = FALSEis_silhouette = FALSE
}}}}
N1
N2
edge list
polygon list
NN
V
For every frame :For every frame :{{
For every edge For every edge ee : :{{
If ( If ( eeN1.dot (V) * N1.dot (V) * eeN2.dot(V) ) <= 0N2.dot(V) ) <= 0
eeis_silhouette = TRUEis_silhouette = TRUEelseelse eeis_silhouette = FALSEis_silhouette = FALSE
}}}}
N1
N2
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2.2. Edge BufferEdge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 2. Edge Buffer2. Edge Buffer
Using the “Edge Buffer” data structure of Buchanan and Sousa to iterate over facets insteadof edges.
Buchanan, J. W. and Sousa, M. C.The edge buffer: A data structure for easy silhouette renderingProc. of NPAR '00
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3.3. Probabilistic Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 3. Probabilistic3. Probabilistic
An edge tracing method where a finite number of “seed” edges are chosen of reach viewpointbased 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.
19971997 Markosian et alMarkosian et alReal-Time Nonphotorealistic RenderingReal-Time Nonphotorealistic RenderingSIGGRAPHSIGGRAPH
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.
1979 1979 Appel et al Appel et al The haloed line effect for hidden line eliminationThe haloed line effect for hidden line eliminationSIGGRAPHSIGGRAPH
19821982 RothRothRay Casting for Modeling SolidsRay Casting for Modeling SolidsComputer Graphics and Image ProcessingComputer Graphics and Image Processing
19871987 Wyvill et alWyvill et alSketches by Ray TracingSketches by Ray Tracing Computer Graphics InternationalComputer Graphics International
19871987 SasadaSasadaDrawing Natural Scenery by Computer GraphicsDrawing Natural Scenery by Computer Graphics Computer-Aided DesignComputer-Aided Design
19881988 Veenstra and Ahuja Veenstra and Ahuja Line drawings of octree-represented objectsLine drawings of octree-represented objectsACM Transactions on GraphicsACM Transactions on Graphics
19971997 Markosian et alMarkosian et alReal-Time Nonphotorealistic RenderingReal-Time Nonphotorealistic RenderingSIGGRAPHSIGGRAPH
Line Drawing of 3D Models
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3. Probabilistic 4.4. Gauss Map Arc HierarchyGauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 4. Gauss Map Hierarchy4. Gauss Map Hierarchy
The angles of arcs between front and back facing polygons are stored in a tree structure
2 papers (1999)
19991999 Benichou and ElberBenichou and ElberOutput sensitive extraction of silhouettes from polygonal geometryPacific GraphicsPacific Graphics
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5.5. Normal Cone HierarchyNormal Cone Hierarchy 6. Implicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 5. Normal Cone Hierarchy5. Normal Cone Hierarchy
Polygon normals are grouped into cones and these cones are stored in a tree structure
4 papers (2000, 2001)
20012001 Johnson and CohenJohnson and CohenSpatialized normal cone hierarchiesACM 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.
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6.6. Implicit SurfacesImplicit Surfaces 7. NURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 6. Implicit Surfaces6. 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 surfacesProc. of Implicit Surfaces '98. pp. 155--164
Object SpaceObject SpaceInvolve computations in 3D and produce a list of
silhouette edges or curves for a given viewpoint
1. Brute Force2. Edge Buffer3. Probabilistic 4. Gauss Map Arc Hierarchy 5. Normal Cone Hierarchy 6. Implicit Surfaces 7.7. NURBS SurfacesNURBS Surfaces
Image SpaceImage Spaceinvolve image processing techniques
1. Two Pass Methods2. Environment Map3. One Pass Method4. Model Augmentation5. Depth Discontinuity Methods
Silhouette Algorithms
Object Space Object Space 7. NURBS Surfaces7. 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.