Title: A Crash Course on Texturing
1A Crash Course on Texturing
- Li-Yi Wei
- 2005
- at Tsinghua University, Beijing
2What is texturing
3Overview 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
4Texture generation
- Draw by hand
- ?flexible
- ? easy to control
- ?requires artistic skills
- ?mostly looks artificial
5Texture generation
- Photography
- ?easy to deploy
- ?realistic image
- ?curvature problem small patch
- ?lighting/shadowing/distortion problem
6Texture generation
- Texture synthesis
- ?flexible
- ?easy to deploy
- ?general
- ?arbitrarily large result
- ?difficult to design a good algorithm!
7Texture synthesis
- Procedural synthesis
- Example-based synthesis
8Procedural synthesis
- Synthesize texture by procedural code
- ?compact
- ?full control
- ?no resolution limit
- ?not easy to author
- ?limited category
9Procedural synthesis examples
10Perlin noise
11Perlin noise examples
12Example-based synthesis
- Synthesis from example
- ?general
- ?easy to use
- ?limited resolution
- ?need good algorithm
13Example-based synthesis
- Huge literature
- I will only talk about recent work
- Pixel-based synthesis
- Patch-based synthesis
- Optimization
14Pixel-based synthesis
- Synthesize pixels based on neighborhood
- Efros Leung 1999 Wei Levoy 2000
15Pixel-based synthesis examples
Oriented
Random
Regular
Semi-regular
16Pixel-based synthesis failures
17Patch-based synthesis
- Liang et al 2001 Efros Freeman 2001
18Patch-based synthesis examples
19Comparison
input
pixel-based
patch-based
20Texture 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
21Texture mapping methodology
- Huge literature, I will only cover
- Volume texture
- Surface synthesis
- Texture atlas
- Base-domain parameterization
22Volume texture
- Surround the object with 3D volume
- ?no distortion nor discontinuity
- ?mainly for isotropic textures
- ?large storage
- ?GPU unfriendly
- ?natural for procedural synthesis
23Surface 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
24Texture atlas
- Divide the surface into planar patches
- ?popular approach
- ?GPU friendly
- ?seam and distortion
25Base-domain parameterization
- MAPS Lee et al 1998
- Parameterize based on coarse mesh
- ?less distortion/discontinuity than atlas
- ?less straightforward for GPU
26Base-domain parameterization
- Poly-cube maps 2004
- Use multiple cubemaps
- ?minimal distortion, no discontinuity
- ?can be done on GPU
27Texture sampling
Aliasing
Anti-aliasing
28Aliasing,1D case
Aliasing
No aliasing
29Aliasing, 2D case
30Aliasing, 2D case
31Isotropic versus Anisotropic filtering
isotropic
anisotropic
32Anisotropic filtering implementation
33Texturing on GPU
- Model geometry as texture
- Bump map, displacement map, VDM
- Texture caching and compression
34VDM
- View-dependent displacement map Wang et al 2004
35VDM result
bump
horizon
displacement
VDM
36Sphere marching
37Texture compression
- DXT
- ? simple and fast
- ?limited compression ratio (81)
38Tile-based texturing on GPU
- Wei 2004
- ?big compression
- ?limited to homogeneous pattern
- ?can look repetitive
39Conclusion
- Look at the course paper for more details
- References
- Exercises
- Potential future work
40(No Transcript)
41S2005 Arial, Bold, 37 points
- This subtitle is 27 points
- Bullets are orange
- They have 110 line spacing, 6 points
before/after - Longer bullets in the form of a paragraph are
harder to read if there is insufficient line
spacing. This is the maximum recommended number
of lines per slide (seven). - Sub bullets look like this