Graphics Reference
In-Depth Information
Figure 9.17.
Texturing with bump
maps.
where b(u,v) is the bump map or perturbation. See Figure 9.17. The vectors
(
) =
(
) ¥
(
)
Nuv
,
P uv
,
P uv
,
u
v
are normal vectors to Y at P(u,v). But, suppressing references to the parameters u
and v,
Ppb n
n
n
n
Ê
Ë
ˆ
¯
=+
+
b
u
u
u
u
and
Ppb n
n
n
n
Ê
Ë
ˆ
¯
=+
+
b
.
v
v
v
v
If we assume a small perturbation b(u,v), then it is reasonable to neglect the last terms.
Therefore, N is approximated by
Np p b np
n
¥
np
n
¥
v
u
¢=
¥
+
+
b
u
v
u
v
nb np
n
¥
np
n
¥
v
u .
=+
+
b
(9.14)
u
v
Note that in order to compute the approximate normals for Y we do not need to know
the perturbation function b(u,v) itself, but only its partial derivatives. Any function
can be used as a bump function. To speed up the computation one typically uses a
lookup table and interpolation. Standard approximations to the partials are
1
2e
(
) =
(
(
) --
(
)
)
buv
,
bu
+
e
,
v bu
e
,
v
(9.15a)
u
Search WWH ::




Custom Search