Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

17
Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang

Transcript of Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Page 1: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture Mapping by Model Pelting and Blending

Deva Ramanan

Hao Zhang

Page 2: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture mapping• Improve surface appearance

– Versatile: image map, displacement map, reflection map …

– Relative small amount of computation

(from Pixar shutterbug image series)

Page 3: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture mapping (contd.)• Requires “good” parameterization

– Minimize distortion– Appears to be seamless

Page 4: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Subdivision surfaces

• One single mesh for any topology– Multiple NURBS patches

– Maintain smoothness (static and animated)

• (u,v)-parameterization – Tensor product B-Spline patches

– Shapes of arbitrary topology

• Cf. “Character animation” (SS98)(SS98)

Page 5: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture mapping on subdivision surfaces

• 3D Solid Textures

• Multiple local textures– Blend overlapping regions at the seam

• Goals (again):– Minimize distortion– Seam blending

http://graphics.eecs.wsu.edu/apst/

Page 6: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture coordinates

• Linear interpolation [Stam98]– texture coords as local (u,v) parameterization– yields C1 interior and C0 cross-boundary

• Catmull-Clark on scalar field– position (x,y,z) position+texture (x,y,z,s,t)– subdivide in 5D– yields C2 interior and C1 on extra-ordinary

points– needs texture coordinates on M0

(SS98)

Page 7: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Texture mapping analogy: The pelt

• Initial control mesh ~ rubber sheet– Stretch mesh to form a pelt– Paint texture on the pelt

Page 8: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Pelting: The Cut

• Cut: User specified connected tree of edges

Page 9: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Pelting: Implementation

• Approximate rubber sheet by a spring-mass system

• Distortion measure:– Elastic energy– Scale invariance

Ee e

ee

L

lLE

2)(

ee

ee

e

ee

e

ee

e

ee

e

ee

e

ee

e

eeee

EL

lL

L

lL

L

lL

L

lL

L

lL

L

lL

L

lLE

222

22

2

222

1

211

21

)()()(

)()()()(

21 eee

Page 10: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Simulate a spring-mass system

• System evolves so as to minimize energy

Page 11: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Blending Texture: Approach• Split M0 into 2 overlapping regions:

-Uo: Pelt Region

-U1: Patch Region

• Use blend functions b0() & b1() along overlapping regions

Page 12: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Example Patch

C0 + C1 + C2 + C3= patch region

Page 13: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Review: Domain of Control

• 2D Cubic B Splines:

• Catmull/Clark surfaces:

P

PA B C D

Page 14: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Blend Function• Pelt, Patch, and Overlapping Regions

surrounding the Cut

• b1= cubic B-spline

• b0 = 1 - b1

C0 C1 C2 C3 C4

Page 15: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Results: Cool Pictures!

Page 16: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Evaluation• Pelting:

– Novel 3D Spring Mass implementation eliminates “buckling” [Maillot et al 93]

• Seam blending:– Painted textures

• Weaknesses:– Tiled/tesselated pattern– low polygon count meshes

Page 17: Texture Mapping by Model Pelting and Blending Deva Ramanan Hao Zhang.

Conclusion

• Ultimate goal:– Minimum distortion– texture coordinate control

http://www.tfe.umu.se/courses/systemteknik/Multimed2/