Top Banner
A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing
39

A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

A Crash Course on Texturing

Li-Yi Wei

2005

at Tsinghua University, Beijing

Page 2: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

What is texturing

Page 3: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Overview of texturing

Texture generationYou need to get the texture first

Texture mapYou need to figure out how to wrap the texture

Texture samplingYou need to avoid artifacts

GPU texturing issueYou need to do this fast

Page 4: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture generation

Draw by handОflexible

О easy to control

Хrequires artistic skills

Хmostly looks artificial

Page 5: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture generation

PhotographyОeasy to deploy

Оrealistic image

Хcurvature problem – small patch

Хlighting/shadowing/distortion problem

Page 6: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture generation

Texture synthesisОflexible

Оeasy to deploy

Оgeneral

Оarbitrarily large result

Хdifficult to design a good algorithm!

Page 7: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture synthesis

Procedural synthesis

Example-based synthesis

Page 8: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Procedural synthesis

Synthesize texture by procedural codeОcompact

Оfull control

Оno resolution limit

Хnot easy to author

Хlimited category

Page 9: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Procedural synthesis examples

Page 10: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Perlin noise

Page 11: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Perlin noise examples

Page 12: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Example-based synthesis

Synthesis from exampleОgeneral

Оeasy to use

Хlimited resolution

Хneed good algorithm

Page 13: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Example-based synthesis

Huge literature

I will only talk about recent workPixel-based synthesis

Patch-based synthesis

Optimization

Page 14: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Pixel-based synthesis

Synthesize pixels based on neighborhood[Efros & Leung 1999] [Wei & Levoy 2000]

Page 15: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Pixel-based synthesis examples

Random Oriented

Regular Semi-regular

Page 16: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Pixel-based synthesis failures

Page 17: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Patch-based synthesis

[Liang et al 2001] [Efros & Freeman 2001]

Page 18: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Patch-based synthesis examples

Page 19: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Comparison

input pixel-based patch-based

Page 20: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture mapping

How to map a 2D texture onto a 3D surface?Minimal distortion

No discontinuity

It is not easy! Try to wrap a paper around a ball

Page 21: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture mapping methodology

Huge literature, I will only coverVolume texture

Surface synthesis

Texture atlas

Base-domain parameterization

Page 22: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Volume texture

Surround the object with 3D volumeОno distortion nor discontinuity

Хmainly for isotropic textures

Хlarge storage

ХGPU unfriendly

Оnatural for procedural synthesis

Page 23: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Surface synthesis

Extend 2D synthesis to 3D surfaceEither pixel or patch based

Оminimal distortion, no discontinuity

Оanisotropic patterns

Хonly applies to one object/texture combination

Page 24: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture atlas

Divide the surface into planar patchesОpopular approach

ОGPU friendly

Хseam and distortion

Page 25: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Base-domain parameterization

MAPS [Lee et al 1998]Parameterize based on coarse mesh

Оless distortion/discontinuity than atlas

Хless straightforward for GPU

Page 26: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Base-domain parameterization

Poly-cube maps [2004]Use multiple cubemaps

Оminimal distortion, no discontinuity

Оcan be done on GPU

Page 27: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture sampling

Aliasing

Anti-aliasing

Page 28: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Aliasing,1D case

Aliasing

No aliasing

Page 29: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Aliasing, 2D case

Page 30: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Aliasing, 2D case

Page 31: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Isotropic versus Anisotropic filtering

isotropic

anisotropic

Page 32: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Anisotropic filtering implementation

Ripmap Multiple probes

Page 33: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texturing on GPU

Model geometry as textureBump map, displacement map, VDM

Texture caching and compression

Page 34: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

VDM

View-dependent displacement map [Wang et al 2004]

Page 35: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

VDM result

bump horizon displacement VDM

Page 36: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Sphere marching

GPU Gems II chapter 8

Page 37: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Texture compression

DXTО simple and fast

Хlimited compression ratio (8:1)

Page 38: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Tile-based texturing on GPU

[Wei 2004]Оbig compression

Хlimited to homogeneous pattern

Хcan look repetitive

Page 39: A Crash Course on Texturing Li-Yi Wei 2005 at Tsinghua University, Beijing.

Conclusion

Look at the course paper for more detailsReferences

Exercises

Potential future work