Subdivision for Line Drawings Bert Freudenberg - - PowerPoint PPT Presentation

subdivision for line drawings
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Subdivision for Line Drawings

Bert Freudenberg Otto-von-Guericke-Universit¨ at Magdeburg

slide-2
SLIDE 2

Overview Overview

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

1

slide-3
SLIDE 3

Introduction Introduction

  • Subdivision surfaces

– general surfaces representation

slide-4
SLIDE 4

Introduction Introduction

  • Subdivision surfaces

– general surfaces representation

  • Non-photorealistic rendering

– here: line drawings

slide-5
SLIDE 5

Introduction Introduction

  • Subdivision surfaces

– general surfaces representation

  • Non-photorealistic rendering

– here: line drawings

  • no explicit connection yet

2

slide-6
SLIDE 6

Subdivision Subdivision

  • Geometry representation
slide-7
SLIDE 7

Subdivision Subdivision

  • Geometry representation
  • Interpolating or approximating
slide-8
SLIDE 8

Subdivision Subdivision

  • Geometry representation
  • Interpolating or approximating
  • Arbitrary mesh

3

slide-9
SLIDE 9

Subdivision: Modified Butterfly Subdivision: Modified Butterfly

slide-10
SLIDE 10

Subdivision: Modified Butterfly Subdivision: Modified Butterfly

4

slide-11
SLIDE 11

Subdivision: Control mesh Subdivision: Control mesh

5

slide-12
SLIDE 12

Subdivision: Subdivided once Subdivision: Subdivided once

6

slide-13
SLIDE 13

Subdivision: Subdivided twice Subdivision: Subdivided twice

7

slide-14
SLIDE 14

Subdivision: Subdivided three times Subdivision: Subdivided three times

8

slide-15
SLIDE 15

Subdivision: Line drawings Subdivision: Line drawings

  • Silhouettes

– border from a specific viewpoint – adjacent to front-facing and back-facing polygon

slide-16
SLIDE 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

slide-17
SLIDE 17

Subdivision: Level 0 Subdivision: Level 0

10

slide-18
SLIDE 18

Subdivision: Level 1 Subdivision: Level 1

11

slide-19
SLIDE 19

Subdivision: Level 2 Subdivision: Level 2

12

slide-20
SLIDE 20

Subdivision: Level 3 Subdivision: Level 3

13

slide-21
SLIDE 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

slide-22
SLIDE 22

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
slide-23
SLIDE 23

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
  • Idea: propagate silhouettes while refining the mesh

15

slide-24
SLIDE 24

Silhouette Propagation: silhouette triangles Silhouette Propagation: silhouette triangles

16

slide-25
SLIDE 25

Silhouette Propagation: triangles refined Silhouette Propagation: triangles refined

17

slide-26
SLIDE 26

Silhouette Propagation: refined again Silhouette Propagation: refined again

18

slide-27
SLIDE 27

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
  • Idea: propagate silhouettes while refining the mesh
slide-28
SLIDE 28

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
  • Idea: propagate silhouettes while refining the mesh

– silhouette band

slide-29
SLIDE 29

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
  • Idea: propagate silhouettes while refining the mesh

– silhouette band – update while subdividing

19

slide-30
SLIDE 30

Silhouette Propagation: before subdivision Silhouette Propagation: before subdivision

20

slide-31
SLIDE 31

Silhouette Propagation: subdivided Silhouette Propagation: subdivided

21

slide-32
SLIDE 32

Silhouette Propagation: new silhouette Silhouette Propagation: new silhouette

22

slide-33
SLIDE 33

Silhouette Propagation Silhouette Propagation

  • New method for determining silhouettes
  • Idea: propagate silhouettes while refining the mesh

– silhouette band – update while subdividing

slide-34
SLIDE 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
slide-35
SLIDE 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

slide-36
SLIDE 36

Drawing by Subdivision Drawing by Subdivision

  • New method for accelerating drawing
  • Idea: subdivide in 2D instead of 3D

24

slide-37
SLIDE 37

Drawing by Subdivision: Mesh Drawing by Subdivision: Mesh

25

slide-38
SLIDE 38

Drawing by Subdivision: One 2D subdivision Drawing by Subdivision: One 2D subdivision

26

slide-39
SLIDE 39

Drawing by Subdivision: No 2D subdivision Drawing by Subdivision: No 2D subdivision

27

slide-40
SLIDE 40

Drawing by Subdivision: Three 2D subdivisions Drawing by Subdivision: Three 2D subdivisions

28

slide-41
SLIDE 41

Drawing by Subdivision Drawing by Subdivision

  • New method for accelerating drawing
  • Idea: subdivide in 2D instead of 3D
slide-42
SLIDE 42

Drawing by Subdivision Drawing by Subdivision

  • New method for accelerating drawing
  • Idea: subdivide in 2D instead of 3D

– collect edges

slide-43
SLIDE 43

Drawing by Subdivision Drawing by Subdivision

  • New method for accelerating drawing
  • Idea: subdivide in 2D instead of 3D

– collect edges – make chains

slide-44
SLIDE 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

slide-45
SLIDE 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
slide-46
SLIDE 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

slide-47
SLIDE 47

Drawing by Subdivision: No 3D subdivision Drawing by Subdivision: No 3D subdivision

30

slide-48
SLIDE 48

Drawing by Subdivision: One 3D subdivision Drawing by Subdivision: One 3D subdivision

31

slide-49
SLIDE 49

Drawing by Subdivision: Two 3D subdivisions Drawing by Subdivision: Two 3D subdivisions

32

slide-50
SLIDE 50

Results Results

  • Implemented in Squeak
slide-51
SLIDE 51

Results Results

  • Implemented in Squeak

– open source Smalltalk system

slide-52
SLIDE 52

Results Results

  • Implemented in Squeak

– open source Smalltalk system – omni-platform, multi-media

slide-53
SLIDE 53

Results Results

  • Implemented in Squeak

– open source Smalltalk system – omni-platform, multi-media – interpreted (JIT coming)

slide-54
SLIDE 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
slide-55
SLIDE 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

slide-56
SLIDE 56

Results Results

34

slide-57
SLIDE 57

Results Results

35

slide-58
SLIDE 58

Conclusion Conclusion

  • Subdivision is good for NPR
slide-59
SLIDE 59

Conclusion Conclusion

  • Subdivision is good for NPR
  • Exploit features of surface representations

⇒ silhouette propagation

slide-60
SLIDE 60

Conclusion Conclusion

  • Subdivision is good for NPR
  • Exploit features of surface representations

⇒ silhouette propagation

  • Simplify where possible

⇒ 2D subdivision for drawing

36

slide-61
SLIDE 61

Extensions Extensions

  • hidden line removal

⇒ visibility propagation

slide-62
SLIDE 62

Extensions Extensions

  • hidden line removal

⇒ visibility propagation

  • overshooting when drawing

⇒ chordal parametrization of curves

37

slide-63
SLIDE 63

The End The End

Questions?

38