Shading and Hidden Surface Removal
Shading and Hidden Surface Removal
Shading and Hidden Surface Removal
An illumination model, also called lighting model and sometimes referred to as a shading model, is
used to calculate the intensity of light that we should see at a given point on the surface of an object.
A surface-rendering algorithm uses the intensity calculations from an illumination model to determine
the light intensity for all projected pixel positions for the various surfaces in a scene. Surface
rendering can be performed by applying the illumination model to every visible surface point, or the
rendering can be accomplished by interpolating intensities across the surfaces from a small set of
illumination-model calculations. Sometimes, surface-rendering procedures are termed surface-shading
methods.
Light sources
When we view an opaque non luminous object, we see reflected light from the surfaces of the object.
The total reflected light is the sum of the contributions from light sources and other reflecting surfaces
in the scene Thus, a surface that is not directly exposed to a light source may still be visible if nearby
objects are illuminated. Sometimes, light sources are referred to as light-emitting sources; and
reflecting surfaces, such as the walls of a room, are termed light-reflecting sources. We will use the
term light source to mean an object that is emitting radiant energy, such as a Light bulb or the sun. A
luminous object, in general, can be both a light source and a light reflector. For example, a plastic
globe with a light bulb inside both emits and reflects light from the surface of the globe. Emitted light
from the globe may then illuminate other objects in the vicinity.
The simplest model for a light emitter is a point source. Rays from the source then follow radially
diverging paths from the source position, This light-source model is a reasonable approximation for
sources whose dimensions are small compared to the size of objects in the scene. Sources, such as the
sun, that are sufficiently far from the scene can be accurately modelled as point sources. A nearby
source, such as the long fluorescent light is more accurately modelled as a distributed light source. In
this case, the illumination effects cannot be approximated realistically with a point source, because the
area of the source is not small compared to the surfaces in the scene.
When light is incident on an opaque surface, part of it is reflected and part is absorbed. The amount of
incident light reflected by a surface depending on the type of material. Shiny materials reflect more of
the incident light, and dull surfaces absorb more of the incident light. Similarly, for an illuminated
transparent surface, some of the incident light will be reflected and some will be transmitted through
the material. Surfaces that are rough, or grainy, tend to scatter the reflected light in all directions. This
scattered light is called diffuse reflection. A very rough matte surface produces primarily diffuse
reflections, so that the surface appears equally bright from all viewing directions. In addition to
diffuse reflection, light sources create highlights, or bright spots, called specular reflection. This
highlighting effect is more pronounced on shiny surfaces than on dull surfaces.
Ambient Light
A surface that is not exposed directly to a light source still will be visible it nearby objects are
illuminated. In our basic illumination model, we can set a general level of brightness for a scene. This
is a simple way to model the combination of light reflections from various surfaces to produce a
uniform illumination called the ambient light, or background light. Ambient light has no spatial or
directional characteristics. The amount of ambient light incident on each object is a constant for all
surfaces and over all directions.
We can set the level for the ambient light in a scene with parameter Iₐ, and each surface is then
illuminated with this constant value. The resulting reflected light is a constant for each surface,
independent of the viewing direction and the spatial orientation of the surface. But the intensity of the
reflected light for each surface depends on the optical properties of the surface; that is, how much of
the incident energy is to be reflected and how much absorbed.
Diffuse Reflection
Diffuse reflections are constant over each surface in a scene, independent of the viewing direction.
The fractional amount of the incident light that is diffusely reflected can be set for each surface with
parameter kd, the diffuse-reflection coefficient, or diffuse reflectivity. Parameter kd is assigned a
constant value in the interval 0 to 1, according to the reflecting properties we want the surface to have.
If we want a highly reflective surface, we set the value of kd near 1. This produces a bright surface
with the intensity of the refiected light near that of the incident light. To simulate a surface that
absorbs most of the incident light, we set the reflectivity to a value near 0. Actually, parameter kd is a
function of surface color, but for the time being we will assume kd is a constant. If a surface is
exposed only to ambient light, we can express the intensity of the diffuse reflection at any point on the
surface as
Iambdiff =KdIa
We can model the diffuse reflections of illumination from a point source in a similar way. That is, we
assume that the diffuse reflections from the surface are scattered with equal intensity in all directions,
independent of the viewing direction. Such surfaces are sometimes referred to as ideal diffuse
reflectors. They are also called Lambertian reflectors. Even though there is equal light scattering in all
directions from a perfect diffuse reflector, the brightness of the surface does depend on the orientation
of the surface relative to the light source. A surface that is oriented perpendicular to the direction of
the incident light appears brighter than if the surface were tilted at an oblique angle to the direction of
the incoming light. As the angle between the surface normal and the incoming light direction
increases, less of the incident light falls on the surface, as shown in Fig.
A surface perpndicular to the direction of the incident light (a) is more illuminated than an equal-sized
surface at an oblique angle (b) to the incoming light direction.
This figure shows a beam of light rays incident on two equal-area plane surface patches with different
spatial orientations relative to the incident light direction from a distant source (parallel incoming
rays) If we denote the angle of incidence between the incoming light direction and the surface normal
as ᶿ.
A surface is illuminated by a point source only if the angle of incidence is in the range 0 to 90
degree (cos ᶿ is in the interval from 0 to 1). When cos ᶿ is negative, the light source is "behind" the
surface.
If N is the unit normal vector to a surface and L is the unit direction vector to the point light source
from a position on the surface then cos ᶿ = N. L and the diffuse reflection equation for single point-
source illumination is
Angle of incidence ᶿ between the unit light-source direction vector L and the unit surface normal N.
We can combine the ambient and point source intensity calculations to obtain an expression for the
total diffuse reflection. In addition, many graphics packages introduce an ambient-reflection
coefficient ka to modify the ambient light intensity Ia, for each surface. This simply provides us with
an additional parameter to adjust the light conditions in a scene. Using parameter ka we can write
the total diffuse reflection equation as
where both ka, and kd, depend on surface material properties and are assigned values in the range
from 0 to 1.
When we look at an illuminated shiny surface, such as polished metal, an apple, or a person's
forehead, we see a highlight, or bright spot, at certain viewing directions. This phenomenon, called
specular reflection, is the result of total, or near total, reflection of the incident light in a concentrated
region around the Specular reflection angle.
Fig. shows the specular reflection direction at a point on the illuminated surface. The Specular-
reflection angle equals the angle of the incident light, with the two angles measured on opposite sides
of the unit normal surface vector N.
we use R to represent the unit vector in the direction of ideal specular reflection.
-L to represent the unit vector directed toward the point light source.
-V as the unit vector pointing to the viewer from the surface position.
-Angle Φ is the viewing angle relative to the specular-reflection direction R.
For an ideal reflector (perfect mirror), incident light is reflected only in the specular-reflection
direction.
-In this case, we would only see reflected light when vectors V and R coincide (ᶲ = 0).
Objects other than ideal reflectors exhibit specular reflections over a finite range of viewing positions
around vector R
-Shiny surfaces have a narrow Specular- reflection range
-dull surfaces have a wider reflection range
An empirical model for calculating the Specular-reflection range, developed by Phong Bui Tuong and
called the Phong specular-reflection model, or simply the Phong model, sets the intensity of specular
reflection proportional to cos ⁿ ᶲ.
-Angle ᶲ can be assigned values in the range 0 to 90 degree so that cos ᶲ varies from 0 to 1.
The value assigned to specular-reflection parameter n, is determined by the type of surface that we
want to display. A very shiny surface is modelled with a large value for n, (say, 100 or more), and
smaller values (down to 1) are used for duller surfaces.
For a perfect reflector, n, is infinite. For a rough surface, such as chalk or cinderblock, n,
would be assigned a value near 1
The intensity of specular reflection depends on the material properties of the surface and the angle of
incidence, as well as other factors such as the polarization and color of the incident light. We can
approximately model monochromatic specular intensity variations using a specular-reflection
coefficient, W(ᶿ), for each surface. In general, W(ᶿ) tends to increase as the angle of incidence
increases.
-At ᶿ = 90 degree W(ᶿ) = 1 and all of the incident light is reflected.
Using the spectral-reflection function W(ᶿ), we can write the Phong specular-reflection model as
whereIl, is the intensity of the light source, and ᶲ is the viewing angle relative to the specular-
reflection direction R.
Since V and R are unit vectors in the viewing and specular-reflection directions, we can calculate the
value of cosᶲ with the dot product V .R. Assuming the specular-reflection coefficient is a constant,
we can determine the intensity of the specular reflection at a surface point with the calculation
Vector R in this expression can be calculated in terms of vectors L and N As seen in Fig
the projection of L onto the direction of the normal vector is obtained with the dot product N . L.
Therefore, from the diagram, we have
A somewhat simplified Phong model is obtained by using the halfway vector H between Land V to
calculate the range of specular reflections. If we replace V.R in the Phong model with the dot product
N .H, this simply replaces the empirical cos ᶲ calculation with the empirical cos α calculation.The
Halfway vector is obtained as
If both the viewer and the Light source are sufficiently far from the surface, both V and L are constant
over the surface, and thus H is also constant for all surface points. For non planar surfaces, N.H then
requires less computation than V.R since the calculation of R at each surface point involves the
variable vector N.
For given light-source and viewer positions, vector H is the orientation direction for the surface that
would produce maximum specular reflection in the viewing direction. For this reason, H is sometimes
referred to as the surface orientation direction for maximum highlights. Also, if vector V is coplanar
with vectors L and R (and thus N), angle α has the value ᶲ/2. When V, L, and N are not coplanar,
α > ᶲ/2, depending on the spatial relationship of the three vectors.