Download presentation

Presentation is loading. Please wait.

Published byDestiny Bruce Modified over 2 years ago

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.

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google