Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.