Suggestive Contours Final programming assignment Advanced topics in Computer Graphics
Non-photorealistic rendering (NPR) n Rendering techniques aimed at q Conveying shape n q sketching, rough idea of the shape Conveying specific artistic style n n n hand-drawn hatching etc…
Line rendering to convey shape n How to make the computer draw the surface as a line rendering?
Line rendering to convey shape n Silhouettes (or contours) q 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 n Silhouettes (or contours) q are probably not enough… only contours with suggestive contours
Line rendering to convey shape n Suggestive contours: q q extension of regular silhouettes points on the surface that will turn into silhouettes in near-by views
Suggestive contours n Formal definition: inflection points of radial curvature
Suggestive contours n Formal definition: inflection points of radial curves (i. e. zeros of radial curvature)
Suggestive contours n Computation q Object space: n n q 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: n n n 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 n n To read the paper “Suggestive contours for conveying shape” by De. Carlo 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 n n A basic code to read meshes from known formats and to display them interactively You should implement the rendering algorithm yourself