Presentation is loading. Please wait.

Presentation is loading. Please wait.

Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research.

Similar presentations


Presentation on theme: "Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research."— Presentation transcript:

1 Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research

2 Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research

3 progressive mesh 69,000 faces 15,000 faces 600 faces

4 progressive mesh 600 faces simplified mesh + normal map Conveys detail of original geometry 69,000 faces 15,000 faces 600 faces

5 Texture mapping Authoring: map a texture image onto a surface

6 Texture mapping Authoring: map a texture image onto a surface Our problem: sample an existing surface signal

7 Our problem Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples demo

8 Our problem Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples

9 Simple approach: chart-per-face l Define texture for single-LOD mesh. l Cannot use texture for any simpler mesh! l Define texture for single-LOD mesh. l Cannot use texture for any simpler mesh! 500 faces atlas of 500 triangles [Soucy 96, Cignoni 98, Sander 00]

10 Our approach: multi-face charts l Partition mesh into charts. l Simplify respecting chart topology. [Cohen 98] l Same texture still applicable. l Partition mesh into charts. l Simplify respecting chart topology. [Cohen 98] l Same texture still applicable.

11 Chart constraint 1: Faces cannot span chart boundaries

12 Chart constraint 2: Texture boundaries must be straight coarse mesh fine mesh texture map

13 Our problem Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples Sample the surface signal into a texture: (e.g. normal, displacement, BRDF, …) Goals: l single texture for entire PM sequence l quality metrics n minimize appearance changes over PM n efficiently distribute the texture samples

14 Parametrization quality metrics (1) Minimize texture deviation (stricter than geometric error) [Cohen et al 98] demo

15 Parametrization quality metrics (2) Minimize texture stretch high stretch high stretch low stretch low stretch 2D texture undersampling

16 Parametrization quality metrics (2) Minimize texture stretch high stretch high stretch low stretch low stretch blurring

17 Contributions: Texture mapping PMs l Chartification algorithm (considers simplification quality) l Texture stretch metric (penalizes undersampling) l Parametrization algorithm (minimizes stretch) l PM optimization l Chartification algorithm (considers simplification quality) l Texture stretch metric (penalizes undersampling) l Parametrization algorithm (minimizes stretch) l PM optimization 470 faces 700 faces 1,200 faces 10,000 faces

18 ApproachApproach (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

19 ApproachApproach

20 ApproachApproach

21 ApproachApproach

22 ApproachApproach

23 ApproachApproach

24 ApproachApproach

25 ApproachApproach

26 ApproachApproach

27 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

28 Partition: chart merging l Assign each face to its own region. l Merge regions in greedy fashion based on n planarity distance 2 to best-fitting plane n compactness perimeter length 2 l Preserves mesh connectivity. [Maillot 93], [Eck 95], [Lee 98], [Garland 01] l Assign each face to its own region. l Merge regions in greedy fashion based on n planarity distance 2 to best-fitting plane n compactness perimeter length 2 l Preserves mesh connectivity. [Maillot 93], [Eck 95], [Lee 98], [Garland 01]

29 Partition: boundary straightening l Improves parametrization (boundary will be straight in texture domain)

30 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

31 ParametrizationParametrization 2D texture domain surface in 3D linear map singular values: γ, Γ

32 ParametrizationParametrization length-preserving (isometric) γ = Γ = 1 length-preserving (isometric) γ = Γ = 1 angle-preserving (conformal) γ = Γ angle-preserving (conformal) γ = Γ area-preserving γ Γ = 1 area-preserving γ Γ = 1 length-preserving (isometric) γ = Γ = 1 length-preserving (isometric) γ = Γ = 1 angle-preserving (conformal) γ = Γ angle-preserving (conformal) γ = Γ area-preserving γ Γ = 1 area-preserving γ Γ = 1 2D texture domain surface in 3D linear map TT singular values: γ, Γ

33 Stretch-minimizing parametrization 2D texture domain surface in 3D linear map TT singular values: γ, Γ L (T) = Γ L 2 (T) = (γ 2 + Γ 2 )/2 L (M) = max T L (T) L 2 (M) = T (L 2 (T)) 2 A(T)

34 Stretch-minimization algorithm l Start with uniform parametrization. l Perform several optimization iterations: n for each vertex, try random line searches. l Start with uniform parametrization. l Perform several optimization iterations: n for each vertex, try random line searches. demo

35 Parametrization example

36 Conformal parametrization ( MIPS, Floater) ( MIPS, Floater) L 2 = 2.28 L = L 2 stretch minimization L 2 = 1.22 L = 2.13 ComparisonComparison

37 ComparisonComparison Uniform parametrization L 2 = 2.60 L = L 2 stretch minimization L 2 = 1.22 L = 2.13

38 Area-preserving parametrization L 2 = 1.57 L = 4.19 L 2 stretch minimization L 2 = 1.22 L = 2.13 ComparisonComparison

39 Example of stretch minimization ignoring stretch minimizing stretch demo

40 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images l Half-edge collapses ordered by deviation l Constrained simplification l Half-edge collapses ordered by deviation l Constrained simplification

41 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

42 Parametrization optimization l Min M in PM stretch(M) + deviation(M) l Improves deviation over entire range. l Improves stretch at coarser LODs (stretch was ignored during simplification). l Min M in PM stretch(M) + deviation(M) l Improves deviation over entire range. l Improves stretch at coarser LODs (stretch was ignored during simplification).

43 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images

44 Pack chart polygons l NP-Hard problem. l We designed a heuristic. l NP-Hard problem. l We designed a heuristic.

45 Packing Heuristic l Calculate the minimum bounding rectangle. l Rotate chart to make rectangle vertical. l Calculate the minimum bounding rectangle. l Rotate chart to make rectangle vertical.

46 Chart placement l Sort chart rectangles by height. l Sequentially place left-to-right and right-to-left. l Sort chart rectangles by height. l Sequentially place left-to-right and right-to-left. ~[Igarashi 01]

47 Approach: Details (1) partition original mesh into charts (2) parametrize charts (3) resize chart polygons (4) simplify mesh (5) optimize parametrization (6) pack chart polygons (7) sample texture images mipmap artifacts!

48 Results (Measurements) l Scale charts to meet low-stretch requirement. l Stretch efficiency 3D surface area / 2D chart area l Packing efficiency 2D chart area / texture domain area l Texture efficiency stretch efficiency * packing efficiency 3D area / texture domain area l Scale charts to meet low-stretch requirement. l Stretch efficiency 3D surface area / 2D chart area l Packing efficiency 2D chart area / texture domain area l Texture efficiency stretch efficiency * packing efficiency 3D area / texture domain area // // //

49 ResultsResults Efficiencies on fine meshes: Modelsbunnyparasaurhorsehand # faces in M n 69,63043,86696,95660,856 # charts uniform param. stretch efficiency our stretch efficiency packing efficiency texture efficiency

50 Results across PM uniformmin-stretchmin-stretch+optim demo stretchstretchdeviationdeviation

51 DemosDemos

52 SummarySummary l Automatic PM parametrization scheme. l Optimizes both deviation and stretch. l Novel stretch metric prevents undersampling at all locations and in all directions. l Robust parametrization algorithm. l Automatic PM parametrization scheme. l Optimizes both deviation and stretch. l Novel stretch metric prevents undersampling at all locations and in all directions. l Robust parametrization algorithm.

53 Future work l Use hierarchical parametrization. l Constrain anisotropy. l Consider content of texture signal. l Address mip-mapping problems. l Use hierarchical parametrization. l Constrain anisotropy. l Consider content of texture signal. l Address mip-mapping problems.


Download ppt "Texture-Mapping Progressive Meshes Pedro V. Sander Steven J. Gortler John Snyder Hugues Hoppe SIGGRAPH 2001 Harvard University Microsoft Research."

Similar presentations


Ads by Google