1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment...
-
date post
19-Dec-2015 -
Category
Documents
-
view
222 -
download
1
Transcript of 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment...
![Page 1: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/1.jpg)
1GR2-00
GR2Advanced Computer
GraphicsAGR
GR2Advanced Computer
GraphicsAGR
Lecture 12Solid TexturesBump Mapping
Environment Mapping
![Page 2: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/2.jpg)
2GR2-00
Marble TextureMarble Texture
![Page 3: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/3.jpg)
3GR2-00
Solid TextureSolid Texture
A difficulty with 2D textures is the mapping from the object surface to the texture image– ie constructing fu(x,y,z) and fv(x,y,z)
This is avoided in 3D, or solidsolid, texturing– texture now occupies a volume– can imagine object being carved out of
the texture volumeU
V
W
texturespace X
Y
Z
object space
Mapping functions trivial: u = x; v = y; w = z
![Page 4: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/4.jpg)
4GR2-00
Defining the TextureDefining the Texture
The texture volume itself is usually defined procedurally– ie as a function that can be
evaluated, such as:
texture (u, v, w) = sin (u) sin (v) sin texture (u, v, w) = sin (u) sin (v) sin (w) (w)
– this is because of the vast amount of storage required if it were defined by data values
![Page 5: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/5.jpg)
5GR2-00
Example: Wood TextureExample: Wood Texture
Wood grain texture can be modelled by a set of concentric cylinders – cylinders coloured dark, gaps
between adjacent cylinders coloured light
radius r = sqrt(u*u + w*w)
if radius r = r1, r2, r3,
thentexture (u,v,w) = darkelsetexture (u,v,w) = light
looking down:cross section view
U
V
W
texturespace
![Page 6: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/6.jpg)
6GR2-00
Example: Wood TextureExample: Wood Texture
It is a bit more interesting to apply a sinusoidal perturbation– radius:= radius + 2 * sin( 20*) , with
0<<2 .. and a twist along the axis of the
cylinder– radius:= radius + 2 * sin( 20* + v/150
) This gives a realistic wood texture
effect
![Page 7: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/7.jpg)
7GR2-00
Wood TextureWood Texture
![Page 8: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/8.jpg)
8GR2-00
How to do Marble?How to do Marble?
First create noise function (in 1D):– noise [i] = random numbers on lattice
of points Next create turbulence:
– turbulence (x) = noise(x) + 0.5*noise(2x) + 0.25*noise(4x) + …
Marble created by:– basic pattern:
• marble (x) = marble_colour (sin (x) )
– with turbulence:• marble (x) = marble_colour (sin (x + turbulence
(x) ) )
![Page 9: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/9.jpg)
9GR2-00
Marble TextureMarble Texture
![Page 10: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/10.jpg)
10GR2-00
Bump MappingBump Mapping
This is another texturing technique Aims to simulate a dimpled or
wrinkled surface– for example, surface of an orange
Like Gouraud and Phong shading, it is a tricktrick– surface stays the same– but the true normal is perturbed, or
jittered, to give the illusion of surface ‘bumps’
![Page 11: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/11.jpg)
11GR2-00
Bump MappingBump Mapping
![Page 12: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/12.jpg)
12GR2-00
How Does It Work?How Does It Work?
Looking at it in 1D:
original surface P(u)
bump map b(u)
add b(u) to P(u)in surface normal direction, N(u)
new surface normalN’(u) for reflectionmodel
![Page 13: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/13.jpg)
13GR2-00
How It Works - The Maths!How It Works - The Maths!
Any 3D surface can be described in terms of 2 parameters– eg cylinder of fixed radius r is defined by
parameters (s,t)
x=rcos(s); y=rsin(s); z=t Thus a point P on surface can be written
P(s,t) where s,t are the parameters The vectors:
Ps = dP(s,t)/ds and Pt = dP(s,t)/dt
are tangential to the surface at (s,t)
![Page 14: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/14.jpg)
14GR2-00
How it Works - The MathsHow it Works - The Maths
Thus the normal at (s,t) is:N = Ps x Pt
Now add a bump map to surface in direction of N:
P’(s,t) = P(s,t) + b(s,t)N To get the new normal we need to
calculate P’s and P’t
P’s = Ps + bsN + bNs
approx P’s = Ps + bsN - because b small
P’t similar– P’t = Pt + btN
![Page 15: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/15.jpg)
15GR2-00
How it Works - The MathsHow it Works - The Maths
Thus the perturbed surface normal is:N’ = P’s x P’t
orN’ = Ps x Pt + bt(Ps x N) + bs(N x Pt) + bsbt(N x N)
But since– Ps x Pt = N and N x N = 0, this simplifies to:
N’ = N + D
– where D = bt(Ps x N) + bs(N x Pt)
= bs(N x Pt) - bt(N x Ps )
= A - B
![Page 16: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/16.jpg)
16GR2-00
Worked Example for a Cylinder
Worked Example for a Cylinder
P has co-ordinates:
Thus:
and then
x (s,t) = r cos (s)y (s,t) = r sin (s)z (s,t) = t
Ps : xs (s,t) = -r sin (s)ys (s,t) = r cos (s)zs (s,t) = 0
Pt : xt (s,t) = 0yt (s,t) = 0zt (s,t) = 1
N = Ps x Pt : Nx = r cos (s)Ny = r sin (s)Nz = 0
![Page 17: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/17.jpg)
17GR2-00
Worked Example for a Cylinder
Worked Example for a Cylinder
Then: D = bt(Ps x N) + bs(N x Pt) becomes:
and perturbed normal N’ = N + D is:
D : bt *0 + bs*r sin (s) = bs*r sin (s)bt *0 - bs*r cos (s) = - bs*r cos (s)bt*(-r2) + bs*0 = - bt*(r2)
N’ : r cos (s) + bs*r sin (s)r sin (s) - bs*r cos (s)-bt*r2
![Page 18: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/18.jpg)
18GR2-00
Bump MappingA Bump Map
Bump MappingA Bump Map
![Page 19: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/19.jpg)
19GR2-00
Bump MappingResulting ImageBump Mapping
Resulting Image
![Page 20: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/20.jpg)
20GR2-00
Bump Mapping - Another Example
Bump Mapping - Another Example
![Page 21: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/21.jpg)
21GR2-00
Bump MappingAnother ExampleBump Mapping
Another Example
![Page 22: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/22.jpg)
22GR2-00
Bump MappingProcedurally Defined Bump
Map
Bump MappingProcedurally Defined Bump
Map
![Page 23: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/23.jpg)
23GR2-00
Environment MappingEnvironment Mapping
This is another famous piece of trickery in computer graphics
Look at a highly reflective surface– what do you see?– does the Phong reflection model predict
this? Phong reflection is a local illumination
model– does not convey inter-object reflection– global illumination methods such as ray
tracing and radiosity provide this .. but can we cheat?
![Page 24: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/24.jpg)
24GR2-00
Environment Mapping - Recipe
Environment Mapping - Recipe
Place a large cube around the scene with a camera at the centre
Project six camera views onto faces of cube - known as an environment mapenvironment map
camera
projection of sceneon face of cube -environment map
![Page 25: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/25.jpg)
25GR2-00
Environment Mapping - Rendering
Environment Mapping - Rendering
When rendering a shiny object, calculate the reflected viewing direction (called R earlier)
This points to a colour on the surrounding cube which we can use as a texture when rendering
eyepoint
environmentmap
![Page 26: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/26.jpg)
26GR2-00
Environment Mapping - Limitations
Environment Mapping - Limitations
Obviously this gives far from perfect results - but it is much quicker than the true global illumination methods (ray tracing and radiosity)
It can be improved by multiple environment maps (why?) - one per key object
Also known as reflection mappingreflection mapping Can use sphere rather than cube
![Page 27: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/27.jpg)
27GR2-00
Environment MappingEnvironment Mapping
![Page 28: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/28.jpg)
28GR2-00
Environment MappingEnvironment Mapping
![Page 29: 1GR2-00 GR2 Advanced Computer Graphics AGR Lecture 12 Solid Textures Bump Mapping Environment Mapping.](https://reader035.fdocuments.in/reader035/viewer/2022081519/56649d355503460f94a0ce81/html5/thumbnails/29.jpg)
29GR2-00
Jim BlinnJim Blinn
Both bump mapping and environment mapping concepts are due to Jim Blinn
Pioneer figure in computer graphics
www.research.microsoft.com/~blinn
www.siggraph.org/s98/conference/keynote/slides.html