1 / 247

cs.unc/~isenburg/trianglestripcompression/

http://www.cs.unc.edu/~isenburg/trianglestripcompression/. Triangle Strip Compression. Martin Isenburg. University of North Carolina at Chapel Hill. Introduction. A new edge-based encoding scheme for mesh connectivity. Introduction. A new edge-based encoding scheme for mesh connectivity.

raphaelc
Download Presentation

cs.unc/~isenburg/trianglestripcompression/

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. http://www.cs.unc.edu/~isenburg/trianglestripcompression/

  2. Triangle Strip Compression Martin Isenburg University of North Carolina at Chapel Hill

  3. Introduction A new edge-based encoding schemefor mesh connectivity.

  4. Introduction A new edge-based encoding scheme for mesh connectivity.  compact mesh representations

  5. Introduction A new edge-based encoding scheme for mesh connectivity.  compact mesh representations simple implementation

  6. Introduction A new edge-based encoding scheme for mesh connectivity.  compact mesh representations simple implementation fast decoding

  7. Introduction A new edge-based encoding scheme for mesh connectivity.  compact mesh representations simple implementation fast decoding

  8. Introduction A new edge-based encoding scheme for mesh connectivity.  compact mesh representations simple implementation fast decoding  include triangle strip informationat little additional costs

  9. A Triangle Mesh

  10. A Stripified Triangle Mesh

  11. Triangle Strips

  12. Triangle Strips • Technique for efficient rendering of triangle meshes. • Reduce data transfer between main memory and render engine. • Requires built-in buffer for two (previous) vertices. • Supportedintoday’sgraphicboards.

  13. Rendering with Triangles

  14. Rendering with Triangles

  15. Rendering with Triangle Strips

  16. Rendering with Triangle Strips

  17. Rendering with Triangle Strips

  18. v0 v2 v1 v4 v3 v6 v5 v7 v8 Sequential Triangle Strip v0 v1 v2 v3 v4 v5 v6 v7 v8 7 triangles 9 vertices

  19. Sequential Generalized

  20. v0 v2 v1 v4 v3 v6 v5 v7 v8 Generalized Triangle Strip 7 triangles 10 vertices v0 v1 v2 v3 v2 v5 v4 v7 v6 v8

  21. v0 v2 v1 v4 v3 v6 v5 v7 v8 Generalized Triangle Strip 7 triangles 10 vertices v0 v1 v2v3 v2v5 v4 v7 v6 v8

  22. v0 v2 v1 v4 v3 v6 v5 v7 v8 Generalized Triangle Strip swap v2 7 triangles 10 vertices v0 v1 v2v3 v2v5 v4 v7 v6 v8

  23. Stripification Algorithms • finding good set of triangle strips (e.g. few swaps, restarts) isn’t easy • computing optimal solution is NP hard • proposed tools with good heuristics: • STRIPE (96, Evans et al.) • SWAPS (97, Speckmann & Snoeyink) • FGTS (99, Xiang et al.)

  24. Storing a Mesh

  25. Storing a Mesh • Where are the vertices located ?  mesh geometry • Which vertices form a triangle?  mesh connectivity

  26. Standard Representation list of vertices x0 y0 z0 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  27. Standard Representation list of vertices list of triangles x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  28. Standard Representation list of vertices list of triangles x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  29. Standard Representation list of vertices list of triangles x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  30. Standard Representation list of vertices list of triangles x0 y0 z0 1 4 20 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  31. Standard Representation list of vertices list of triangles x0 y0 z0 1 4 2 x1 y1 z1 2 3 03 4 x2 y2 z2 u2 v2 w24 0 53 4 x3 y3 z3 u3 v3 w33 4 53 6 4 x4 y4 z4 u4 v4 w45 0 2 . . . . . xn yn zn . . . . . . . . . . . . . . .

  32. Connectivity list of vertices list of triangles x0 y0 z01 4 2 x1 y1 z12 3 0 3 4 x2 y2 z2 u2 v2 w24 0 5 3 4 x3 y3 z3 u3 v3 w33 4 5 3 6 4x4 y4 z4 u4 v4 w45 0 2 . . . . . xn yn zn Storage costs: 6 log(n) bpv . . . . . . . . . . . . . . .

  33. Storing a Stripified Mesh

  34. Storing a Stripified Mesh • Where are the vertices located ?  mesh geometry • Which vertices form a triangle?  mesh connectivity

  35. Storing a Stripified Mesh • Where are the vertices located ?  mesh geometry • Which vertices form a triangle?  mesh connectivity • Which triangles form a strip?  mesh stripification

  36. Storing a Stripified Mesh • Where are the vertices located ?  mesh geometry • Which vertices form a triangle strip?  mesh connectivity  mesh stripification

  37. Standard Representation list of vertices x0 y0 z0 x1 y1 z1 x2 y2 z2 x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn

  38. Standard Representation list of vertices list of triangle strips x0 y0 z0 1 4 20 30 0 . . . x1 y1 z1 1 0 40 20 4 . . . x2 y2 z2 7 4 50 80 4 . . . x3 y3 z3 4 x4 y4 z4 6 4 . . . . . xn yn zn . . . . . . . . . . . . . . . . . . . . . . . . . . .

  39. Connectivity and Stripification list of vertices list of triangle strips x0 y0 z01 4 20 30 0 . . . x1 y1 z11 0 40 20 4 . . . x2 y2 z2 7 4 50 80 4 . . . x3 y3 z3 4x4 y4 z4 6 4. . . . . xn yn zn Storage costs: 2~3 log(n) bpv . . . . . . . . . . . . . . . . . . . . . . . . . . .

  40. Connectivity Compressionfor Triangle Meshes

  41. Compression Techniques • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  42. Compression Techniques Short Encodings of Planar Graphs and Maps 4.6 bpv (4.6) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  43. Compression Techniques Topological Surgery 2.4 ~ 7.0 bpv (--) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  44. Compression Techniques Triangle Mesh Compression 0.2 ~ 2.9 bpv (--) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  45. Compression Techniques Edgebreaker 3.2 ~ 4.0 bpv (4.0) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  46. Compression Techniques A Simple and Efficient Encoding for Triangle Meshes 4.2 ~ 5.4 bpv (6.0) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  47. Compression Techniques Mesh Collapse Compression 1.1 ~ 3.4 bpv (--) • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[99]

  48. strip-internal edges

  49. strip-internal edges 1 1 1 1 1 1 1 1 1 1 1 1

  50. strip-internal edges 3 bpv 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0

More Related