Download presentation
Presentation is loading. Please wait.
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
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
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.