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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend