radiosity by liuqingyan


Computer Graphics Algorithms

          Ying Zhu
   Georgia State University

• What is radiosity?
• Radiosity process
  – Form factor
  – Solve radiosity
• Advantages and limitations of radiosity

• 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
           What is radiosity?
• 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.
• Radiosity methods allow the intensity of radiant
  energy arriving at a surface to be computed.
• These intensities can then be used to determine
  the shading of the surface.
• In graphics, the term “radiosity” refers to the
  rendering algorithm that models the lighting
  process as energy transfer

            Radiosity Process
• Process
  – Group mesh surface into patches
  – Calculate form factors for patches
  – Solve radiosity
  – Display patches

         The Radiosity Equation
• 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
   – 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.

The Radiosity Equation

               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.

              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

The Form Factor

             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

The Nusselt Analog

   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).

    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.

       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

          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.

Radiosity form factor learniing tools
• Brown University Exploratories project:
• Radiosity Form Factor:
  – This applet shows how the form factor
    between two patches varies in magnitude
    depending on the relative geometry of the

 The Full Matrix Radiosity Algorithm
• 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.

The Full Matrix Radiosity Algorithm

 The Full Matrix Radiosity Algorithm
• 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.

The Progressive Radiosity Algorithm
• The "progressive" radiosity solution is an
  incremental method, yielding intermediate
  results at much lower computation and storage
• 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.

The Progressive Radiosity Algorithm
• 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.

The Progressive Radiosity Algorithm

Progressive Radiosity Example

 Progressive Radiosity Variants
• Several variations on the basic progressive
  radiosity algorithm have been developed.
   – “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.

  Progressive Radiosity Variants
• 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.

  Comparison of Progressive Variants

gathering                        shooting

Shooting                        Shooting
& sorting                       & sorting
                                & ambient

The Two-Pass Radiosity Solution
• View independent, global diffuse
  illumination computed with radiosity pre-
• View dependent, global specular
  illumination computed with ray tracing
• Combining the strengths of radiosity and
  ray tracing achieves a more accurate and
  efficient solution to the problem of light
           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.

Participating Media

      Advantages of Radiosity
• 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.

      Advantages of Radiosity

– 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
  adjacent surfaces. The image in
  this slide illustrates this
  phenomenon, as both the red and
  blue walls "bleed" their color
  onto the white walls, ceiling
  and floor.

     Radiosity vs. Ray Tracing
• Simulate soft shadows: shadows with soft edges
  – 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

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

Radiosity Examples

Radiosity Examples

             Over 1 million
Radiosity Examples

           Radiosity tools
• Pixar’s PRMan
• Radiosity is supported in POV-Ray

• What is radiosity?
• Radiosity process
  – Form factor
  – Solve radiosity
• Advantages and limitations of radiosity


To top