PowerPoint Presentation
18. Non-Photorealistic (Expressive) Rendering
Dr. Hamish Carr
COMP 5812M: Foundations of Modelling & Rendering
Artists & Rendering
Art isn’t always realistic
Which doesn’t mean it’s bad
How do we reproduce it?
Start by understanding it
COMP 5812M: Foundations of Modelling & Rendering
Artistic Style & Intent
Artists discuss their
style: details of technique & tools
intent: what they wish to achieve
message: what they wish to say
abstraction: what they wish to remove
Illustration is generally intent + abstraction
Fine art is generally message + style
COMP 5812M: Foundations of Modelling & Rendering
Perceptual Issues
Humans are very edge-sensitive
So a sketch draws only edges
The oldest art tools generate edges
Paint, carving, ink, pencils
Humans also use shading to infer shape
So strokes & shadows are behind most of this
COMP 5812M: Foundations of Modelling & Rendering
Abstraction
Represents the essence of the object
At the expense of detail
Simplify: remove redundant detail
Factorise: separate generic & specific
Schematise: substitute representations
Stripping the image down amplifies meaning
COMP 5812M: Foundations of Modelling & Rendering
Examples
Edge enhancement
(Edges in Z-buffer)
Detail omission
(suppression of
redundant detail)
Stylised Contours
(Emphasis on edges)
Painterly strokes
(Stylistic imitation)
COMP 5812M: Foundations of Modelling & Rendering
Curve Extraction
Silhouettes separate back-/fore-ground
Eye rays are tangent
Creases
Tangent discontinuities
Cusps
Eye ray tangent to curve
COMP 5812M: Foundations of Modelling & Rendering
Contour
Silhouette is a subset of the contour
Set of all points tangent to eye ray from C
Alternate terms:
contour generator, visible contour, fold set
COMP 5812M: Foundations of Modelling & Rendering
Polygonal Mesh Tangents
Polygonal meshes are a nuisance
Silhouette is made up of mesh edges
But tangent planes do not exist at edges
Most meshes derive from smooth surfaces
But may have crease edges marked
Edges which are intended to be sharp
COMP 5812M: Foundations of Modelling & Rendering
Simple Silhouettes
Any edge connects two triangles
One triangle points toward the eye
The other points away from the eye
Test this with triangle normals (not vertex!)
Render the surface in white
Then render these edges in black
Optionally, offset slightly towards viewer
COMP 5812M: Foundations of Modelling & Rendering
Cel (Toon) Shading
Detect & draw silhouette edges
Then simplify the shading
By thresholding the result
So only two or three colours are used
Looks like a hand-drawn cartoon
Relatively smooth perceptual changes
So not too many crawlies
COMP 5812M: Foundations of Modelling & Rendering
Contour Contours
Due to Zorin & Hertzmann
Compute this function at each vertex:
Interpolate over the triangles
Then extract the zero-level set (aka contour)
Gives clean polygonal cycles
Can be used as the basis for hatching
COMP 5812M: Foundations of Modelling & Rendering
Contour Curve Example
COMP 5812M: Foundations of Modelling & Rendering
Suggestive Contours
We also want suggestive contours
That suggest details of the shape
E.g. edge of the eye (not a contour edge)
Based on extracting curvature (L1)
But polygonal meshes can be a problem
May need spline curves along the edges!
COMP 5812M: Foundations of Modelling & Rendering
Principal & Secondary Curvature
Principal: direction of greatest change
Secondary: direction of least change
Guaranteed to be perpendicular
At least on smooth surfaces
COMP 5812M: Foundations of Modelling & Rendering
Lines of Curvature
Line of curvature follows principal direction
Principal curvature changes along them
Therefore has minima and maxima
Called ridge and valley points
COMP 5812M: Foundations of Modelling & Rendering
Suggestive Contours, II
Principal direction is a vector field on surface
We can define other vector fields instead
For example, we can take radial curvature
Take the view vector at point P
Project this onto the tangent plane at P:
Suggestive contours have
COMP 5812M: Foundations of Modelling & Rendering
Suggestive Contours, &c.
1. Shaded View 2. Contours 3. Suggestive Contours 4. Ridges & Valleys 5. Apparent Ridges
COMP 5812M: Foundations of Modelling & Rendering
Scene Abstraction
Selection of curves / lines to remove
i.e. when too many lines in a dense area
COMP 5812M: Foundations of Modelling & Rendering
Gradient Domain Painting
Edit the gradient of the image
Not the image itself
COMP 5812M: Foundations of Modelling & Rendering
Diffusion Curves
Paint curves with colours on each side
Then diffuse the colour outwards until it meets
COMP 5812M: Foundations of Modelling & Rendering
Summary
Artists historically work with edges
Due to human eyeball, and tools available
Edges show up in curvature calculations
Shading is then simplified or blurred
Artistic style is copied with stroke styles
COMP 5812M: Foundations of Modelling & Rendering