26
Non-Photorealistic Rendering FORMS

Non-Photorealistic Rendering FORMS

  • 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

Page 1: Non-Photorealistic Rendering FORMS

Non-Photorealistic Rendering

FORMS

Page 2: 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

Page 3: Non-Photorealistic Rendering FORMS

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

Page 4: Non-Photorealistic Rendering FORMS

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

Page 5: Non-Photorealistic Rendering FORMS

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

Page 6: Non-Photorealistic Rendering FORMS

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

Page 7: Non-Photorealistic Rendering FORMS

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

Page 8: Non-Photorealistic Rendering FORMS

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

Page 9: Non-Photorealistic Rendering FORMS

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

Page 10: Non-Photorealistic Rendering FORMS

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

Page 11: Non-Photorealistic Rendering FORMS

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.

Page 12: Non-Photorealistic Rendering FORMS

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.

Page 13: Non-Photorealistic Rendering FORMS

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

Page 14: Non-Photorealistic Rendering FORMS

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

Page 15: Non-Photorealistic Rendering FORMS

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)

Page 16: Non-Photorealistic Rendering FORMS

19991999 Benichou and ElberBenichou and ElberOutput sensitive extraction of silhouettes from polygonal geometryPacific GraphicsPacific Graphics

Page 17: Non-Photorealistic Rendering FORMS
Page 18: Non-Photorealistic Rendering FORMS

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

Page 19: Non-Photorealistic Rendering FORMS

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)

Page 20: Non-Photorealistic Rendering FORMS

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.

Page 21: Non-Photorealistic Rendering FORMS

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

Page 22: Non-Photorealistic Rendering FORMS

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

Page 23: Non-Photorealistic Rendering FORMS

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

Page 24: Non-Photorealistic Rendering FORMS

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.

Page 25: Non-Photorealistic Rendering FORMS
Page 26: Non-Photorealistic Rendering FORMS