CS7490 Advanced Image Synthesis
Sungbae Kim's Final Project
Suggestive Contours using Geometry Shader
based on
Suggestive Contours for Conveying Shape
SIGGRAPH 2003


Project description
  There are several line drawing algorithm for conveying shape such as contours, crease and crest. Contours also called silhouette is lack of information. Crease is only well for polyhedral objects. Crest also called ridges and valleys is lack of view-dependent nature that hand-drawn pictures possess.

Rusinkiewicz, SIGGRAPH 2005 Course note

Suggestive contours suggested in [DeCarlo et al. 2003] has much information for shape cue and view-dependent nature. I implemented suggestive contours based [DeCarlo et al. 2003]. To enhance rendering speed, I use the brand-new geometry shader. For details, see my project presentation file.
Source code
  To compile and execute this,
- Just in Windows
- You need kind of recent graphics card for geometry shader, or you need NVIDIA's emulator(very slow).
- Some files from NVIDIA's SDK(also included in the below zip file)
- TriMesh library for loading meshes.(also included in the below zip file)
- Over Cg 2.0 beta library
- OpenGL
- To execute, type bin/gssc.exe [model file name]

Download source code.

Result
 Environment : CPU : Intel Core2 Duo 2.0GHz, RAM : 2GB, VIDEO Card : NVIDIA Quadro FX 570M
  vertices : 48484
triangles : 96964
51 fps
  vertices : 72027
triangles : 144046
34 fps
  vertices : 262909
triangles : 525814
10 fps
  vertices : 237018
triangles : 474048
3.5 fps
  vertices : 437645
triangles : 871414
6 fps
  vertices : 543652
triangles : 1087116
4 fps


Reference
  Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, Anthony Santella, "Suggestive Contours for Conveying Shape," SIGGRAPH 2003
  Szymon Rusinkiewicz, Doug DeCarlo, Rutgers University, Adam Finkelstein, "SIGGRAPH 2005 Course 7: Line Drawings from 3D Models"