surface parametrizations hugues hoppe microsoft research ima workshop on computer graphics may 18,...

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

Post on 20-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Surface ParametrizationsSurface ParametrizationsSurface ParametrizationsSurface Parametrizations

Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research

IMA Workshop on Computer GraphicsIMA Workshop on Computer GraphicsMay 18, 2001May 18, 2001

Hugues HoppeHugues HoppeMicrosoft ResearchMicrosoft Research

IMA Workshop on Computer GraphicsIMA Workshop on Computer GraphicsMay 18, 2001May 18, 2001

MotivationMotivationMotivationMotivation

Powerful rasterization hardwarePowerful rasterization hardware normal maps, …normal maps, … multi-texturingmulti-texturing pixel shaderspixel shaders mainstreammainstream

Need to associate textures with surfaceNeed to associate textures with surface

Need to parametrize surfaceNeed to parametrize surface

Powerful rasterization hardwarePowerful rasterization hardware normal maps, …normal maps, … multi-texturingmulti-texturing pixel shaderspixel shaders mainstreammainstream

Need to associate textures with surfaceNeed to associate textures with surface

Need to parametrize surfaceNeed to parametrize surface

Two approachesTwo approachesTwo approachesTwo approaches

Lapped parametrizationLapped parametrization overlapping patchesoverlapping patches instancinginstancing

Lapped parametrizationLapped parametrization overlapping patchesoverlapping patches instancinginstancing

Global parametrizationGlobal parametrization atlas of chartsatlas of charts distinct domainsdistinct domains

Global parametrizationGlobal parametrization atlas of chartsatlas of charts distinct domainsdistinct domains

2D texture2D texturemesh surfacemesh surface

Projects in this talkProjects in this talkProjects in this talkProjects in this talk

Lapped parametrizationLapped parametrization Lapped texturesLapped textures

[SIGGRAPH 2000][SIGGRAPH 2000]

Real-time furReal-time fur[I3D 2001][I3D 2001]

Real-time hatchingReal-time hatching[SIGGRAPH 2001][SIGGRAPH 2001]

Lapped parametrizationLapped parametrization Lapped texturesLapped textures

[SIGGRAPH 2000][SIGGRAPH 2000]

Real-time furReal-time fur[I3D 2001][I3D 2001]

Real-time hatchingReal-time hatching[SIGGRAPH 2001][SIGGRAPH 2001]

Global parametrizationGlobal parametrization Silhouette clippingSilhouette clipping

[SIGGRAPH 2000][SIGGRAPH 2000]

Texture mappingTexture mapping progressive meshes progressive meshes [SIGGRAPH 2001][SIGGRAPH 2001]

Global parametrizationGlobal parametrization Silhouette clippingSilhouette clipping

[SIGGRAPH 2000][SIGGRAPH 2000]

Texture mappingTexture mapping progressive meshes progressive meshes [SIGGRAPH 2001][SIGGRAPH 2001]

with:with: Emil Praun,Emil Praun,Adam Finkelstein (Princeton),Adam Finkelstein (Princeton),Jed Lengyel (Microsoft)Jed Lengyel (Microsoft)

with:with: Pedro Sander,Pedro Sander,Steven Gortler (Harvard),Steven Gortler (Harvard),John Snyder (Microsoft)John Snyder (Microsoft)

[Sander, Gu, Gortler, Hoppe, Snyder. SIGGRAPH 2000][Sander, Gu, Gortler, Hoppe, Snyder. SIGGRAPH 2000]

Silhouette clippingSilhouette clippingSilhouette clippingSilhouette clipping

Mesh simplificationMesh simplificationMesh simplificationMesh simplification

original meshoriginal mesh+ texture/bump map+ texture/bump map

poorpoorsilhouettesilhouette

poorpoorsilhouettesilhouette

simplified meshsimplified mesh

silhouette clippedsilhouette clipped

Silhouette clippingSilhouette clippingSilhouette clippingSilhouette clipping

original meshoriginal mesh simplified meshsimplified mesh+ texture/bump map+ texture/bump map

silhouette clippedsilhouette clipped

Silhouette clippingSilhouette clippingSilhouette clippingSilhouette clipping

original meshoriginal mesh simplified meshsimplified mesh+ texture/bump map+ texture/bump map

Texturing the simplified mesh Texturing the simplified mesh Texturing the simplified mesh Texturing the simplified mesh

original mesh

simplified mesh

texture atlas

rendered

70K faces 500 faces

[Soucy et al 96][Soucy et al 96][Cignoni et al 98][Cignoni et al 98]

Atlas of trianglesAtlas of trianglesAtlas of trianglesAtlas of triangles

meshmesh (500 faces) (500 faces)

(8 x 32 x 2 (8 x 32 x 2 trianglestriangles, 256 x 1024 texels), 256 x 1024 texels)

texture typetexture type

normal mapnormal map

color mapcolor map

Texture samplingTexture samplingTexture samplingTexture sampling

closest-pointclosest-point[Cignoni et al 98][Cignoni et al 98]

originaloriginal

simplifiedsimplified vertex normalsvertex normals

normal-shootingnormal-shooting(our technique)(our technique)

Summary: atlas of triangles Summary: atlas of triangles Summary: atlas of triangles Summary: atlas of triangles

original mesh

simplified mesh

texture atlas

rendered

70K faces 500 faces

non-uniform sampling!non-uniform sampling!non-uniform sampling!non-uniform sampling!

[Sander, Snyder, Gortler, Hoppe. SIGGRAPH 2001][Sander, Snyder, Gortler, Hoppe. SIGGRAPH 2001]

Texture mapping progressive meshesTexture mapping progressive meshesTexture mapping progressive meshesTexture mapping progressive meshes

43,00043,000facesfaces

Progressive mesh representationProgressive mesh representationProgressive mesh representationProgressive mesh representation

refinement streamrefinement streamrefinement streamrefinement streambase meshbase meshbase meshbase mesh

4343facesfaces

1,0001,000 2,0002,000

level-of-detail controllevel-of-detail control

43,00043,000

ChallengeChallengeChallengeChallenge

So far, texture atlas defined for So far, texture atlas defined for singlesingle mesh. mesh.

What if desire mesh with 1000, 2000 faces?What if desire mesh with 1000, 2000 faces?

Store additional texture atlases ? Store additional texture atlases ?

So far, texture atlas defined for So far, texture atlas defined for singlesingle mesh. mesh.

What if desire mesh with 1000, 2000 faces?What if desire mesh with 1000, 2000 faces?

Store additional texture atlases ? Store additional texture atlases ?

500 faces500 faces atlas of 500 trianglesatlas of 500 triangles

SolutionSolutionSolutionSolution

Construct texture atlas valid for Construct texture atlas valid for allall MM00……MMnn.. Construct texture atlas valid for Construct texture atlas valid for allall MM00……MMnn..

470 faces470 faces 700 faces700 faces 1,200 faces1,200 faces 10,000 faces10,000 faces

GoalsGoalsGoalsGoals(1) Minimize (1) Minimize texture stretchtexture stretch(1) Minimize (1) Minimize texture stretchtexture stretch

GoalsGoalsGoalsGoals(1) Minimize texture stretch(1) Minimize texture stretch

(2) Minimize (2) Minimize texture deviationtexture deviation

(1) Minimize texture stretch(1) Minimize texture stretch

(2) Minimize (2) Minimize texture deviationtexture deviation

(stricter than Hausdorff error)(stricter than Hausdorff error) [Cohen et al 98][Cohen et al 98]

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

straight boundaries!straight boundaries!straight boundaries!straight boundaries!

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

ApproachApproachApproachApproach

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

mipmap artifacts!mipmap artifacts!mipmap artifacts!mipmap artifacts!

ApproachApproachApproachApproach

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

ParametrizationParametrizationParametrizationParametrization

angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1 length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1

angle-preserving (angle-preserving (conformalconformal))γγ = = ΓΓ area-preservingarea-preserving γγ ΓΓ = 1= 1 length-preserving (length-preserving (isometricisometric)) γγ = = ΓΓ = 1= 1

2D texture domain2D texture domain surface in 3Dsurface in 3D

linear maplinear mapTTTT

singular values: singular values: γγ , , ΓΓ

Stretch-minimizingStretch-minimizing parametrization parametrizationStretch-minimizingStretch-minimizing parametrization parametrization

2D texture domain2D texture domain surface in 3Dsurface in 3D

linear maplinear mapTTTT

singular values: singular values: γγ , , ΓΓ

LL22(M) = (M) = TT (L (L22(T))(T))2 2 A(T)A(T)

LL∞∞(M) = max(M) = maxTT L L∞∞(T)(T)

LL22(T) = (T) = ½√ ½√ γγ22 + + ΓΓ22

LL∞∞(T) = (T) = ΓΓ

high stretch!high stretch!

Stretch-minimizing parametrizationStretch-minimizing parametrizationStretch-minimizing parametrizationStretch-minimizing parametrization

Floater parametrizationFloater parametrization ( (≈ harmonic map)≈ harmonic map)

L2 = 2.26 L = 9.86

LL22 stretch minimization stretch minimization

L2 = 1.22 L = 2.13

Example of stretch minimizationExample of stretch minimizationExample of stretch minimizationExample of stretch minimization

ignoring stretchignoring stretch minimizing stretchminimizing stretch

DemoDemoDemoDemo

bunnybunny horsehorse parasaurparasaur

bunnybunny horsehorse parasaurparasaur

Summary: global parametrizationSummary: global parametrizationSummary: global parametrizationSummary: global parametrization

Good for normal mapsGood for normal maps Large textureLarge texture Resampling artifactsResampling artifacts

Good for normal mapsGood for normal maps Large textureLarge texture Resampling artifactsResampling artifacts

atlas of trianglesatlas of triangles atlas of chartsatlas of charts

[Praun, Finkelstein, Hoppe. SIGGRAPH 2000][Praun, Finkelstein, Hoppe. SIGGRAPH 2000]

Lapped texturesLapped texturesLapped texturesLapped textures

ExampleExampleExampleExample

“example” image“example” image

textured surfacetextured surface

mesh geometrymesh geometry

?

ApproachApproachApproachApproach

texture patchtexture patch

surfacesurface

Key idea: patch pastingKey idea: patch pastingKey idea: patch pastingKey idea: patch pasting

texture patchtexture patchtexture patchtexture patch

surfacesurfacesurfacesurface““lapped textures”lapped textures”

Texture patch creationTexture patch creationTexture patch creationTexture patch creation

Less structure Less structure splotch splotchLess structure Less structure splotch splotch

Direction field: user-specifiedDirection field: user-specifiedDirection field: user-specifiedDirection field: user-specified

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Patch growthPatch growthPatch growthPatch growth

Improve alignment to direction fieldImprove alignment to direction fieldImprove alignment to direction fieldImprove alignment to direction field

texture patchtexture patch

surfacesurface

Tangential vector fieldTangential vector fieldTangential vector fieldTangential vector field

TTTT SSSS

Optimizing the parametrizationOptimizing the parametrizationOptimizing the parametrizationOptimizing the parametrization

TTTTSSSS

BBBB

CCCC

AAAA

((TT))((TT))

((SS))((SS))

((AA))((AA))

((BB))((BB))

((CC))((CC))

face in 3Dface in 3Dface in 3Dface in 3D 2D texture space2D texture space2D texture space2D texture space

Optimizing the parametrizationOptimizing the parametrizationOptimizing the parametrizationOptimizing the parametrization

Sparse linear least squares problemSparse linear least squares problem fast solutionfast solution

Sparse linear least squares problemSparse linear least squares problem fast solutionfast solution

Result of optimizationResult of optimizationResult of optimizationResult of optimization

Texture storage and renderingTexture storage and renderingTexture storage and renderingTexture storage and rendering

Traditional approach: Traditional approach: Global texture atlasGlobal texture atlas Pre-composite into a texture map.Pre-composite into a texture map.

-- OR ---- OR --

Novel approach: Novel approach: Runtime pastingRuntime pasting Composite at runtime using hardware.Composite at runtime using hardware.

Traditional approach: Traditional approach: Global texture atlasGlobal texture atlas Pre-composite into a texture map.Pre-composite into a texture map.

-- OR ---- OR --

Novel approach: Novel approach: Runtime pastingRuntime pasting Composite at runtime using hardware.Composite at runtime using hardware.

Traditional: Traditional: Global texture atlasGlobal texture atlasTraditional: Traditional: Global texture atlasGlobal texture atlas

Novel: Novel: Runtime pastingRuntime pastingNovel: Novel: Runtime pastingRuntime pasting Store vertex parametrizations for each patchStore vertex parametrizations for each patch Composite at run-time using hardwareComposite at run-time using hardware

(triangles may be rendered several times) (triangles may be rendered several times)

Store vertex parametrizations for each patchStore vertex parametrizations for each patch Composite at run-time using hardwareComposite at run-time using hardware

(triangles may be rendered several times) (triangles may be rendered several times)

Pros & ConsPros & ConsPros & ConsPros & Cons• Global atlasGlobal atlas

+ Faster rendering, more portableFaster rendering, more portable+ Easy to paint unique details (eyes, nose)Easy to paint unique details (eyes, nose)– Sampling artifactsSampling artifacts

• Runtime pastingRuntime pasting– Increases model complexity (Increases model complexity (1.6 –3)1.6 –3)+ Huge effective resolutionHuge effective resolution+ Reuse parametrization for many texturesReuse parametrization for many textures

• Global atlasGlobal atlas+ Faster rendering, more portableFaster rendering, more portable+ Easy to paint unique details (eyes, nose)Easy to paint unique details (eyes, nose)– Sampling artifactsSampling artifacts

• Runtime pastingRuntime pasting– Increases model complexity (Increases model complexity (1.6 –3)1.6 –3)+ Huge effective resolutionHuge effective resolution+ Reuse parametrization for many texturesReuse parametrization for many textures

DemosDemosDemosDemos

bunny (& paint)bunny (& paint) parasaur parasaur holes3holes3 stonebunnystonebunny

bunny (& paint)bunny (& paint) parasaur parasaur holes3holes3 stonebunnystonebunny

Results: splotchesResults: splotchesResults: splotchesResults: splotches

(completely automatic: no direction field)(completely automatic: no direction field)

Results: anisotropicResults: anisotropicResults: anisotropicResults: anisotropic

25 frames25 framesper sec!per sec!

256 x 256256 x 256texturetexture

(282 times)(282 times)

256 x 256256 x 256texturetexture

(282 times)(282 times)

15,000 faces15,000 faces

Controlling direction and scaleControlling direction and scaleControlling direction and scaleControlling direction and scale

LimitationsLimitationsLimitationsLimitations

low-frequencylow-frequencycomponentscomponents

boundaryboundarymismatchesmismatches

direction field direction field singularitiessingularities

ExtensionsExtensionsExtensionsExtensions

[Lengyel, Praun, Finkelstein, Hoppe. I3D 2001][Lengyel, Praun, Finkelstein, Hoppe. I3D 2001]

Real-time fur on arbitrary surfacesReal-time fur on arbitrary surfacesReal-time fur on arbitrary surfacesReal-time fur on arbitrary surfaces

volumetricvolumetriclapped texturelapped texture

MotivationMotivationMotivationMotivation

Previous work: geometric hairPrevious work: geometric hairPrevious work: geometric hairPrevious work: geometric hair

Lines Lines interactive for sparse fur interactive for sparse fur Challenge: aliasingChallenge: aliasing

Lines Lines interactive for sparse fur interactive for sparse fur Challenge: aliasingChallenge: aliasing

[Van Gelder, Wilhelms ’97][Van Gelder, Wilhelms ’97]

Shell texturesShell texturesShell texturesShell textures

[Lengyel ’00][Lengyel ’00][Lengyel ’00][Lengyel ’00]

Shell texturesShell texturesShell texturesShell textures

Problem: required texture memory is huge!Problem: required texture memory is huge!

Solution: use lapped texture for each shell.Solution: use lapped texture for each shell.

Problem: required texture memory is huge!Problem: required texture memory is huge!

Solution: use lapped texture for each shell.Solution: use lapped texture for each shell.

opaque skinopaque skin transparent shellstransparent shells compositecomposite

Generating the texturesGenerating the texturesGenerating the texturesGenerating the textures

1.1. Geometric modelGeometric model

– – Seed surface with “curl” Seed surface with “curl” starting points.starting points.

–– Grow as particle system.Grow as particle system.

1.1. Geometric modelGeometric model

– – Seed surface with “curl” Seed surface with “curl” starting points.starting points.

–– Grow as particle system.Grow as particle system.

Generating the texturesGenerating the texturesGenerating the texturesGenerating the textures

–– Interpolate to generate Interpolate to generate more seed points.more seed points.

– – Ignore hair-to-hair Ignore hair-to-hair collision.collision.

–– Interpolate to generate Interpolate to generate more seed points.more seed points.

– – Ignore hair-to-hair Ignore hair-to-hair collision.collision.

Generating the texturesGenerating the texturesGenerating the texturesGenerating the textures

2. Sample volume2. Sample volumeKeep:Keep:

– – colorcolor

–– opacityopacity

–– ((normal)normal)

2. Sample volume2. Sample volumeKeep:Keep:

– – colorcolor

–– opacityopacity

–– ((normal)normal)

Generating the texturesGenerating the texturesGenerating the texturesGenerating the textures

Using differentUsing differentparticle parameters,particle parameters,wide range of fur wide range of fur possible.possible.

Using differentUsing differentparticle parameters,particle parameters,wide range of fur wide range of fur possible.possible.

Poor silhouettePoor silhouettePoor silhouettePoor silhouette

offset shells

original mesh

offset shells

original mesh extruded

fin

Solution: finsSolution: finsSolution: finsSolution: fins

Fin renderingFin renderingFin renderingFin rendering

Fade based on viewing angleFade based on viewing angle Fade based on viewing angleFade based on viewing angle

Fur Fur resultsresults

Fur Fur resultsresults

~20 fps~20 fps

[Praun, Hoppe, Webb, Finkelstein. SIGGRAPH 2001][Praun, Hoppe, Webb, Finkelstein. SIGGRAPH 2001]

Real-time hatchingReal-time hatchingReal-time hatchingReal-time hatching

1-D (tonal) array1-D (tonal) arrayof texturesof textures

help convey shape!help convey shape!

OverviewOverviewOverviewOverview

- Real-time rendering- Real-time rendering

- Strokes with temporal - Strokes with temporal && spatial coherence spatial coherence

- Real-time rendering- Real-time rendering

- Strokes with temporal - Strokes with temporal && spatial coherence spatial coherence

Challenges:Challenges:Challenges:Challenges:

Solution:Solution:Solution:Solution:

- Exploit hardware - Exploit hardware multimulti-texturing-texturing

- Coherence:- Coherence: tonal art mapstonal art maps (TAMs) (TAMs) 6-way6-way blend on each triangle blend on each triangle

- Exploit hardware - Exploit hardware multimulti-texturing-texturing

- Coherence:- Coherence: tonal art mapstonal art maps (TAMs) (TAMs) 6-way6-way blend on each triangle blend on each triangle

Tonal art mapTonal art mapTonal art mapTonal art map

Mip-mapped texture imagesMip-mapped texture images Stroke nesting propertyStroke nesting property

Mip-mapped texture imagesMip-mapped texture images Stroke nesting propertyStroke nesting property

tone tone

s

cale

sc

ale

tonetone

tonetone

vv11 vv22 vv33

6-way blend 6-way blend finalfinal

Multitexture blendingMultitexture blendingMultitexture blendingMultitexture blending

Lapped parametrizationLapped parametrizationLapped parametrizationLapped parametrization

texture patchtexture patchtexture patchtexture patch

surfacesurfacesurfacesurface

Direction fieldDirection fieldDirection fieldDirection field

Based on surface principal curvaturesBased on surface principal curvatures

Optimized to be smoothOptimized to be smooth [Hertzmann & Zorin 2000][Hertzmann & Zorin 2000]

Symmetry: 180Symmetry: 180ºº instead of 90 instead of 90ºº

Based on surface principal curvaturesBased on surface principal curvatures

Optimized to be smoothOptimized to be smooth [Hertzmann & Zorin 2000][Hertzmann & Zorin 2000]

Symmetry: 180Symmetry: 180ºº instead of 90 instead of 90ºº

ResultResultResultResult

(30 fps)(30 fps)

ResultResultResultResult

ResultResultResultResult

Summary: lapped parametrizationsSummary: lapped parametrizationsSummary: lapped parametrizationsSummary: lapped parametrizations

InstancingInstancing reduce memory reduce memory permits volume textures & 1D functions permits volume textures & 1D functions

Avoids resampling artifactsAvoids resampling artifacts

InstancingInstancing reduce memory reduce memory permits volume textures & 1D functions permits volume textures & 1D functions

Avoids resampling artifactsAvoids resampling artifacts

256 x 256 texels256 x 256 texels 256 x 256 x 16256 x 256 x 16 256 x 256 x 6256 x 256 x 6

Overall summaryOverall summaryOverall summaryOverall summary

Lapped parametrizationLapped parametrization overlapping patchesoverlapping patches patches share datapatches share data

Lapped parametrizationLapped parametrization overlapping patchesoverlapping patches patches share datapatches share data

Global parametrizationGlobal parametrization atlas of chartsatlas of charts all charts uniqueall charts unique

Global parametrizationGlobal parametrization atlas of chartsatlas of charts all charts uniqueall charts unique