Texture and Bump Mapping
Texture and Bump Mapping
Texture
Motivation
My God! We wont
finish the wall in time.
They arrive before, and
well die!!! What can I
do alone?
1 brick,
2 bricks,
3 bricks,
....
Dont
worry!
Im so
strong...
Texture
In computer graphics, the fine surface detail on an object is
generated using textures.
Three aspects of texture are generally considered:
Texture
Texture mapping
The basis of adding texture patterns is mapping:
Texture Space
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Object Space
(u,v)
zo
u
yo
Image Space
(xs, ys)
ys
xs
Texture
Texture mapping
Object space mapping:
The surface is represented in parametric space (s,t) as: x(s,t), y(s,t), z(s,t)
s=f(u,v) , t=g(u,v)
The inverse mapping from parametric space to texture space is:
Texture
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Texture mapping
Texture Space
Object Space
zo
u=1
v=1
u=0
v=1
u=1
v=1
u=1
v=0
u=0
v=0
xo
u
u=0,v=0
yo
u=0
v=0
Texture
Texture mapping
Mapping functions:
s=f(u,v) , t=g(u,v)
s=A u+B
The mapping functions are frequently assumed to be linear: t=C v+D
where the constants A, B, C and D are obtained from the relationship
between known points in the two systems.
zo
zo
u=0
v=1
u=1
v=1
u=1
v=0
xo
yo
u=0
v=0
xo
yo
Texturized surface
Texture
Comparing models
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Wireframe surface
Smooth surface
Flat surface
Texturized surface
Texture
Texture mapping
However, linear mapping functions may lead to unsatisfactory results.
Texture Space
Object Space
Texture
Texture mapping
Bier, E.A., Sloan, K.R. Two-part Texture Mappings, IEEE Comput. Graph. and Appl.,
Vol. 6, N 9, pp. 40-53, 1986.
Two-part mapping
(u,v)
Texture Space
T(xi, yi)
Intermediate space
Texture
Texture mapping
Two-part mapping
For the S mapping the authors described four intermediate surfaces:
1.- A plane at any orientation
To align the texture with the plane
require:
3 rotations + 3 translations
Then, the pattern must be scaled.
Ignoring rotations and translations,
the transformation is given by:
(u,v)
(a xi ,d yi)
a, d - scaling factors
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Texture
Texture mapping
Two-part mapping
2.- The curved surface of a cylinder (Useful for surfaces of revolution)
where a, d are scaling factors, and
(u,v)
[a r (0) ,d (h-h0)]
0 and h0 position the texture on the
surface of the cylinder of radius r.
Texture
Texture mapping
Two-part mapping
(u,v)=(2p/C,2q/C)
(, )
C=1+sqrt(1+p2+q2)
p=tan()cos() , q=tan()cos()
Texture
Texture mapping
Two-part mapping
4.- The faces of a cube
Interesting enough, since a box is topologically equivalent to an sphere.
Shortcoming: nonadjacent pieces of the texture are now adjacent both on the box
surface and the final three-dimensional surface, leading to possible discontinuities.
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Texture
Texture mapping
Two-part mapping
For the O mapping we also have four mapping techniques (which map
the texture from the intermediate surface to the object):
Reflected ray: trace a ray from the viewpoint of the object and then trace the
resulting reflected ray from the object to the intermediate surface. This is in
fact the environment mapping.
Object normal: find the intersection of the normal to the object surface with
the intermediate surface.
Object centroid: intersect the line defined by the centroid of the object and
a point on the object surface with the intermediate surface.
Intermediate surface normal (ISN): trace a ray in the direction of the normal
at a point on the intermediate surface to find its intersection with the object.
Reflected ray is ignored because is viewpoint dependent and not very useful.
2001 Andrs Iglesias. See: http://personales.unican.es/iglesias
Texture
plane
sphere
cylinder
box
Texture
Texture mapping
Two-part mapping
Plane
Cylinder
Sphere
Box
Object normal
Redundant
Poor
OK
OK
Object centroid
Redundant
Poor
I.S.N.
slide projector
shrinkwrap
centroid/sphere centroid/box
Redundant
ISN/box
Painter 3D
Amorphium
Flat
Cylindrical
Spherical
Texture
Bump mapping
Adding texture patterns to smooth surfaces produces smooth surfaces.
Using a rough-textured pattern to add the appearance of roughness to a surface
is not a good idea. Rough-textured surfaces hava a small random component in
the surface normal and hence in the light reflection direction.
n
|n|
Blinn, J.F., A scan line algorithm for the computer display of parametrically defined
surfaces, Comput. Graph., Vol. 12, 1978 (supplement SIGGRAPH78).
Texture
Bump mapping
n = n +
Pu (n x Sv )
P (S x n)
+ v u
|n|
|n|
Different effects can be achieved: smoother functions give more regular feature
random function gives rough surface
Texture
Bump mapping
An example: