written assignment 2 is due 3/8 - carnegie mellon school ...jkh/462_s07/16_texturing.pdf · written...
TRANSCRIPT
![Page 1: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/1.jpg)
1Computer Graphics 15-462
Announcements
Written Assignment 2 is due 3/8
![Page 2: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/2.jpg)
2Computer Graphics 15-462
Advanced Texturing
Bump MappingDisplacement MappingEnvironment MappingProcedural Textures
Bump MappingDisplacement MappingEnvironment MappingProcedural Textures
COMPUTER GRAPHICS15-462
03/06/07
Shirley Chapter 11
![Page 3: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/3.jpg)
3Computer Graphics 15-462
Uses for Texture Mapping (Heckbert 1986)
Use texture to affect a variety of parameters• surface color - color (radiance) of each point on surface
(Catmull 1974)• surface reflectance - reflectance coefficients kd, ks, or nshiny
• normal vector - bump mapping (Blinn 1978)• geometry - displacement mapping• transparency - transparency mapping (clouds) (Gardener 1985)• light source radiance - environment mapping (Blinn 1978)
![Page 4: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/4.jpg)
4Computer Graphics 15-462
Fine Surface Detail
http://www.siggraph.org/education/materials/HyperGraph/mapping/bumpmap.htm
How can we model this level of detail?
![Page 5: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/5.jpg)
5Computer Graphics 15-462
Bump Mapping• Basic texture mapping paints on to a smooth surface• How do you make a surface look rough?
– Option 1: model the surface with many small polygons– Option 2: perturb the normal vectors before the shading calculation
Real Bump Fake Bump Flat Plane
+ =
Sphere w/Diffuse Texture Map Bump Map Sphere w/Diffuse Texture + Bump Map
![Page 6: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/6.jpg)
6Computer Graphics 15-462
Why Does this Work?
• Which spots bulge out, and which are indented?
• The human visual system is hard-coded to expect light to come from above (the sun)
![Page 7: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/7.jpg)
7Computer Graphics 15-462
Implementing Bump Mapping• At each point, displace the normal by some amount to change lighting• Displacements stored in bump-map (texture image)
blackboard
[Demo]
![Page 8: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/8.jpg)
8Computer Graphics 15-462
Bump Mapping is a Hack
Greg Turk
• What anomalies do you see in the image below?
![Page 9: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/9.jpg)
9Computer Graphics 15-462
Displacement Mapping
• Use texture map to displace each point on the surface– Texture value gives amount to move in direction normal to surface
• How is this better/worse than bump mapping?
[Demo]
![Page 10: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/10.jpg)
10Computer Graphics 15-462
Environment Mapping
• Very shiny objects show reflections of their surroundings – To do this properly, we use ray tracing to calculate multiple bounces– That’s a lot of computation: how can we fake it?
– Use a pre-rendered environment– (Won’t support inter-object reflections)
![Page 11: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/11.jpg)
11Computer Graphics 15-462
Environment Mapping (Spherical)
• Imagine that object is surrounded by an infinitely large sphere
– Calculate reflection vector, project on to sphere– Need a seamless texture for the sphere
blackboardJerome Dewhurst
![Page 12: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/12.jpg)
12Computer Graphics 15-462
Environment Mapping (Cube Map)
• Same idea as spherical map, but with 6 textures forming a cube
• OpenGL supports both methods of environment mapping:– glEnable(GL_TEXTURE_CUBE_MAP_EXT);– glEnable(GL_TEXTURE_GEN_S); glEnable(GL_TEXTURE_GEN_T);
• What are the advantages/disadvantages of each method?
[Demo]
![Page 13: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/13.jpg)
13Computer Graphics 15-462
Color Mapping
• Mapping from R->R3, specifically from (0,1)->(0,1)3
• Allows us to convert scalar-valued functions to colors• Option 1: Color table
– Abrupt transitions, but dead simple to implement
• Option 2: Color spline
– Linear/cubic/C-R/Hermite interpolation between colors– Can create both sharp transitions and smooth gradients
0-0.2 0.2-0.4 0.4-0.6 0.6-0.8 0.8-1.0
![Page 14: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/14.jpg)
14Computer Graphics 15-462
Procedural Textures
• What if we want to generate textures procedurally?– To save space– To get effects not possible with photographic textures (solid texture)– To animate textures– To get the correct texture scale
• Basic procedural textures are regular, boring– Built with periodic functions like sin(), cos()
• Need to add “interestingness” to textures– Disturb the regularity of basic textures
![Page 15: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/15.jpg)
15Computer Graphics 15-462
Perlin Noise
• Random perturbation function with the following characteristics:
– Repeatable function of <x,y,z> input– Known range [-1,1]– Band-limited (coherent)– No obvious periodicity– Stationary– Isotropic
Perlin NoiseWhite Noise
![Page 16: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/16.jpg)
16Computer Graphics 15-462
Perlin Noise Algorithm
• Perlin Noise is also known as gradient noise– Gradient value at each integer point in the 3-space lattice– Gradient determined by repeatable hash of floor(x),floor(y),floor(z)– Take dot product of each gradient with distance to lattice point– Weighted average using ease function: 6t5-15t4+10t3
blackboardhttp://mrl.nyu.edu/~perlin/noise/
![Page 17: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/17.jpg)
17Computer Graphics 15-462
Turbulence
• Noise has a range of [-1,1], must convert to [0,1]• Can scale noise using 0.5(noise+1)• abs(noise) creates dark veins at zero crossings
![Page 18: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/18.jpg)
18Computer Graphics 15-462
Octaves of Noise
• Feature size of basic Perlin noise is relatively uniform• Sum multiple calls to noise(), scaling input• Typically, we scale the input by 2i
• Number of iterations = number of octaves
1-8 Octaves of Turbulence
![Page 19: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/19.jpg)
19Computer Graphics 15-462
Using Noise
• Clouds: noise(point+offset)*intensity• Fire: abs(noise3(point)+offset)• Marble: sin(offset + turbulence(point))• Wood: noise(point)*scale - int(noise(point)*scale)• Animated texture: add time-varying offset vector to point
[Demo]
![Page 20: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/20.jpg)
20Computer Graphics 15-462
Reaction Diffusion (Witkin & Kass 91)
• Originally developed by Alan Turing as a way to model morphogenesis
• Two (or more) morphogens whose concentration varies over a 2D grid
• Concentration affected by:– Decay of morphogens– Movement of morphogen from areas of high concentration to low
(diffusion)– Interactions between morphogens which create and destroy them
(reaction)
blackboard
![Page 21: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/21.jpg)
21Computer Graphics 15-462
Reaction Diffusion: R Functions
• Difference in concentrations: giraffe markings• Max of differences (3+ morphogens): maze-like• Difference of abs (3+ morphogens): woven twigs
[Video]
![Page 22: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/22.jpg)
22Computer Graphics 15-462
Reaction Diffusion
• Varying anisotropy by curvature or location allows for more complicated effects
– Zebra’s stripes wrap correctly– Girrafe’s pattern is larger on smooth areas
Turk
![Page 23: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/23.jpg)
23Computer Graphics 15-462
Cellular Textures (Worley)
• Based on the idea that there are “feature points” in 3-space, and we care about the distance to the nth closest feature
• Fi(x,y) is the distance to the ith closest randomly distributed feature
F1 F2 F3
![Page 24: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/24.jpg)
24Computer Graphics 15-462
Cellular Texture Variations
• Cellular texture algorithm very “hackable”• Change distribution of feature points• Fractal sum of multiple octaves (water/tin foil)• Linear/nonlinear combinations of Fis• Unique ID number per feature point (flagstones)• Different distance metrics (Manhattan, super-quadratic)
F2 - F1 Manhattan Distance
![Page 25: Written Assignment 2 is due 3/8 - Carnegie Mellon School ...jkh/462_s07/16_texturing.pdf · Written Assignment 2 is due 3/8. Computer Graphics 15-462 2 ... • The human visual system](https://reader031.vdocument.in/reader031/viewer/2022030423/5aaaa5537f8b9a7c188e55b2/html5/thumbnails/25.jpg)
25Computer Graphics 15-462
Announcements
Written Assignment 2 is due 3/8