A Crash Course on Texturing LiYi Wei 2005

  • Slides: 39
Download presentation
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

What is texturing

What is texturing

Overview of texturing Texture generation You need to get the texture first Texture map

Overview of texturing Texture generation You need to get the texture first Texture map You need to figure out how to wrap the texture Texture sampling You need to avoid artifacts GPU texturing issue You need to do this fast

Texture generation Draw by hand Оflexible О easy to control Хrequires artistic skills Хmostly

Texture generation Draw by hand Оflexible О easy to control Хrequires artistic skills Хmostly looks artificial

Texture generation Photography Оeasy to deploy Оrealistic image Хcurvature problem – small patch Хlighting/shadowing/distortion

Texture generation Photography Оeasy to deploy Оrealistic image Хcurvature problem – small patch Хlighting/shadowing/distortion problem

Texture generation Texture synthesis Оflexible Оeasy to deploy Оgeneral Оarbitrarily large result Хdifficult to

Texture generation Texture synthesis Оflexible Оeasy to deploy Оgeneral Оarbitrarily large result Хdifficult to design a good algorithm!

Texture synthesis Procedural synthesis Example-based synthesis

Texture synthesis Procedural synthesis Example-based synthesis

Procedural synthesis Synthesize texture by procedural code Оcompact Оfull control Оno resolution limit Хnot

Procedural synthesis Synthesize texture by procedural code Оcompact Оfull control Оno resolution limit Хnot easy to author Хlimited category

Procedural synthesis examples

Procedural synthesis examples

Perlin noise

Perlin noise

Perlin noise examples

Perlin noise examples

Example-based synthesis Synthesis from example Оgeneral Оeasy to use Хlimited resolution Хneed good algorithm

Example-based synthesis Synthesis from example Оgeneral Оeasy to use Хlimited resolution Хneed good algorithm

Example-based synthesis Huge literature I will only talk about recent work Pixel-based synthesis Patch-based

Example-based synthesis Huge literature I will only talk about recent work Pixel-based synthesis Patch-based synthesis Optimization

Pixel-based synthesis Synthesize pixels based on neighborhood [Efros & Leung 1999] [Wei & Levoy

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

Pixel-based synthesis examples Random Regular Oriented Semi-regular

Pixel-based synthesis examples Random Regular Oriented Semi-regular

Pixel-based synthesis failures

Pixel-based synthesis failures

Patch-based synthesis [Liang et al 2001] [Efros & Freeman 2001]

Patch-based synthesis [Liang et al 2001] [Efros & Freeman 2001]

Patch-based synthesis examples

Patch-based synthesis examples

Comparison input pixel-based patch-based

Comparison input pixel-based patch-based

Texture mapping How to map a 2 D texture onto a 3 D surface?

Texture mapping How to map a 2 D texture onto a 3 D surface? Minimal distortion No discontinuity It is not easy! Try to wrap a paper around a ball

Texture mapping methodology Huge literature, I will only cover Volume texture Surface synthesis Texture

Texture mapping methodology Huge literature, I will only cover Volume texture Surface synthesis Texture atlas Base-domain parameterization

Volume texture Surround the object with 3 D volume Оno distortion nor discontinuity Хmainly

Volume texture Surround the object with 3 D volume Оno distortion nor discontinuity Хmainly for isotropic textures Хlarge storage ХGPU unfriendly Оnatural for procedural synthesis

Surface synthesis Extend 2 D synthesis to 3 D surface Either pixel or patch

Surface synthesis Extend 2 D synthesis to 3 D surface Either pixel or patch based Оminimal distortion, no discontinuity Оanisotropic patterns Хonly applies to one object/texture combination

Texture atlas Divide the surface into planar patches Оpopular approach ОGPU friendly Хseam and

Texture atlas Divide the surface into planar patches Оpopular approach ОGPU friendly Хseam and distortion

Base-domain parameterization MAPS [Lee et al 1998] Parameterize based on coarse mesh Оless distortion/discontinuity

Base-domain parameterization MAPS [Lee et al 1998] Parameterize based on coarse mesh Оless distortion/discontinuity than atlas Хless straightforward for GPU

Base-domain parameterization Poly-cube maps [2004] Use multiple cubemaps Оminimal distortion, no discontinuity Оcan be

Base-domain parameterization Poly-cube maps [2004] Use multiple cubemaps Оminimal distortion, no discontinuity Оcan be done on GPU

Texture sampling Aliasing Anti-aliasing

Texture sampling Aliasing Anti-aliasing

Aliasing, 1 D case Aliasing No aliasing

Aliasing, 1 D case Aliasing No aliasing

Aliasing, 2 D case

Aliasing, 2 D case

Aliasing, 2 D case

Aliasing, 2 D case

Isotropic versus Anisotropic filtering isotropic anisotropic

Isotropic versus Anisotropic filtering isotropic anisotropic

Anisotropic filtering implementation Ripmap Multiple probes

Anisotropic filtering implementation Ripmap Multiple probes

Texturing on GPU Model geometry as texture Bump map, displacement map, VDM Texture caching

Texturing on GPU Model geometry as texture Bump map, displacement map, VDM Texture caching and compression

VDM View-dependent displacement map [Wang et al 2004]

VDM View-dependent displacement map [Wang et al 2004]

VDM result bump horizon displacement VDM

VDM result bump horizon displacement VDM

Sphere marching GPU Gems II chapter 8

Sphere marching GPU Gems II chapter 8

Texture compression DXT О simple and fast Хlimited compression ratio (8: 1)

Texture compression DXT О simple and fast Хlimited compression ratio (8: 1)

Tile-based texturing on GPU [Wei 2004] Оbig compression Хlimited to homogeneous pattern Хcan look

Tile-based texturing on GPU [Wei 2004] Оbig compression Хlimited to homogeneous pattern Хcan look repetitive

Conclusion Look at the course paper for more details References Exercises Potential future work

Conclusion Look at the course paper for more details References Exercises Potential future work