1 / 20

Suggestive Contours with Geometry Shader

Suggestive Contours with Geometry Shader. Based on Suggestive Contours for Conveying Shape SIGGRAPH 2003. Sungbae Kim Master Student College of Computing Georgia Tech. Conveying shape with lines. Contours and Suggesstive Contours [DeCarlo et al. 2003]. Related work. Contour

mabon
Download Presentation

Suggestive Contours with Geometry Shader

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Suggestive Contours withGeometry Shader Based on Suggestive Contours for Conveying ShapeSIGGRAPH 2003 Sungbae Kim Master Student College of Computing Georgia Tech

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

  3. Related work 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. Primary direction 1 Primary direction 2 w How to compute Kr=0 in mesh • 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 : 144046 34 fps Bunny

  17. Results vertices : 262909 triangles : 525814 10 fps Lucy

  18. Results vertices : 237018 triangles : 474048 3.5 fps Angel

  19. Results vertices : 437645 triangles : 871414 6 fps Dragon

  20. Results vertices : 543652 triangles : 1087116 4 fps Happy Buddha

More Related