
Note: This is for a single
light. If multiple lights are used, one
computes a colour for each light source (and sums all the colours up).
For
computational efficiency, Blinn modified the Phong model. Instead
of basing the specular reflection on the angle α
between
r and
v, it
is based on the angle β between
h and
n. Here,
h is the
halfway
vector,
which is halfway between
s and
v.
h is
slightly faster to compute than
r.
Note though, β is a different angle than α
. Using a different angle affects the specular
reflection. However, the shininess can
be modified to provide a similar effect as Phong shading.

A
light’s specular component
ls is
reflected by a surface. The amount of
light reflection at each vertex is based on the halfway vector
h, the
surface normal
n, and the surface
specular
material,
ms.
The
colour resulting from the specular reflection is

where n is the shininess.