Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom...
-
date post
20-Dec-2015 -
Category
Documents
-
view
218 -
download
2
Transcript of Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom...
![Page 1: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/1.jpg)
Large Mesh Simplificationusing Processing Sequences
Martin IsenburgUNC
Chapel Hill
Peter LindstromLLNL
Livermore
Stefan GumholdGRIS
Tubingen
Jack SnoeyinkUNC
Chapel Hill
![Page 2: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/2.jpg)
Overview
• Motivation
• Background
• Processing Sequences
• Adapted Simplification Schemes– OOCS
– Wu & Kobbelt
• Conclusion
![Page 3: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/3.jpg)
Motivation
![Page 4: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/4.jpg)
Large Meshes
3D scans isosurfaces
![Page 5: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/5.jpg)
Large Meshes
3D scans isosurfaces
![Page 6: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/6.jpg)
PPM isosurface
• 235 million vertices
• 469 million triangles
• 235 million rtices
• million trianglesover
8 Gigabyte !
hampers:• distributing / loading• rendering• processing
![Page 7: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/7.jpg)
• in-core algorithms of choice:– Qslim
– Rsimp
Mesh Simplification
• alternative: processing sequence
[Garland & Heckbert ’97]
[Brodsky & Watson ’00]
require~ 200 bytesper vertex
• current out-of-core approaches:1. piece by piece
2. external memory
3. polygon soup [Lindstrom ’00]
[Hoppe ’98]
[Cignoni et al. ’03]
![Page 8: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/8.jpg)
Background
![Page 9: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/9.jpg)
Related Work
• Large Mesh Processing– Simplification
– Compression
– Visualization Systems
• Main Techniques 1. Mesh Cutting
2. Online Processing
3. Batch Processing
![Page 10: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/10.jpg)
• cut mesh into small pieces
• process each separately
• special treatment for cuts
• stitch result back together
1. Mesh Cutting
figure courtesy of Hugues Hoppe
![Page 11: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/11.jpg)
2. Online Processing
• external memory datastructures
• “random” mesh access
figure courtesy of Paolo Cignoni
![Page 12: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/12.jpg)
3. Batch Processing (1)
• polygon soup
• single scan over stream ofde-referenced triangles
• no explicit connectivity
[Lindstrom ’00]
![Page 13: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/13.jpg)
3. Batch Processing (2)
• polygon soup
• single scan over stream ofde-referenced triangles
• no explicit connectivity
(coherent)
reconstruct
figure courtesy of Jianhua Wu and Leif Kobbelt
[Wu & Kobbelt ’03]
![Page 14: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/14.jpg)
Sequenced Processing
• coherent triangle orderinginterleaved with vertices
• small footprint streaming
• finalization of vertices
[Isenburg & Gumhold ’03]
![Page 15: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/15.jpg)
Quadric Error Matrices
• accumulate error
• vertex placement
• sum of squareddistances of point to set of planes
• quadric error:
figure courtesy of Michael Garland
[Garland & Heckbert ’97]
Q =q00 q01 q02 q03
q10 q11 q12 q13
q20 q21 q22 q23
q30 q31 q32 q33
vTQv
![Page 16: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/16.jpg)
Processing Sequences
![Page 17: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/17.jpg)
A little history …
• Compressor– region growing
![Page 18: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/18.jpg)
A little history …
• Compressor– region growing
• Out-of-Core Mesh– transparent
– caching clusters
![Page 19: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/19.jpg)
A little history …
• Compressor– region growing
• Out-of-Core Mesh– transparent
– caching clusters
• Compact Format– small footprint
– streaming
![Page 20: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/20.jpg)
A little history …
• Compressor– region growing
• Out-of-Core Mesh– transparent
– caching clusters
• Compact Format– small footprint
– streaming
![Page 21: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/21.jpg)
A little history …
• Compressor– region growing
• Out-of-Core Mesh– transparent
– caching clusters
• Compact Format– small footprint
– streaming
![Page 22: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/22.jpg)
• interleaved ordering of triangles and vertices that “grows regions”
processingboundary
Processing Sequences
border edges
Q7
Q1
Q4
• available information:– first & last use of edges & vertices
– surface border
• maintaindata alongboundary
![Page 23: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/23.jpg)
unprocessed region
Abstractions
• boundary-based– one boundary
– process immediately
processed region
waiting area
processingboundary
![Page 24: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/24.jpg)
processed region
unprocessed region
Abstractions
• boundary-based– one boundary
– process immediately
• buffer-based– two boundaries
– process in buffer
– read to fill
– write to empty
in-corebuffer
output boundary
input boundary
processed region
unprocessed region
processingboundary
waiting area
![Page 25: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/25.jpg)
OOCS
![Page 26: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/26.jpg)
OOCS
• stream in polygon soup– triangle after triangle
• vertex clustering– one quadric per grid cell
• output sensitive– store all quadrics
• no border info – tangential
term added
![Page 27: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/27.jpg)
OOCS
Q
Q
input output
![Page 28: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/28.jpg)
OOCS
Q
Q
Q
Q
input output
![Page 29: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/29.jpg)
OOCS
Q
Q
Q
Q
input output
![Page 30: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/30.jpg)
OOCS
Q
Q
Q Q
Q
input output
![Page 31: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/31.jpg)
OOCS
Q Q
Q Q Q
Q
Q
input output
Q
![Page 32: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/32.jpg)
OOCS
Q Q
QQ Q Q Q
Q Q
Q
Q Q Q
Q
Q
Q
Q
Q
Q
input output
![Page 33: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/33.jpg)
OOCS
Q Q
Q
Q
Q
QQ Q Q Q
Q Q
Q
Q
Q Q
Q Q
Q
Q
Q
QQQ
Q Q Q
QQQQ
Q
QQQ
Q Q
Q
input output
![Page 34: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/34.jpg)
OOCS
Q Q
Q
Q
Q
QQ Q Q Q
Q Q
Q
Q
Q Q
Q Q
Q
Q
Q
QQQ
Q Q Q
QQQQ
Q
QQQ
Q Q
Q
input output
![Page 35: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/35.jpg)
OOCS
Q Q
Q
Q
Q
QQ Q Q Q
Q Q
Q
Q
Q Q
Q Q
Q
Q
Q
QQQ
Q Q Q
QQQQ
Q
QQQ
Q Q
Q
input output
![Page 36: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/36.jpg)
OOCS using PS
![Page 37: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/37.jpg)
• fewer artifacts– do not collapse multiple
layers into single vertex
– improved surface boundaries
• streaming output
OOCS using PS
• memory insensitive– maintain much fewer quadrics
![Page 38: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/38.jpg)
processedregion
unprocessedregion
Q7
7
Q55
55
OOCS using PS (detail)
Q33
Q4
4
4
![Page 39: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/39.jpg)
processedregion
unprocessedregion
Q55
Q4
Q7
7
4
4
Q3
5
3
OOCS using PS (detail)
![Page 40: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/40.jpg)
processedregion
unprocessedregion
Q55
Q4
Q7
7
4
4
5
Q3
turns into vertex quadric
OOCS using PS (detail)
![Page 41: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/41.jpg)
processedregion
unprocessedregion
Q55
Q4
Q7
7
4
4
5
Q8
8
OOCS using PS (detail)
![Page 42: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/42.jpg)
processedregion
unprocessedregion
Q55
Q4
Q7
7
4
5
Q8
8
OOCS using PS (detail)
![Page 43: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/43.jpg)
processedregion
unprocessedregion
Q55
Q4
Q7
7
5
Q8
8
quadric turns into vertex
8
OOCS using PS (detail)
![Page 44: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/44.jpg)
processedregion
unprocessedregion
Q55
Q7
7
5
Q8
88
Q9
9
OOCS using PS (detail)
![Page 45: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/45.jpg)
processedregion
unprocessedregion
Q55
Q7
7
Q8
88
Q9
9quadricmerge
OOCS using PS (detail)
![Page 46: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/46.jpg)
OOCS using PSinput output
![Page 47: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/47.jpg)
OOCS using PS
Q
Q
Q
Q
outputinput
![Page 48: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/48.jpg)
OOCS using PS
Q
Q Q
Q Q
Q
outputinput
Q Q
![Page 49: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/49.jpg)
OOCS using PS
Q
Q
Q
Q
Q Q
Q
Q
Q
outputinput
Q Q
![Page 50: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/50.jpg)
OOCS using PS
Q
Q
Q
Q
Q
outputinput
Q
Q Q
Q Q
Q
QQ Q
Q
![Page 51: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/51.jpg)
OOCS using PS
Q
Q
Q
Q
outputinput
Q
Q
Q
Q
Q
Q
Q Q
Q Q
Q
Q Q
Q
Q
Q
Q
![Page 52: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/52.jpg)
OOCS using PS
Q
Q
Q
outputinput
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q Q
Q Q
Q
Q Q
Q
Q
Q
![Page 53: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/53.jpg)
OOCS using PS
QQQ
Q
Q
Q
outputinput
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q Q
Q Q
Q
Q Q
Q
Q
Q
Q
![Page 54: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/54.jpg)
OOCS using PS
Q
Q
Q
outputinput
QQQ
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q Q
Q Q
Q
Q Q
Q
Q
Q
Q
Q
![Page 55: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/55.jpg)
OOCS using PSoutputinput
QQQ
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q
Q Q
Q Q
Q
Q Q
Q
Q
Q
Q
Q
Q
Q
Q
![Page 56: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/56.jpg)
Improved Mesh QualityOOCS-PS
OOCS
vertices: 33,053
non-manifoldvertices: 3,366
vertices: 35,134
non-manifoldvertices: 897
![Page 57: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/57.jpg)
Lower Memory Requirements
373 million vertices
OOCSmemory:
3,282 MBtime:
67 minOOCS-PSmemory:
121 MBtime:
83 min23 million vertices
![Page 58: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/58.jpg)
Wu & Kobbelt
![Page 59: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/59.jpg)
Wu & Kobbelt
• stream coherent soup into buffer• reconstruct connectivity
– hash on vertex data– finalize complete stars
inputboundary
a aa a
a
aaa
a
accumulating
c c
collapsible
• randomized edge collapse – one quadric per vertex– accumulating collapsible
• randomized streaming output
![Page 60: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/60.jpg)
Wu & Kobbelt
ca
a
a
a
a
a
a
input output
![Page 61: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/61.jpg)
Wu & Kobbelt
c
cc
c
c
c
cc
c
a
a
a
aa
aa
a
a
a
a
a
aa
a
a aa
aa
a
a
a
a
a
a
a
input output
![Page 62: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/62.jpg)
Wu & Kobbelt
c
cc
cc
aa
a a
c
a
a
a
aa
a
c
c
c
a
a
a
aa
a
a
aa
a
a
a
c
c
ca
a
a
a
a
a
aa
a
aa
a
a
a
a
a
a
c
c
c
outputinput
![Page 63: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/63.jpg)
Wu & Kobbelt
c
c
c
c
c
aaaa
a
a
a
aa
a c
c
c
a
a
a
aa
a a
aa
a
a
a
cc
ca
a
a
a
a
a
a
a
a
a a
a
a
a
a
a
a
c
ca
aa
a
a
c
c
c
c
cc
cc
c
aa
a
a
c
cc
c
a
a
outputinput
![Page 64: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/64.jpg)
Wu & Kobbelt
c
c
c
c
c
aaaa
a
a
a
a
a
a
c
c
a
a
a
a a
a a
aa
a
aa
c
ca
a
a
aa
a
a
a a
a
a
a
a
a
c
c
aa
a
a
a
c
c
c
cc
aa
a
a
c
c
c
c
a
a
aa
aa
aa
c
c
c
c
c c
c
c
c
c
c
c
cc
c
c
c
c c
outputinput
![Page 65: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/65.jpg)
Wu & Kobbelt
c
aaaa
a
aa
a
a
a
a
aa
a
a
a
a
a
a
a
aa
a
a
a a
a
a
a
a
a
c
aa a
a
a
c
aa
a
a
aa
a
a
a
a
c
c
c c
c
c
c
caa
a
a
aa
a a
a
aa
a
a a a a
a
a
a
a
a
ac
c
c
c
c c
c
c
c
c
c
c c
outputinput
![Page 66: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/66.jpg)
Wu & Kobbelt
aaaa
a
aa
a
a
a
a
aa
a
a
a
a
a
a
a
aa
a
aa a
a
a
a
a
a
aa a
a
a aa
a
a
a
a
a
a
a
a
c
c
a
a
a
a
aa
a
a
a
a
a
a
a a a a
a
a a
a
a
ac
c
c
aaa
aa
a
aa
aa
aa
aa
a
c
c
c c
cc
c
c
c
cc
outputinput
![Page 67: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/67.jpg)
Wu & Kobbelt
aaaa
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa a
a
a
a
a
a
a a
a
a aa
a
a
a
a
a
a
a
c
a aa
a
a
a
a
a
a
a
a
a
a a a a
a
a
a
aa
aa
a
aa a
a
a
aaa
a
a
a
a
c
c
a
a
a
a
cc c
ccc
cc
c
ac
a
outputinput
![Page 68: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/68.jpg)
Wu & Kobbelt
aaaa
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa a
a
a
a
a
a
a a
a
a aa
a
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a a a a
a
a
a
aa
a
a
a
a a a
a
a
a
a
aa
a
a
a
a
aaa
a
c
cc
cc
a aa
a
c
outputinput
![Page 69: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/69.jpg)
border
Wu & Kobbelt
aaaa
a
aa
a
a
a
a
a
a
a
a
a
a
a
a
a
a
aa a
a
a
a
a
a
a a
a
a aa
a
a
a
a
a
a
aa
a
a
a
a
a
a
a
a
a a a a
a
a
a
aa
a
aa a a
a
a
aa
a
a
a
aaa
a
aa
a
aa
a
a
aa
a
c
c
c
cc
outputinput
![Page 70: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/70.jpg)
Wu & Kobbelt
c
c
c
c
c
c
c
c
c
c
c
c
cc c
c
c
c
c
c
c
c cc
c
c
c
c
cc
c
c
c
c
c
c
c
c c c c
c
c
c
c
c
ccc
cccc
cc
c
c
c
c c c
c
c
c
c
c
c
cc c
c
c
cc
c
c
cc
c
cc
c
c
cc
c
c
c
c
cc
outputinput
![Page 71: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/71.jpg)
Wu & Kobbelt
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c c
cc
c
cc
c
c
c
c
c c
c
c
cc
c
c
c
c
cc
c
c
c
c
c
outputinput
![Page 72: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/72.jpg)
Wu & Kobbelt
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
cc
c
c
c
c
c
c
c
outputinput
![Page 73: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/73.jpg)
Wu & Kobbeltoutputinput
![Page 74: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/74.jpg)
Wu & Kobbelt using PS
![Page 75: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/75.jpg)
Wu & Kobbelt using PS
• less fragmentation of buffer– processing sequence input / output
– more collapsible edges
• immediate boundary simplification– mesh borders known early
– truly “streaming” output
• faster connectivity reconstruction– indexed input / API support
![Page 76: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/76.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
a
a
a
a
a
a
a
accumulating
c
cc
c
c
c
c
collapsible
![Page 77: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/77.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
c
cc
c
c
c
c
collapsible
a
a
a
a
a
a
a
accumulating
c
![Page 78: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/78.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
c
cc
c
c
c
c
collapsible
a
a
a
a
a
a
a
a
accumulating
c
c
![Page 79: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/79.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
cc
c
c
c
collapsible
a
a
a
a
a
a
a
a
accumulating
c
c
c
![Page 80: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/80.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
cc
c
c
c
collapsible
a
a
a
a
a
a
a
a
accumulating
c
c
c
![Page 81: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/81.jpg)
Wu & Kobbelt using PS (detail)
unprocessedregion
processedregion
inputboundary
outputboundary
in-coretrianglebuffer
cc
c
c
c
collapsible
a
a
a
a
a
a
a
a
accumulating
c
c
![Page 82: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/82.jpg)
Wu & Kobbelt using PSinput output
![Page 83: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/83.jpg)
Wu & Kobbelt using PS
a
c
aaa
a
aaaa
a
a
c
cc
outputinput
![Page 84: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/84.jpg)
Wu & Kobbelt using PS
a
a a aaaa
a
a
aaaaaa
a
a
a
c c
cc
c
cc
c
c
c c c
c
outputinput
![Page 85: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/85.jpg)
Wu & Kobbelt using PS
aa a
a a
a
aa
a
a
a
aa
aa
aaa
a
aaa
a
a
a
aa
c
cc
c
c
c
cc
c
c
c
cc
cc
c
c
cc
ccc
c
c
cc
outputinput
![Page 86: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/86.jpg)
Wu & Kobbelt using PS
aa
a
aaa
a a
aa
a a
aa
a
a
a
a
a
aa aa
a
c
c
c
c c
c
c
c
c
c
c
ccc
ccc
c
c
c
c
c
c
c
c
c
c
c
c
cc
cc
c
c
cc
outputinput
![Page 87: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/87.jpg)
Wu & Kobbelt using PS
a a
a
a
a
aa
a
aa
a
a
a
a
c
c cc
ccc
c
c
c
c
cc
c
c
c
c
cc
cc
c c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
input output
![Page 88: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/88.jpg)
Wu & Kobbelt using PS
aa
a
aa
a
a
a
a
a
aa
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
cc
c
c
c
c
c
c
c
c
c
c
c
c
input output
![Page 89: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/89.jpg)
Wu & Kobbelt using PS
a
a
aa a
a
a a
a
a
aa
c
c
c
c
c
c
c
c
c
c
c
ac
c
c
c
c
c
c
c
c c
c
c
c
c
c
c
input output
![Page 90: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/90.jpg)
Wu & Kobbelt using PS
a
a
a
a
a
a
a
a
ac
a
c
c
c
c
c
c
c
c c
c
c
c
c
a
c
c
c
c
cc
c
cc
cc
c
c
c
c
c
c
input output
![Page 91: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/91.jpg)
Wu & Kobbelt using PS
c c
cc
c
cc
cc
c
cc
cc
c
c
c
input output
![Page 92: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/92.jpg)
Wu & Kobbelt using PSinput output
![Page 93: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/93.jpg)
Conclusion&
Current Work
![Page 94: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/94.jpg)
Summary
• processing sequences– efficient large mesh access
– streaming input and output
– abstractions: • boundary-based• buffer-based
• adapted simplification algorithms:– OOCS
– Wu & Kobbelt
![Page 95: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/95.jpg)
• length of processing boundary– possible
– traversal is optimized for lowest bit-rate change heuristic
Issues
O( n ) [Bar-Yehuda & Gotsman ‘96]
• external memory mesh to createprocessing sequences …?– expensive to build & use
– defeats purpose …
![Page 96: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/96.jpg)
Generating PS
• on-the-fly
• input: “streaming mesh”
v 1.32 0.12 0.23v 1.43 0.23 0.92v 0.91 0.15 0.62f 1 2 3done 2 v 0.72 0.34 0.35f 4 1 3done 1 ⋮ ⋮ ⋮ ⋮
verticesfinalized
(not used bysubsequenttriangles)
![Page 97: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/97.jpg)
• extend to volume meshes
• promote– provide API
• create / improve– lower processing boundary length
Current Work
• compress– encode on-the-fly
![Page 98: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/98.jpg)
Thank You.
![Page 99: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/99.jpg)
![Page 100: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/100.jpg)
![Page 101: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/101.jpg)
v0
v1
v2
fill
Growing Operations
v0 v1
v2
end
v0 v1
v2
start
v0v1
v2
join
add
v0 v1
v2
processingboundary
![Page 102: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/102.jpg)
read nexttriangle
info aboutcurrenttriangle
optionalmaintainingof user data
Prototype of PS API int open(const char* file_name);int read_triangle();void close();
int t_idx[3];float* t_pos_f[3];int t_vflag[3];int t_eflag[3];
void set_edata( void* data, int i );void set_vdata( void* data, int i );void* get_edata( int i );void* get_vdata( int i );
![Page 103: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/103.jpg)
Example (1)
v0 v1
v2
eflag[0] = PS_FIRST eflag[1] = PS_FIRST eflag[2] = PS_FIRST
vflag[0] = PS_FIRSTvflag[1] = PS_FIRSTvflag[2] = PS_FIRST
v0 v1
v2
eflag[0] = PS_FIRST eflag[1] = PS_FIRST | PS_LAST eflag[2] = PS_FIRST | PS_LAST
vflag[0] = PS_FIRSTvflag[1] = PS_FIRST | PS_LASTvflag[2] = PS_FIRST
borderedge
enteringedge
borderedge
e0
e1
e2
start
start
![Page 104: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/104.jpg)
enteringedge
leavingedges
borderedge
enteringedge
leaving edge
v0 v1
v2
add
Example (2)
eflag[0] = PS_LASTeflag[1] = PS_FIRST | PS_LASTeflag[2] = PS_FIRST
vflag[0] = 0vflag[1] = 0vflag[2] = PS_FIRST
eflag[0] = PS_LAST eflag[1] = PS_FIRSTeflag[2] = PS_LAST
vflag[0] = PS_LASTvflag[1] = 0vflag[2] = 0
fill
v0
v1
v2
![Page 105: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/105.jpg)
Example (3)
eflag[0] = PS_LASTeflag[1] = PS_LASTeflag[2] = PS_LAST
vflag[0] = PS_LASTvflag[1] = PS_LASTvflag[2] = PS_LAST
eflag[0] = PS_LAST eflag[1] = PS_LAST eflag[2] = PS_LAST
vflag[0] = PS_LASTvflag[1] = 0vflag[2] = PS_LAST
leaving
edges
v0 v1
v2
v0 v1
v2
end
end
![Page 106: Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.](https://reader038.fdocuments.us/reader038/viewer/2022110207/56649d415503460f94a1c36d/html5/thumbnails/106.jpg)
Computing Smooth Normalsps.open ( “bunny.sma” );while ( ps.read_triangle() ) tmp = compute ( ps.t_pos[0], ps.t_pos[1], ps.t_pos[2] ); for ( i = 0; i < 3; i++ ) if ( ps.vflag[i] & PS_FIRST ) n = new Normal (); ps.set_vdata ( n, i ); else n = ps.get_vdata ( i ); add ( n, tmp ); if ( ps.vflag[i] & PS_LAST ) normalize ( n ); do something delete n;
ps.close ();