1 / 63

Non-Photorealistic Rendering FORMS

Non-Photorealistic Rendering FORMS. Threshold dependent. Model dependent. View dependent. Silhouette. Boundary. Outline form of the object. X. Crease (+ other discontinuities). Crease (+ other discontinuities). Interior form of the object. X. Silhouette Algorithms.

keita
Download Presentation

Non-Photorealistic Rendering FORMS

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. Non-Photorealistic RenderingFORMS

  2. Threshold dependent Model dependent View dependent Silhouette Boundary Outline form of the object X Crease (+ other discontinuities) Crease (+ other discontinuities) Interior form of the object X

  3. Silhouette Algorithms • Object Space • Involve computations in 3D and produce a list of silhouette edges or curves for a given viewpoint • Brute Force • Edge Buffer • Probabilistic • Gauss Map Arc Hierarchy • Normal Cone Hierarchy • Implicit Surfaces • NURBS Surfaces • Image Space • involve image processing techniques • Two Pass Methods • Environment Map • One Pass Method • Model Augmentation • Depth Discontinuity Methods

  4. Object Space  2. Edge Buffer Using the “Edge Buffer” data structure of Buchanan and Sousa to iterate over facets instead of edges. Buchanan, J. W. and Sousa, M. C.The edge buffer: A data structure for easy silhouette renderingProc. of NPAR '00

  5. Pre-Processing  Construct the Edge-Buffer ?

  6. Pre-Processing  Construct the Edge-Buffer V = vertex id F = front face ? B = back face ?

  7. Pre-Processing  Construct the Edge-Buffer V = vertex id F = front face ? B = back face ?

  8. T (2, 3, 1) Sort Indices… (1, 2, 3)

  9. InsertEdge (1, 2) T (2, 3, 1) (1, 2, 3)

  10. InsertEdge (1, 2) T (2, 3, 1) (1, 2, 3)

  11. InsertEdge (1, 2) T (2, 3, 1) (1, 2, 3)

  12. InsertEdge (1, 2) T (2, 3, 1) (1, 2, 3)

  13. InsertEdge (1, 2) InsertEdge (1, 3) T (2, 3, 1) (1, 2, 3)

  14. InsertEdge (1, 2) InsertEdge (1, 3) T (2, 3, 1) (1, 2, 3)

  15. InsertEdge (1, 2) InsertEdge (1, 3) T (2, 3, 1) (1, 2, 3)

  16. InsertEdge (1, 2) InsertEdge (1, 3) InsertEdge (2, 3) T (2, 3, 1) (1, 2, 3)

  17. T (2, 3, 1)

  18. T (4, 1, 3) Sort Indices… (1, 3, 4)

  19. InsertEdge (1, 3) InsertEdge (3, 4) InsertEdge (1, 4) T (4, 1, 3) (1, 3, 4)

  20. InsertEdge (1, 3)  already in InsertEdge (3, 4) InsertEdge (1, 4) T (4, 1, 3) (1, 3, 4)

  21. InsertEdge (1, 3) InsertEdge (3, 4) InsertEdge (1, 4) T (4, 1, 3) (1, 3, 4)

  22. InsertEdge (1, 3) InsertEdge (3, 4) InsertEdge (1, 4) T (4, 1, 3) (1, 3, 4)

  23. T (4, 1, 3)

  24. T (1, 2, 5)

  25. T (1, 2, 5)

  26. T (1, 2, 5)

  27. T (1, 2, 5)

  28. T (5, 3, 2) T (5, 4, 3) T (1, 4, 5)

  29. Run-Time  for (each new frame) do…

  30. T (2, 3, 1) ?

  31. T (2, 3, 1)

  32. UpdateEB (1, 2, front) UpdateEB (2, 3, front) UpdateEB (1, 3, front) T (2, 3, 1) Sort Indices… (1, 2, 3)

  33. F bit XOR 1 UpdateEB (1, 2, front) UpdateEB (2, 3, front) UpdateEB (1, 3, front) T (2, 3, 1) Sort Indices… (1, 2, 3)

  34. T (4, 1, 3)

  35. F bit XOR 1 UpdateEB (1, 3, front) UpdateEB (3, 4, front) UpdateEB (1, 4, front) T (4, 1, 3) Sort Indices… (1, 3, 4)

  36. F bit XOR 1 UpdateEB (1, 3, front) T (4, 1, 3) Sort Indices… (1, 3, 4)

  37. F bit XOR 1 UpdateEB (1, 3, front) T (4, 1, 3) Sort Indices… (1, 3, 4)

  38. F bit XOR 1 UpdateEB (1, 3, front) UpdateEB (3, 4, front) UpdateEB (1, 4, front) T (4, 1, 3) Sort Indices… (1, 3, 4)

  39. T (1, 2, 5)

  40. B bit XOR 1 UpdateEB (1, 2, back) UpdateEB (2, 5, back) UpdateEB (1, 5, back) T (1, 2, 5)

  41. B bit XOR 1 UpdateEB (1, 2, back) UpdateEB (2, 5, back) UpdateEB (1, 5, back) T (1, 2, 5)

  42. T (5, 3, 2) T (5, 4, 3) T (1, 4, 5)

  43. How to Interpret the Bit Fields? FB = 11  Silhouette Edges FB = 00  Interior Edges

  44. 3D Perception???

  45. 3D Perception???

  46. Artist designates which interior edges are always drawn

  47. Boundaries FB = 01 FB = 10 Artist designates which interior edges are always drawn

  48. Artist Edges Artist designates which interior edges are always drawn AFBFaBa Artist Edge? Absolute Front? Absolute Back? 10001 When a front facing edge is being updated we simply OR the current value of Fa with 1, similarly for Ba 10010

More Related