1 / 39

A Crash Course on Texturing

A Crash Course on Texturing. Li-Yi Wei 2005 at Tsinghua University, Beijing. What is texturing. 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

Download Presentation

A Crash Course on Texturing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. What is texturing

  3. 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

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

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

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

  7. Texture synthesis • Procedural synthesis • Example-based synthesis

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

  9. Procedural synthesis examples

  10. Perlin noise

  11. Perlin noise examples

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

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

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

  15. Pixel-based synthesis examples Oriented Random Regular Semi-regular

  16. Pixel-based synthesis failures

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

  18. Patch-based synthesis examples

  19. Comparison input pixel-based patch-based

  20. 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

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

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

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

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

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

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

  27. Texture sampling Aliasing Anti-aliasing

  28. Aliasing,1D case Aliasing No aliasing

  29. Aliasing, 2D case

  30. Aliasing, 2D case

  31. Isotropic versus Anisotropic filtering isotropic anisotropic

  32. Ripmap Multiple probes Anisotropic filtering implementation

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

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

  35. VDM result bump horizon displacement VDM

  36. Sphere marching • GPU Gems II chapter 8

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

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

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

More Related