VIEWS: 23 PAGES: 39

• pg 1
```									       CSc4820/6820
Computer Graphics Algorithms

Ying Zhu
Georgia State University

Outline
– Form factor

2
Background
• Radiosity method is based on the theory of
thermal heat transfer.
• Heat transfer theory describes radiation as
the transfer of energy from a surface when
that surface has been thermally excited.
• This thermal radiation theory can be used
to describe the transfer of many kinds of
energy between surfaces, including light
energy.
3
• The radiosity of a surface is the rate at which
energy leaves that surface (energy per unit time
per unit area).
• It includes the energy emitted by a surface as
well as the energy reflected from other surfaces.
energy arriving at a surface to be computed.
• These intensities can then be used to determine
• In graphics, the term “radiosity” refers to the
rendering algorithm that models the lighting
process as energy transfer

4
• Process
– Group mesh surface into patches
– Calculate form factors for patches
– Display patches

5
• The "radiosity equation" describes the amount of energy
which can be emitted from a surface, as the sum of the
energy inherent in the surface (a light source, for
example) and the energy which strikes the surface,
being emitted from some other surface.
• The energy which leaves a surface (surface "j") and
strikes another surface (surface "i") is attenuated by two
factors:
– the "form factor" between surfaces "i" and "j", which accounts for
the physical relationship between the two surfaces
– the reflectivity of surface "i", which will absorb a certain
percentage of light energy which strikes the surface.

6

7
Form Factor
• The "form factor" describes the fraction of
energy which leaves one surface and arrives at
a second surface.
• It takes into account the distance between the
surfaces, computed as the distance between the
center of each of the surfaces.
• It also takes into account their orientation in
space relative to each other, computed as the
angle between each surface's normal vector and
a vector drawn from the center of one surface to
the center of the other surface.

8
Form Factor
• To use this form factor with surfaces which
have a positive area, the equation must be
integrated over one or both surface areas.
• The form factor between a point on one
surface and another surface with positive
area can be used if the assumption is
made that the single point is
representative of all of the points on the
surface.

9
The Form Factor

10
The Nusselt Analog
• Differentiation of the basic form factor equation is difficult
even for simple surfaces.
• Nusselt developed a geometric analog which allows the
simple and accurate calculation of the form factor
between a surface and a point on a second surface.
• The "Nusselt analog" involves placing a hemispherical
projection body, with unit radius, at a point on a surface.
• The second surface is spherically projected onto the
projection body, then cylindrically projected onto the
base of the hemisphere.
• The form factor is, then, the area projected on the base
of the hemisphere divided by the area of the base of the
hemisphere.

11
The Nusselt Analog

12
The Hemicube Approximation
• In the "hemicube" form factor calculation, the center of a
cube is placed at a point on a surface
• The upper half of the cube is used as a projection body
as defined by the "Nusselt analog."
• Each face of the hemicube is subdivided into a set of
small, usually square ("discrete") areas, each of which
has a pre-computed form factor value.
• When a surface is projected onto the hemicube, the sum
of the form factor values of the discrete areas of the
hemicube faces which are covered by the projection of
the surface is the form factor between the point on the
first surface (about which the cube is placed) and the
second surface (the one which was projected).

13
The Hemicube Approximation

• The speed and
accuracy of this
method of form
factor calculation
can be affected
by changing the
size and number
of discrete areas
on the faces of
the hemicube.

14
The Hemicube Anolog
• This illustration demonstrates the
calculation of form factors between a
particular surface on the wall of a room
and several surfaces of objects in the
room.

15
The Hemicube Anolog
• A radiosity algorithm will compute the form factors from a
point on a surface to all other surfaces, by projecting all
other surfaces onto the hemicube and storing, at each
discrete area, the identifying index of the surface that is
closest to the point.
• When all surfaces have been projected onto the
hemicube, the discrete areas contain the indices of the
surfaces which are ultimately visible to the point.
• From there the form factors between the point and the
surfaces are calculated.
• For greater accuracy, a large surface would typically be
broken into a set of small surfaces before any form factor
calculation is performed.

16
• Brown University Exploratories project:
– http://www.cs.brown.edu/exploratories/freeSof
– This applet shows how the form factor
between two patches varies in magnitude
depending on the relative geometry of the
patches.

17
• Two classes of radiosity algorithms have been
developed which will calculate the energy
equilibrium solution in an environment.
• The "full matrix" radiosity solution calculates the
form factors between each pair of surfaces in the
environment, then forms a series of
simultaneous linear equations.
• This matrix equation is solved for the "B" values,
which can be used as the final intensity (or color)
value of each surface.

18

19
• This method produces a complete solution, at
the substantial cost of first calculating form
factors between each pair of surfaces and then
the solution of the matrix equation.
• Each of these steps can be quite expensive if
the number of surfaces is large
– complex environments typically have upwards of ten
thousand surfaces, and environments with one million
surfaces are not uncommon.
• This leads to substantial costs not only in
computation time but in storage.

20
• The "progressive" radiosity solution is an
incremental method, yielding intermediate
results at much lower computation and storage
costs.
• Each iteration of the algorithm requires the
calculation of form factors between a point on a
single surface and all other surfaces, rather than
all N-squared form factors (where "N" is the
number of surfaces in the environment).
• After the form factor calculation, radiosity values
for the surfaces of the environment are updated.

21
• This method will eventually produce the
same complete solution as the "full matrix"
method, though, unlike the "full matrix"
method, it will also produce intermediate
results, each more accurate than the last.
• It can be halted when the desired
approximation is reached.
• It also exacts no large (again, N-squared)
storage cost.

22

23

24
• Several variations on the basic progressive
– “Gathering” variant
– “Shooting” variant
• The "gathering" variant updates one surface by
collecting light energy from all other surfaces.
• In this variant, as well as the "shooting" variant,
the "base" surface is arbitrarily chosen.

25
• The "shooting" variant updates all surfaces by
distributing light energy from one surface
• The "shooting and sorting" variant chooses the surface
with the greatest unshot light energy and distributes its
light energy to the surfaces in the environment.
– The "shooting and sorting" method is the most desirable, as it
finds the surface with the greatest potential contribution to the
intensity solution and updates all other surfaces in the
environment with its energy.
• In addition to these, an initial "ambient" term can be
approximated for the environment and adjusted at each
iteration, gradually replaced by the true ambient
contribution to the rendered image.

26
Comparison of Progressive Variants

gathering                        shooting

Shooting                        Shooting
& sorting                       & sorting
& ambient

27
• View independent, global diffuse
process.
• View dependent, global specular
illumination computed with ray tracing
post-process.
• Combining the strengths of radiosity and
ray tracing achieves a more accurate and
efficient solution to the problem of light
transport.
28
Participating Media
• Another variation on the basic diffuse radiosity
solution adds the contribution of light passing
through a participating medium, such as smoke,
fog, or water vapor in the air
– Creating volumetric lighting effect
• In this algorithm, light energy is sent through a
three-dimensional volume representing a
participating medium, which both attenuates the
light energy and adds to the intensity solution
through illumination of the participating medium.

29
Participating Media

30
• Photorealistic image quality
• Accurate simulation of energy transfer
• Can simulate color bleeding.
– Light reflected from a surface is attenuated by the
reflectivity of the surface, which is closely associated
with the color of the surface.
– The reflected light energy often is colored, to some
small extent, by the color of the surface from which it
was reflected.

31

– The reflection of light energy in an environment
often produces a phenomenon known as "color
bleeding," where a brightly colored
surface's color will "bleed" onto
this slide illustrates this
phenomenon, as both the red and
blue walls "bleed" their color
onto the white walls, ceiling
and floor.

32
– Ray tracing often creates hard-edged shadows
• Viewpoint independent: the solution will be the
same regardless of the viewpoint of the image

– Ray tracing is viewpoint dependent
• Radiosity is an object space algorithm while ray
tracing is an image space algorithm

33
• Large computational and storage costs
• Must preprocess polygonal environments
– Difficult to compute form factor
• Does not consider transparent/translucent
surfaces
• Non-diffuse components of light not
represented
– Specular highlights hard to achieve

34

35

Over 1 million
polygons
36

37
• Pixar’s PRMan
• Radiosity is supported in POV-Ray
– www.povray.org

38
Summary