Presentation is loading. Please wait.

Presentation is loading. Please wait.

Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on.

Similar presentations


Presentation on theme: "Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on."— Presentation transcript:

1 Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001

2 MotivationMotivation Powerful rasterization hardware n normal maps, … n multi-texturing n pixel shaders n mainstream  Need to associate textures with surface  Need to parametrize surface Powerful rasterization hardware n normal maps, … n multi-texturing n pixel shaders n mainstream  Need to associate textures with surface  Need to parametrize surface

3 Two approaches l Lapped parametrization n overlapping patches n instancing l Lapped parametrization n overlapping patches n instancing l Global parametrization n atlas of charts n distinct domains 2D texture mesh surface

4 Projects in this talk l Lapped parametrization n Lapped textures [SIGGRAPH 2000] n Real-time fur [I3D 2001] n Real-time hatching [SIGGRAPH 2001] l Lapped parametrization n Lapped textures [SIGGRAPH 2000] n Real-time fur [I3D 2001] n Real-time hatching [SIGGRAPH 2001] l Global parametrization n Silhouette clipping [SIGGRAPH 2000] n Texture mapping progressive meshes [SIGGRAPH 2001] with:Emil Praun, Adam Finkelstein (Princeton), Jed Lengyel (Microsoft) with:Emil Praun, Adam Finkelstein (Princeton), Jed Lengyel (Microsoft) with:Pedro Sander, Steven Gortler (Harvard), John Snyder (Microsoft) with:Pedro Sander, Steven Gortler (Harvard), John Snyder (Microsoft)

5 [Sander, Gu, Gortler, Hoppe, Snyder. SIGGRAPH 2000] Silhouette clipping

6 Mesh simplification original mesh + texture/bump map poor silhouette simplified mesh

7 silhouette clipped Silhouette clipping original mesh simplified mesh + texture/bump map

8 silhouette clipped Silhouette clipping original mesh simplified mesh + texture/bump map

9 Texturing the simplified mesh original mesh simplified mesh texture atlas rendered 70K faces500 faces [Soucy et al 96] [Cignoni et al 98]

10 Atlas of triangles mesh (500 faces) (8 x 32 x 2 triangles, 256 x 1024 texels) texture type normal map color map

11 Texture sampling closest-point [Cignoni et al 98] original simplified vertex normals normal-shooting (our technique)

12 Summary: atlas of triangles original mesh simplified mesh texture atlas rendered 70K faces500 faces non-uniform sampling!

13 [Sander, Snyder, Gortler, Hoppe. SIGGRAPH 2001] Texture mapping progressive meshes

14 43,000 faces Progressive mesh representation refinement stream base mesh 43 faces 1,000 2,000  level-of-detail control 43,000

15 ChallengeChallenge l So far, texture atlas defined for single mesh. l What if desire mesh with 1000, 2000 faces? l Store additional texture atlases ?  l So far, texture atlas defined for single mesh. l What if desire mesh with 1000, 2000 faces? l Store additional texture atlases ?  500 faces atlas of 500 triangles

16 SolutionSolution l Construct texture atlas valid for all M 0 …M n. 470 faces 700 faces 1,200 faces 10,000 faces

17 GoalsGoals (1) Minimize texture stretch

18 GoalsGoals (2) Minimize texture deviation (1) Minimize texture stretch (2) Minimize texture deviation (stricter than Hausdorff error) [Cohen et al 98]

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

20 ApproachApproach straight boundaries!

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

22 ApproachApproach

23 ApproachApproach

24 ApproachApproach

25 ApproachApproach

26 ApproachApproach mipmap artifacts!

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

28 ParametrizationParametrization 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 length-preserving (isometric) γ = Γ = 1 length-preserving (isometric) γ = Γ = 1 2D texture domain surface in 3D linear map TT singular values: γ, Γ

29 Stretch-minimizing parametrization 2D texture domain surface in 3D linear map TT singular values: γ, Γ L 2 (M) =  T (L 2 (T)) 2 A(T) L ∞ (M) = max T L ∞ (T) L 2 (T) = ½√ γ 2 + Γ 2 L ∞ (T) = Γ high stretch!

30 Stretch-minimizing parametrization Floater parametrization (≈ harmonic map) L 2 = 2.26 L  = 9.86 L 2 stretch minimization L 2 = 1.22 L  = 2.13

31 Example of stretch minimization ignoring stretch minimizing stretch

32 DemoDemo l bunny l horse l parasaur l bunny l horse l parasaur

33 Summary: global parametrization l Good for normal maps l Large texture l Resampling artifacts l Good for normal maps l Large texture l Resampling artifacts atlas of triangles atlas of charts

34 [Praun, Finkelstein, Hoppe. SIGGRAPH 2000] Lapped textures

35 ExampleExample “example” image textured surface mesh geometry ?

36 ApproachApproach texture patch surface

37 Key idea: patch pasting texture patch surfacesurface “lapped textures”

38 Texture patch creation

39 Less structure  splotch

40 Direction field: user-specified

41 Patch growth

42

43

44

45

46

47

48 Improve alignment to direction field texture patch surface

49 Tangential vector field TTSS

50 Optimizing the parametrization TT SS BB CC AA (T)(T)(T)(T) (T)(T)(T)(T) (S)(S)(S)(S) (S)(S)(S)(S) (A)(A)(A)(A) (A)(A)(A)(A) (B)(B)(B)(B) (B)(B)(B)(B) (C)(C)(C)(C) (C)(C)(C)(C)  face in 3D 2D texture space

51 Optimizing the parametrization Sparse linear least squares problem  fast solution Sparse linear least squares problem  fast solution

52 Result of optimization

53 Texture storage and rendering l Traditional approach: Global texture atlas n Pre-composite into a texture map. -- OR -- l Novel approach: Runtime pasting n Composite at runtime using hardware. l Traditional approach: Global texture atlas n Pre-composite into a texture map. -- OR -- l Novel approach: Runtime pasting n Composite at runtime using hardware.

54 Traditional: Global texture atlas

55 Novel: Runtime pasting l Store vertex parametrizations for each patch l Composite at run-time using hardware (triangles may be rendered several times) l Store vertex parametrizations for each patch l Composite at run-time using hardware (triangles may be rendered several times)

56 Pros & Cons Global atlasGlobal atlas + Faster rendering, more portable + Easy to paint unique details (eyes, nose) – Sampling artifacts Runtime pastingRuntime pasting – Increases model complexity (  1.6 –3) + Huge effective resolution + Reuse parametrization for many textures Global atlasGlobal atlas + Faster rendering, more portable + Easy to paint unique details (eyes, nose) – Sampling artifacts Runtime pastingRuntime pasting – Increases model complexity (  1.6 –3) + Huge effective resolution + Reuse parametrization for many textures

57 DemosDemos l bunny (& paint) l parasaur l holes3 l stonebunny l bunny (& paint) l parasaur l holes3 l stonebunny

58 Results: splotches (completely automatic: no direction field)

59 Results: anisotropic

60 25 frames per sec! 256 x 256 texture (282 times) 256 x 256 texture (282 times) 15,000 faces

61 Controlling direction and scale

62 LimitationsLimitations low-frequencycomponentsboundarymismatches direction field singularities

63 ExtensionsExtensions

64 [Lengyel, Praun, Finkelstein, Hoppe. I3D 2001] Real-time fur on arbitrary surfaces volumetric lapped texture

65 MotivationMotivation

66 Previous work: geometric hair l Lines  interactive for sparse fur l Challenge: aliasing l Lines  interactive for sparse fur l Challenge: aliasing [Van Gelder, Wilhelms ’97]

67 Shell textures [Lengyel ’00]

68 Shell textures l Problem: required texture memory is huge! l Solution: use lapped texture for each shell. l Problem: required texture memory is huge! l Solution: use lapped texture for each shell. opaque skin transparent shells composite

69 Generating the textures 1.Geometric model – Seed surface with “curl” starting points. – Grow as particle system. 1.Geometric model – Seed surface with “curl” starting points. – Grow as particle system.

70 Generating the textures – Interpolate to generate more seed points. – Ignore hair-to-hair collision. – Interpolate to generate more seed points. – Ignore hair-to-hair collision.

71 Generating the textures 2. Sample volume Keep: – color – opacity – ( normal) 2. Sample volume Keep: – color – opacity – ( normal)

72 Generating the textures Using different particle parameters, wide range of fur possible.

73 Poor silhouette

74 Solution: fins

75 Fin rendering l Fade based on viewing angle

76 Fur results ~20 fps

77 [Praun, Hoppe, Webb, Finkelstein. SIGGRAPH 2001] Real-time hatching 1-D (tonal) array of textures help convey shape!

78 OverviewOverview - Real-time rendering - Strokes with temporal & spatial coherence - Real-time rendering - Strokes with temporal & spatial coherence Challenges:Challenges: Solution:Solution: - Exploit hardware multi-texturing - Coherence: n tonal art maps (TAMs) n 6-way blend on each triangle - Exploit hardware multi-texturing - Coherence: n tonal art maps (TAMs) n 6-way blend on each triangle

79 Tonal art map l Mip-mapped texture images l Stroke nesting property l Mip-mapped texture images l Stroke nesting property  tone   scale 

80  tone   tone  v1v1v1v1 v2v2v2v2 v3v3v3v3 6-way blend  final Multitexture blending

81 Lapped parametrization texture patch surfacesurface

82 Direction field l Based on surface principal curvatures l Optimized to be smooth n [Hertzmann & Zorin 2000] n Symmetry: 180º instead of 90º l Based on surface principal curvatures l Optimized to be smooth n [Hertzmann & Zorin 2000] n Symmetry: 180º instead of 90º

83 ResultResult (30 fps)

84 ResultResult

85 ResultResult

86 Summary: lapped parametrizations l Instancing  reduce memory  permits volume textures & 1D functions l Avoids resampling artifacts l Instancing  reduce memory  permits volume textures & 1D functions l Avoids resampling artifacts 256 x 256 texels 256 x 256 x 16 256 x 256 x 6

87 Overall summary l Lapped parametrization n overlapping patches n patches share data l Lapped parametrization n overlapping patches n patches share data l Global parametrization n atlas of charts n all charts unique

88

89 Parametrization Notes l Scale control given by ||T||, ||S|| l Solution unique up to a translation l No explicit fairness term l No “flipped triangle” ambiguity l Patch may require further growth l Scale control given by ||T||, ||S|| l Solution unique up to a translation l No explicit fairness term l No “flipped triangle” ambiguity l Patch may require further growth

90 Fin Texture l Single fin texture l Interval region for each edge. l Single fin texture l Interval region for each edge. edge2edge1


Download ppt "Surface Parametrizations Hugues Hoppe Microsoft Research IMA Workshop on Computer Graphics May 18, 2001 Hugues Hoppe Microsoft Research IMA Workshop on."

Similar presentations


Ads by Google