1 / 85

Mesh Collapse Compression

Mesh Collapse Compression. Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill. Introduction. A novel scheme for encoding triangle mesh topology. Introduction. A novel scheme for encoding triangle mesh topology. triangle mesh. Introduction.

Download Presentation

Mesh Collapse Compression

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. Mesh Collapse Compression Martin Isenburg Jack Snoeyink University of North Carolina Chapel Hill

  2. Introduction A novel scheme for encoding triangle mesh topology.

  3. Introduction A novel scheme for encoding triangle mesh topology. • triangle mesh

  4. Introduction A novel scheme for encoding triangle mesh topology. • triangle mesh • encoding

  5. Introduction A novel scheme for encoding triangle mesh topology. • triangle mesh • encoding • topology

  6. Triangle Mesh • Computer Graphics • Surface description • Hardware support • Used everyday • Used everywhere • Used by everybody • Increasingly complex

  7. Encoding • Compressed representation • Decrease storage and transmission time 011101101011...

  8. Topology geometry versus topology x0 y0 z0 0 1 2 x1 y1 z1 2 3 0 x2 y2 z2 2 3 1 x3 y3 z3 2 4 3 x4 y4 z4 5 4 3 . . . . . xn yn zn . . . . . . . . . . . . . . .

  9. Overview • previous work • simple meshes • video • example • general meshes • results • summary

  10. Previous work • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

  11. Previous work Geometry Compression • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

  12. Previous work Short Encodings of Planar Graphs and Maps 4.6 bpv (4.6) • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

  13. Previous work Topological Surgery 2.2 ~ 4.8 bpv (--) • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

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

  15. Previous work Edgebreaker 3.4 ~ 4.0 bpv (4.0) • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

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

  17. Previous work Face Fixer 3.9 ~ 4.1 bpv (6.0) • Deering[95] • Keeler Westbrook[95] • Taubin Rossignac[96] • Tauma Gotsman[98] • Rossignac[98] • DeFloriani et al[99] • Isenburg Snoeyink[00]

  18. Simple Meshes (1) the mesh is a surface composed of triangles (2) the mesh has no boundary (3) the mesh has no holes (4) the mesh has no handles

  19. Simple Mesh

  20. Mesh Collapse Compression i Input: Output: a simple mesh - a sequence of code words - a permutation of vertices

  21. Compression Scheme (1) initialize - declare arbitrary directed mesh edge as current edge

  22. Compression Scheme (2) loop until done (and usually): - contract current edge - record the removed vertex - record the degree - select new current edge

  23. Compression Scheme (2) loop until done (but occasionally): - divide mesh along current edge - record start symbol - continue on one mesh part - record end symbol - continue on other mesh part

  24. Digons A triangulation withexception of theouter face that isbound by only twoedges.

  25. From Mesh to Digon mc-edge new mc-edge mc-vertex cut and open rearrange

  26. Various Digons dividing edge simple simple simple trivial complex

  27. Encode Algorithm encode( Mesh mesh, Codec codec ) { stack.push( digonify( mesh ) ); while ( not stack.empty( ) ) { digon = stack.pop( ); while ( not digon.trivial ( ) ) { if ( digon.complex() ) { subdigon = mc-divide( digon ); stack.push( subdigon ); codec.pushCode( “S” ); } else { degree = mc-contract( digon ); codec.pushCode( degree ); } } codec.push( “E” ); } }

  28. mc-contract mc-edge loop new mc-edge contract contract remove select

  29. mc-divide dividing edge mc-edge mc-edge divide select

  30. Video

  31. Example

  32. Example

  33. Example mc-vertex

  34. Example mc-edge

  35. Example mc-edge digonify

  36. Example

  37. Example removed vertex degree of removed vertex mc-contract

  38. Example

  39. Example removed vertex degree of removed vertex mc-contract

  40. Example

  41. Example removed vertex degree of removed vertex mc-contract

  42. Example

  43. Example removed vertex degree of removed vertex mc-contract

  44. Example

  45. Example divided vertex mc-divide

  46. Example divided vertex mc-divide

  47. Example push on stack

  48. Example

  49. Example degree of removed vertex mc-contract

  50. Example

More Related