130 likes | 153 Views
Suggestive Contours. Final programming assignment Advanced topics in Computer Graphics. Non-photorealistic rendering (NPR). Rendering techniques aimed at Conveying shape sketching, rough idea of the shape Conveying specific artistic style hand-drawn hatching etc….
E N D
Suggestive Contours Final programming assignment Advanced topics in Computer Graphics
Non-photorealistic rendering (NPR) • Rendering techniques aimed at • Conveying shape • sketching, rough idea of the shape • Conveying specific artistic style • hand-drawn • hatching • etc…
Line rendering to convey shape • How to make the computer draw the surface as a line rendering?
Line rendering to convey shape • Silhouettes (or contours) • edges on the surface where one side is turned to the viewer and the other away from the viewer) n v <v, n> = 0
Line rendering to convey shape • Silhouettes (or contours) • are probably not enough… only contours with suggestive contours only contours with suggestive contours
Line rendering to convey shape • Suggestive contours: • extension of regular silhouettes • points on the surface that will turn into silhouettes in near-by views
Suggestive contours • Formal definition: inflection points of radial curvature
Suggestive contours • Formal definition: inflection points of radial curves (i.e. zeros of radial curvature)
Suggestive contours • Computation • Object space: • compute radial curvatures given the view (the eye) • find points of zero radial curvature, so that the radial curve changes from convex to concave • Image space: • put a diffuse light source at the eye • render and look for valleys (local minima of <n, v>) • this will give an approximation of pixels where radial curvature is zero
The assignment • To read the paper “Suggestive contours for conveying shape” by DeCarlo et al. • To implement suggestive contour (+ normal silhouette) rendering for triangular meshes, as described in the paper http://www.cs.tau.ac.il/~sorkine/courses/adv_cg/sc/
You get from us • A basic code to read meshes from known formats and to display them interactively • You should implement the rendering algorithm yourself