Texture-Mapping Texture-Mapping Progressive Meshes Progressive Meshes Pedro V. Pedro V. Sander Sander Steven J. Steven J. Gortler Gortler John Snyder John Snyder Hugues Hoppe Hugues Hoppe SIGGRAPH 2001 SIGGRAPH 2001 Harvard University Harvard University Microsoft Research Microsoft Research
53
Embed
Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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
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
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
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
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
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
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
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
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
Parametrization exampleParametrization exampleParametrization exampleParametrization example
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).
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.
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.
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.
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.