texture-mapping progressive meshes pedro v. sander steven j. gortler john snyder hugues hoppe...
TRANSCRIPT
![Page 1: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/1.jpg)
Texture-MappingTexture-MappingProgressive MeshesProgressive Meshes
Texture-MappingTexture-MappingProgressive MeshesProgressive Meshes
Pedro V. SanderPedro V. SanderSteven J. GortlerSteven J. GortlerPedro V. SanderPedro V. SanderSteven J. GortlerSteven J. Gortler
John SnyderJohn SnyderHugues HoppeHugues Hoppe
John SnyderJohn SnyderHugues HoppeHugues Hoppe
SIGGRAPH 2001SIGGRAPH 2001
Harvard UniversityHarvard UniversityHarvard UniversityHarvard University Microsoft ResearchMicrosoft ResearchMicrosoft ResearchMicrosoft Research
![Page 2: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/2.jpg)
Texture-MappingTexture-MappingProgressive MeshesProgressive Meshes
Texture-MappingTexture-MappingProgressive MeshesProgressive Meshes
Pedro V. SanderPedro V. SanderSteven J. GortlerSteven J. GortlerPedro V. SanderPedro V. SanderSteven J. GortlerSteven J. Gortler
John SnyderJohn SnyderHugues HoppeHugues Hoppe
John SnyderJohn SnyderHugues HoppeHugues Hoppe
SIGGRAPH 2001SIGGRAPH 2001
Harvard UniversityHarvard UniversityHarvard UniversityHarvard University Microsoft ResearchMicrosoft ResearchMicrosoft ResearchMicrosoft Research
![Page 3: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/3.jpg)
progressive meshprogressive meshprogressive meshprogressive mesh
69,00069,000facesfaces
15,00015,000facesfaces
600600facesfaces
![Page 4: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/4.jpg)
progressive meshprogressive meshprogressive meshprogressive mesh600600
facesfaces
simplified mesh + normal mapsimplified mesh + normal mapConveys detail of original geometryConveys detail of original geometry
simplified mesh + normal mapsimplified mesh + normal mapConveys detail of original geometryConveys detail of original geometry
69,00069,000facesfaces
15,00015,000facesfaces
600600facesfaces
![Page 5: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/5.jpg)
““Texture mapping”Texture mapping”““Texture mapping”Texture mapping”
Authoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surface
![Page 6: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/6.jpg)
““Texture mapping”Texture mapping”““Texture mapping”Texture mapping”
Authoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surfaceAuthoring: map a texture image onto a surface
Our problem: sample an existing surface signalOur problem: sample an existing surface signalOur problem: sample an existing surface signalOur problem: sample an existing surface signal
![Page 7: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/7.jpg)
Our problemOur problemOur problemOur problem
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
demodemodemodemo
![Page 8: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/8.jpg)
Our problemOur problemOur problemOur problem
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
![Page 9: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/9.jpg)
Simple approach: chart-per-faceSimple approach: chart-per-faceSimple approach: chart-per-faceSimple approach: chart-per-face
Define texture for Define texture for single-LODsingle-LOD mesh. mesh.
Cannot use texture for any simpler mesh!Cannot use texture for any simpler mesh!
Define texture for Define texture for single-LODsingle-LOD mesh. mesh.
Cannot use texture for any simpler mesh!Cannot use texture for any simpler mesh!
500 faces500 faces atlas of 500 trianglesatlas of 500 triangles
[Soucy 96, Cignoni 98, Sander 00][Soucy 96, Cignoni 98, Sander 00]
![Page 10: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/10.jpg)
Our approach: multi-face chartsOur approach: multi-face chartsOur approach: multi-face chartsOur approach: multi-face charts
Partition mesh into charts.Partition mesh into charts.
Simplify respecting chart topology. Simplify respecting chart topology. [Cohen 98][Cohen 98]
Same texture still applicable.Same texture still applicable.
Partition mesh into charts.Partition mesh into charts.
Simplify respecting chart topology. Simplify respecting chart topology. [Cohen 98][Cohen 98]
Same texture still applicable.Same texture still applicable.
![Page 11: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/11.jpg)
Chart constraint 1:Chart constraint 1:Faces cannot span chart boundariesFaces cannot span chart boundaries
Chart constraint 1:Chart constraint 1:Faces cannot span chart boundariesFaces cannot span chart boundaries
![Page 12: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/12.jpg)
Chart constraint 2:Chart constraint 2:Texture boundaries must be straightTexture boundaries must be straight
Chart constraint 2:Chart constraint 2:Texture boundaries must be straightTexture boundaries must be straight
coarse meshcoarse meshcoarse meshcoarse mesh
fine meshfine meshfine meshfine mesh
texture maptexture maptexture maptexture map
![Page 13: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/13.jpg)
Our problemOur problemOur problemOur problem
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
Sample the surface signal into a texture:Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …)(e.g. normal, displacement, BRDF, …)
Goals:Goals:
single texture for entire PM sequencesingle texture for entire PM sequence
quality metricsquality metrics minimize appearance changes over PMminimize appearance changes over PM efficiently distribute the texture samplesefficiently distribute the texture samples
![Page 14: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/14.jpg)
Parametrization quality metricsParametrization quality metricsParametrization quality metricsParametrization quality metrics(1) Minimize (1) Minimize texture deviationtexture deviation(1) Minimize (1) Minimize texture deviationtexture deviation
(stricter than geometric error)(stricter than geometric error) [Cohen et al 98][Cohen et al 98]
demodemodemodemo
![Page 15: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/15.jpg)
Parametrization quality metricsParametrization quality metricsParametrization quality metricsParametrization quality metrics(2) Minimize (2) Minimize texture stretchtexture stretch(2) Minimize (2) Minimize texture stretchtexture stretch
high stretch high stretch low stretch low stretch 2D texture2D texture
undersamplingundersampling
![Page 16: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/16.jpg)
Parametrization quality metricsParametrization quality metricsParametrization quality metricsParametrization quality metrics(2) Minimize (2) Minimize texture stretchtexture stretch(2) Minimize (2) Minimize texture stretchtexture stretch
high stretch high stretch low stretch low stretch
blurringblurring
![Page 17: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/17.jpg)
Contributions: Texture mapping PM’sContributions: Texture mapping PM’sContributions: Texture mapping PM’sContributions: Texture mapping PM’s
Chartification algorithmChartification algorithm (considers simplification quality)(considers simplification quality)
Texture stretch metricTexture stretch metric (penalizes undersampling)(penalizes undersampling)
Parametrization algorithm Parametrization algorithm (minimizes stretch)(minimizes stretch)
PM optimizationPM optimization
Chartification algorithmChartification algorithm (considers simplification quality)(considers simplification quality)
Texture stretch metricTexture stretch metric (penalizes undersampling)(penalizes undersampling)
Parametrization algorithm Parametrization algorithm (minimizes stretch)(minimizes stretch)
PM optimizationPM optimization
470 faces470 faces 700 faces700 faces 1,200 faces1,200 faces 10,000 faces10,000 faces
![Page 18: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/18.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 19: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/19.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 20: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/20.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 21: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/21.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 22: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/22.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 23: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/23.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 24: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/24.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 25: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/25.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 26: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/26.jpg)
ApproachApproachApproachApproach
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 27: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/27.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 28: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/28.jpg)
Partition: chart mergingPartition: chart mergingPartition: chart mergingPartition: chart merging
Assign each face to its own region.Assign each face to its own region. Merge regions in greedy fashion based on Merge regions in greedy fashion based on
planarityplanarity distancedistance22 to best-fitting plane to best-fitting plane compactnesscompactness perimeter lengthperimeter length22
Preserves mesh connectivity.Preserves mesh connectivity.
[Maillot 93], [Eck 95], [Lee 98], [Garland 01][Maillot 93], [Eck 95], [Lee 98], [Garland 01]
Assign each face to its own region.Assign each face to its own region. Merge regions in greedy fashion based on Merge regions in greedy fashion based on
planarityplanarity distancedistance22 to best-fitting plane to best-fitting plane compactnesscompactness perimeter lengthperimeter length22
Preserves mesh connectivity.Preserves mesh connectivity.
[Maillot 93], [Eck 95], [Lee 98], [Garland 01][Maillot 93], [Eck 95], [Lee 98], [Garland 01]
![Page 29: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/29.jpg)
Partition: boundary straighteningPartition: boundary straighteningPartition: boundary straighteningPartition: boundary straightening
Improves parametrizationImproves parametrization (boundary will be straight in texture domain)(boundary will be straight in texture domain)
Improves parametrizationImproves parametrization (boundary will be straight in texture domain)(boundary will be straight in texture domain)
![Page 30: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/30.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 31: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/31.jpg)
ParametrizationParametrizationParametrizationParametrization
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear map
singular values: singular values: γγ , , ΓΓ
![Page 32: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/32.jpg)
ParametrizationParametrizationParametrizationParametrization
length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1 angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1
length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1 angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear mapTTTT
singular values: singular values: γγ , , ΓΓ
![Page 33: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/33.jpg)
Stretch-minimizingStretch-minimizing parametrization parametrizationStretch-minimizingStretch-minimizing parametrization parametrization
2D texture domain2D texture domain surface in 3Dsurface in 3D
linear maplinear mapTTTT
singular values: singular values: γγ , , ΓΓ
LL∞∞(T) = (T) = ΓΓ
LL22(T) = √((T) = √(γγ22 + + ΓΓ22)/2)/2
LL∞∞(M) = max(M) = maxTT L L∞∞(T)(T)
LL22(M) = √ (M) = √ TT (L (L22(T))(T))22 A(T) A(T)
![Page 34: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/34.jpg)
Stretch-minimization algorithmStretch-minimization algorithmStretch-minimization algorithmStretch-minimization algorithm
Start with uniform parametrization.Start with uniform parametrization. Perform several optimization iterations:Perform several optimization iterations:
for each vertex, try random line searches.for each vertex, try random line searches.
Start with uniform parametrization.Start with uniform parametrization. Perform several optimization iterations:Perform several optimization iterations:
for each vertex, try random line searches.for each vertex, try random line searches.
demodemodemodemo
![Page 35: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/35.jpg)
Parametrization exampleParametrization exampleParametrization exampleParametrization example
![Page 36: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/36.jpg)
Conformal Conformal parametrizationparametrization
((≈ MIPS, Floater)≈ MIPS, Floater)
L2 = 2.28 L = 10.07
LL22 stretch stretch minimizationminimization
L2 = 1.22 L = 2.13
ComparisonComparisonComparisonComparison
![Page 37: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/37.jpg)
ComparisonComparisonComparisonComparison
Uniform Uniform parametrizationparametrization
L2 = 2.60 L = 12.52
LL22 stretch stretch minimizationminimization
L2 = 1.22 L = 2.13
![Page 38: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/38.jpg)
Area-preserving Area-preserving parametrizationparametrization
L2 = 1.57 L = 4.19
LL22 stretch stretch minimizationminimization
L2 = 1.22 L = 2.13
ComparisonComparisonComparisonComparison
![Page 39: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/39.jpg)
Example of stretch minimizationExample of stretch minimizationExample of stretch minimizationExample of stretch minimization
ignoring stretchignoring stretch minimizing stretchminimizing stretch
demodemodemodemo
![Page 40: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/40.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
Half-edge collapsesHalf-edge collapses ordered by deviation ordered by deviation
Constrained simplificationConstrained simplification
Half-edge collapsesHalf-edge collapses ordered by deviation ordered by deviation
Constrained simplificationConstrained simplification
![Page 41: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/41.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 42: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/42.jpg)
Parametrization optimizationParametrization optimizationParametrization optimizationParametrization optimization
Min Min ∑∑M in PMM in PM stretch(M) + deviation(M) stretch(M) + deviation(M)
Improves deviation over entire range.Improves deviation over entire range.
Improves stretch at coarser LOD’sImproves stretch at coarser LOD’s(stretch was ignored during simplification).(stretch was ignored during simplification).
Min Min ∑∑M in PMM in PM stretch(M) + deviation(M) stretch(M) + deviation(M)
Improves deviation over entire range.Improves deviation over entire range.
Improves stretch at coarser LOD’sImproves stretch at coarser LOD’s(stretch was ignored during simplification).(stretch was ignored during simplification).
![Page 43: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/43.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
![Page 44: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/44.jpg)
Pack chart polygonsPack chart polygonsPack chart polygonsPack chart polygons
NP-Hard problem.NP-Hard problem. We designed a heuristic.We designed a heuristic.
NP-Hard problem.NP-Hard problem. We designed a heuristic.We designed a heuristic.
![Page 45: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/45.jpg)
Packing HeuristicPacking HeuristicPacking HeuristicPacking Heuristic
Calculate the minimum bounding rectangle.Calculate the minimum bounding rectangle.
Rotate chart to make rectangle vertical.Rotate chart to make rectangle vertical.
Calculate the minimum bounding rectangle.Calculate the minimum bounding rectangle.
Rotate chart to make rectangle vertical.Rotate chart to make rectangle vertical.
![Page 46: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/46.jpg)
Chart placementChart placementChart placementChart placement Sort chart rectangles by height.Sort chart rectangles by height. Sequentially place left-to-right and right-to-left. Sequentially place left-to-right and right-to-left.
Sort chart rectangles by height.Sort chart rectangles by height. Sequentially place left-to-right and right-to-left. Sequentially place left-to-right and right-to-left.
~[Igarashi 01]~[Igarashi 01]~[Igarashi 01]~[Igarashi 01]
![Page 47: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/47.jpg)
Approach: DetailsApproach: DetailsApproach: DetailsApproach: Details
(1) partition original mesh into charts(1) partition original mesh into charts(2) parametrize charts(2) parametrize charts(3) resize chart polygons(3) resize chart polygons(4) simplify mesh(4) simplify mesh(5) optimize parametrization(5) optimize parametrization(6) pack chart polygons(6) pack chart polygons(7) sample texture images(7) sample texture images
mipmap artifacts!mipmap artifacts!mipmap artifacts!mipmap artifacts!
![Page 48: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/48.jpg)
ResultsResults(Measurements)(Measurements)
ResultsResults(Measurements)(Measurements)
Scale charts to meet low-stretch requirement.Scale charts to meet low-stretch requirement.
Stretch efficiencyStretch efficiency3D surface area / 2D chart area3D surface area / 2D chart area
Packing efficiencyPacking efficiency2D chart area / texture domain area2D chart area / texture domain area
Texture efficiencyTexture efficiencystretch efficiency * packing efficiencystretch efficiency * packing efficiency3D area / texture domain area3D area / texture domain area
Scale charts to meet low-stretch requirement.Scale charts to meet low-stretch requirement.
Stretch efficiencyStretch efficiency3D surface area / 2D chart area3D surface area / 2D chart area
Packing efficiencyPacking efficiency2D chart area / texture domain area2D chart area / texture domain area
Texture efficiencyTexture efficiencystretch efficiency * packing efficiencystretch efficiency * packing efficiency3D area / texture domain area3D area / texture domain area
////
////
////
![Page 49: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/49.jpg)
ResultsResultsResultsResults
Efficiencies on fine meshes:Efficiencies on fine meshes:Efficiencies on fine meshes:Efficiencies on fine meshes:
Models bunny parasaur horse hand
# faces in Mn 69,630 43,866 96,956 60,856
# charts 75 75 120 60
uniform param. stretch efficiency
0.63 0.003 0.61 0.11
our stretch efficiency 0.84 0.63 0.80 0.68
packing efficiency 0.67 0.63 0.70 0.62
texture efficiency 0.56 0.40 0.56 0.42
![Page 50: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/50.jpg)
Results across PMResults across PMResults across PMResults across PM
0
10
20
30
40
50
60
70
80
100 1000 10000 100000
number of facesst
retc
h er
ror
01
23
45
67
89
100 1000 10000 100000
number of faces
devi
atio
n er
ror
uniform uniform
min-stretchmin-stretch
min-stretch+optimmin-stretch+optim
demodemodemodemo
stretchstretchstretchstretchdeviationdeviationdeviationdeviation
![Page 51: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/51.jpg)
DemosDemosDemosDemos
demodemodemodemo demodemodemodemo
![Page 52: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/52.jpg)
SummarySummarySummarySummary
Automatic PM parametrization scheme.Automatic PM parametrization scheme.
Optimizes both deviation and stretch.Optimizes both deviation and stretch.
Novel stretch metric prevents undersampling Novel stretch metric prevents undersampling at all locations and in all directions.at all locations and in all directions.
Robust parametrization algorithm.Robust parametrization algorithm.
Automatic PM parametrization scheme.Automatic PM parametrization scheme.
Optimizes both deviation and stretch.Optimizes both deviation and stretch.
Novel stretch metric prevents undersampling Novel stretch metric prevents undersampling at all locations and in all directions.at all locations and in all directions.
Robust parametrization algorithm.Robust parametrization algorithm.
![Page 53: Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research](https://reader035.vdocuments.mx/reader035/viewer/2022062417/55147691550346b2598b45a4/html5/thumbnails/53.jpg)
Future workFuture workFuture workFuture work
Use hierarchical parametrization.Use hierarchical parametrization.
Constrain anisotropy.Constrain anisotropy.
Consider content of texture signal.Consider content of texture signal.
Address mip-mapping problems.Address mip-mapping problems.
Use hierarchical parametrization.Use hierarchical parametrization.
Constrain anisotropy.Constrain anisotropy.
Consider content of texture signal.Consider content of texture signal.
Address mip-mapping problems.Address mip-mapping problems.