subdivision for line drawings
play

Subdivision for Line Drawings Bert Freudenberg - PowerPoint PPT Presentation

Subdivision for Line Drawings Bert Freudenberg Otto-von-Guericke-Universit at Magdeburg Overview Overview 1. Introduction 2. Subdivision 3. Silhouette Propagation 4. Drawing by Subdivision 5. Results 6. Conclusion 1 Introduction


  1. Subdivision for Line Drawings Bert Freudenberg Otto-von-Guericke-Universit¨ at Magdeburg

  2. Overview Overview 1. Introduction 2. Subdivision 3. Silhouette Propagation 4. Drawing by Subdivision 5. Results 6. Conclusion 1

  3. Introduction Introduction • Subdivision surfaces – general surfaces representation

  4. Introduction Introduction • Subdivision surfaces – general surfaces representation • Non-photorealistic rendering – here: line drawings

  5. Introduction Introduction • Subdivision surfaces – general surfaces representation • Non-photorealistic rendering – here: line drawings • no explicit connection yet 2

  6. Subdivision Subdivision • Geometry representation

  7. Subdivision Subdivision • Geometry representation • Interpolating or approximating

  8. Subdivision Subdivision • Geometry representation • Interpolating or approximating • Arbitrary mesh 3

  9. Subdivision: Modified Butterfly Subdivision: Modified Butterfly

  10. Subdivision: Modified Butterfly Subdivision: Modified Butterfly 4

  11. Subdivision: Control mesh Subdivision: Control mesh 5

  12. Subdivision: Subdivided once Subdivision: Subdivided once 6

  13. Subdivision: Subdivided twice Subdivision: Subdivided twice 7

  14. Subdivision: Subdivided three times Subdivision: Subdivided three times 8

  15. Subdivision: Line drawings Subdivision: Line drawings • Silhouettes – border from a specific viewpoint – adjacent to front-facing and back-facing polygon

  16. Subdivision: Line drawings Subdivision: Line drawings • Silhouettes – border from a specific viewpoint – adjacent to front-facing and back-facing polygon • Creases – sharp features on surface – inherent to subdivision model 9

  17. Subdivision: Level 0 Subdivision: Level 0 10

  18. Subdivision: Level 1 Subdivision: Level 1 11

  19. Subdivision: Level 2 Subdivision: Level 2 12

  20. Subdivision: Level 3 Subdivision: Level 3 13

  21. Subdivision: Line drawings Subdivision: Line drawings Problem: triangle count quadruples in each refinement step • Rapid determination of silhouettes • Fast drawing of silhouettes and creases 14

  22. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes

  23. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh 15

  24. Silhouette Propagation: silhouette triangles Silhouette Propagation: silhouette triangles 16

  25. Silhouette Propagation: triangles refined Silhouette Propagation: triangles refined 17

  26. Silhouette Propagation: refined again Silhouette Propagation: refined again 18

  27. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh

  28. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh – silhouette band

  29. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh – silhouette band – update while subdividing 19

  30. Silhouette Propagation: before subdivision Silhouette Propagation: before subdivision 20

  31. Silhouette Propagation: subdivided Silhouette Propagation: subdivided 21

  32. Silhouette Propagation: new silhouette Silhouette Propagation: new silhouette 22

  33. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh – silhouette band – update while subdividing

  34. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh – silhouette band – update while subdividing • Problem: subdivision itself is expensive

  35. Silhouette Propagation Silhouette Propagation • New method for determining silhouettes • Idea: propagate silhouettes while refining the mesh – silhouette band – update while subdividing • Problem: subdivision itself is expensive • Applications: – dynamic subdivision – off-line rendering 23

  36. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D 24

  37. Drawing by Subdivision: Mesh Drawing by Subdivision: Mesh 25

  38. Drawing by Subdivision: One 2D subdivision Drawing by Subdivision: One 2D subdivision 26

  39. Drawing by Subdivision: No 2D subdivision Drawing by Subdivision: No 2D subdivision 27

  40. Drawing by Subdivision: Three 2D subdivisions Drawing by Subdivision: Three 2D subdivisions 28

  41. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D

  42. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D – collect edges

  43. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D – collect edges – make chains

  44. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D – collect edges – make chains – sudivide chains

  45. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D – collect edges – make chains – sudivide chains • Problem: accuracy

  46. Drawing by Subdivision Drawing by Subdivision • New method for accelerating drawing • Idea: subdivide in 2D instead of 3D – collect edges – make chains – sudivide chains • Problem: accuracy • Solution: perform a few 3D refinement steps first 29

  47. Drawing by Subdivision: No 3D subdivision Drawing by Subdivision: No 3D subdivision 30

  48. Drawing by Subdivision: One 3D subdivision Drawing by Subdivision: One 3D subdivision 31

  49. Drawing by Subdivision: Two 3D subdivisions Drawing by Subdivision: Two 3D subdivisions 32

  50. Results Results • Implemented in Squeak

  51. Results Results • Implemented in Squeak – open source Smalltalk system

  52. Results Results • Implemented in Squeak – open source Smalltalk system – omni-platform, multi-media

  53. Results Results • Implemented in Squeak – open source Smalltalk system – omni-platform, multi-media – interpreted (JIT coming)

  54. Results Results • Implemented in Squeak – open source Smalltalk system – omni-platform, multi-media – interpreted (JIT coming) • factor 2–4 speedup for silhouette propagation over brute-force

  55. Results Results • Implemented in Squeak – open source Smalltalk system – omni-platform, multi-media – interpreted (JIT coming) • factor 2–4 speedup for silhouette propagation over brute-force • factor 10 speedup for 2D over 3D subdivision 33

  56. Results Results 34

  57. Results Results 35

  58. Conclusion Conclusion • Subdivision is good for NPR

  59. Conclusion Conclusion • Subdivision is good for NPR • Exploit features of surface representations ⇒ silhouette propagation

  60. Conclusion Conclusion • Subdivision is good for NPR • Exploit features of surface representations ⇒ silhouette propagation • Simplify where possible ⇒ 2D subdivision for drawing 36

  61. Extensions Extensions • hidden line removal ⇒ visibility propagation

  62. Extensions Extensions • hidden line removal ⇒ visibility propagation • overshooting when drawing ⇒ chordal parametrization of curves 37

  63. The End The End Questions? 38

Recommend


More recommend