Presentation is loading. Please wait.

Presentation is loading. Please wait.

Suggestive Contours with Geometry Shader

Similar presentations


Presentation on theme: "Suggestive Contours with Geometry Shader"— Presentation transcript:

1 Suggestive Contours with Geometry Shader
Based on Suggestive Contours for Conveying Shape SIGGRAPH 2003 Sungbae Kim Master Student College of Computing Georgia Tech

2 Conveying shape with lines
- effective Contours and Suggesstive Contours [DeCarlo et al. 2003]

3 Related work Contour (also called silhouette) Crease
Contour : lack of information Crease : well for polyhedral objects Crest : lack of view dependent nature that hand-drawn pictures possess Contour (also called silhouette) Crease Ridges and valleys (also called crest) Rusinkiewicz, SIGGRAPH 2005 Course note

4 Suggestive Contours Contours have shape cue
Contours in nearby viewpoints also have shape cue  Suggestive Contours Contours + Suggestive Contours q : contour p : suggestive contour Should appear suddenly [DeCarlo et al. 2003]

5 How to find contours Draw lines where N(P)∙V(P) = 0

6 How to find SC Contours in nearby viewpoints local minima n∙v
Kr = 0 && DwKr > 0 [DeCarlo et al. 2003]

7 How to find contours in mesh
Compute Per vertex Draw zero crossing Rusinkiewicz, SIGGRAPH 2005 Course note

8 How to compute Kr=0 in mesh
Primary direction 1 Primary direction 2 w K1, K2 can be pre-computed per vertex Compute Per vertex Draw zero crossing Kr > 0 Kr < 0 Kr < 0

9 How to compute DwKr > 0 in mesh
Rusinkiewicz, SIGGRAPH 2005 Course note P, Q, S, T can be pre-computed per vertex Compute Per vertex Interpolation Primary direction 1 : e1 Kr > 0 v DwKr > 0 u Kr=0 w Primary direction 2 : e2 Kr < 0 Kr < 0

10 Implementation CPU - Intel Core2 Duo 2.0GHz, RAM - 2GB, VIDEO Card – NVIDIA Quadro FX 570M

11 Implementation Challenges
Calculation values from mesh Primary directions Primary curvatures Derivatives of curvatures (P, Q, R, S) Use TriMesh library Cg is very easy Geometry shader

12 Geometry Shader Operation Per Primitives (line, triangle, line with adjacency, triangle with adjacency, etc.) Generating new primitives such as line, triangle Few references Several examples from NVIDIA triangle with adjacency Draw edges between front and back face My motivation Example from NVIDIA OpenGL SDK 10

13 Using GPU Pre-compute curvatures, dcurvatures in CPU when loading mesh
View-dependent calculation and line generation in Vertex & Geometry shader Use texture coordinates as input arguments Too many vertices, normals, faces, texture coordinates Use buffer object

14 Remove hidden lines Using z-buf 2-pass rendering
1st pass : Setting depth values by Rendering mesh 2nd pass : line drawing

15 Results vertices : 48484 triangles : 96964 51 fps Horse

16 Results vertices : 72027 triangles : 34 fps Bunny

17 Results vertices : triangles : 10 fps Lucy

18 Results vertices : triangles : 3.5 fps Angel

19 Results vertices : triangles : 6 fps Dragon

20 Results vertices : triangles : 4 fps Happy Buddha


Download ppt "Suggestive Contours with Geometry Shader"

Similar presentations


Ads by Google