All Topics  
Radiosity

 

   Email Print
   Bookmark   Link





 

Radiosity




 
 
Radiosity is a global illumination
Global illumination

Global illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes....
 algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
 used in 3D computer graphics
3D computer graphics

3D computer graphics are graphics that use a Cartesian coordinate system#Three-dimensional coordinate system representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images....
 rendering
Rendering (computer graphics)

Rendering is the process of generating an image from a 3D model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure....
. Radiosity is an application of the finite element method
Finite element method

The finite element method is a numerical analysis for finding approximate solutions of partial differential equations as well as of integral equations....
 to solving the rendering equation
Rendering equation

In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation....
 for scenes with purely diffuse surfaces. Unlike Monte Carlo algorithms
Monte Carlo method

Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when computer simulation physics and mathematics systems....
 (such as path tracing
Path Tracing

Path tracing is a photorealistic computer graphics rendering technique by James Kajiya when he presented his paper on the rendering equation in the 1980s....
) which handle all types of light paths, typical radiosity methods only account for paths of the form LD*E, i.e., paths which leave a light source and are reflected diffusely some number of times (possibly zero) before hitting the eye.






Discussion
Ask a question about 'Radiosity'
Start a new discussion about 'Radiosity'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Radiosity is a global illumination
Global illumination

Global illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes....
 algorithm
Algorithm

In mathematics, computing, linguistics and related subjects, an algorithm is a sequence of finite instructions, often used for calculation and data processing....
 used in 3D computer graphics
3D computer graphics

3D computer graphics are graphics that use a Cartesian coordinate system#Three-dimensional coordinate system representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images....
 rendering
Rendering (computer graphics)

Rendering is the process of generating an image from a 3D model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure....
. Radiosity is an application of the finite element method
Finite element method

The finite element method is a numerical analysis for finding approximate solutions of partial differential equations as well as of integral equations....
 to solving the rendering equation
Rendering equation

In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation....
 for scenes with purely diffuse surfaces. Unlike Monte Carlo algorithms
Monte Carlo method

Monte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used when computer simulation physics and mathematics systems....
 (such as path tracing
Path Tracing

Path tracing is a photorealistic computer graphics rendering technique by James Kajiya when he presented his paper on the rendering equation in the 1980s....
) which handle all types of light paths, typical radiosity methods only account for paths of the form LD*E, i.e., paths which leave a light source and are reflected diffusely some number of times (possibly zero) before hitting the eye. Radiosity calculations are viewpoint independent which increases the computations involved, but makes them useful for all viewpoints.

Radiosity methods were first developed in about 1950 in the engineering field of heat transfer
Heat transfer

Heat transfer is the transition of thermal energy or simply heat from a hotter object to a cooler object . When an object or fluid is at a different temperature than its thermodynamic system or another object, transfer of thermal energy, also known as heat transfer, or heat exchange, occurs in such a way that the body and the surround...
. They were later refined specifically for application to the problem of rendering computer graphics in 1984 by researchers at Cornell University
Cornell University

Cornell University located in Ithaca, New York, USA, is a private university with four Statutory college. Its two medical campuses are in New York City and Education City, Qatar....
.

Notable commercial radiosity engines are Lightscape (now incorporated into the Autodesk
Autodesk

Autodesk, Inc. is an United States multinational corporation that focuses on 2D and 3D Computer Aided Design design software for use in architecture, engineering and building construction, manufacturing, and media and entertainment....
 3D Studio Max
3D Studio Max

Autodesk 3ds Max, formerly 3D Studio MAX, is a modeling, animation and rendering package developed by Autodesk Media and Entertainment....
 internal render engine), form•Z
Form-Z

form?Z is a computer-aided design tool developed by AutoDesSys for all design fields that deal with the articulation of 3D spaces and forms and which is used for 3D modeling, drafting, Computer animation and Rendering ....
 RenderZone Plus by AutoDesSys, Inc.), and ElAS
Electric Image Animation System

The Electric Image Animation System is a 3D computer graphics package published by EI Technology Group. It currently runs on the Mac OS X and Microsoft Windows platforms....
 (Electric Image Animation System).

Visual characteristics

The inclusion of radiosity calculations in the rendering process often lends an added element of realism to the finished scene, because of the way it mimics real-world phenomena. Consider a simple room scene.

The image on the left was rendered with a typical direct illumination renderer. There are three types of lighting in this scene which have been specifically chosen and placed by the artist in an attempt to create realistic lighting: spot lighting with shadows (placed outside the window to create the light shining on the floor), ambient lighting (without which any part of the room not lit directly by a light source would be totally dark), and omnidirectional lighting without shadows (to reduce the flatness of the ambient lighting).

The image on the right was rendered using a radiosity algorithm. There is only one source of light: an image of the sky placed outside the window. The difference is marked. The room glows with light. Soft shadows are visible on the floor, and subtle lighting effects are noticeable around the room. Furthermore, the red color from the carpet has bled onto the grey walls, giving them a slightly warm appearance. None of these effects were specifically chosen or designed by the artist.

Overview of the radiosity algorithm


The surfaces of the scene to be rendered are each divided up into one or more smaller surfaces (patches). A view factor
View factor

In radiative heat transfer, a view factor is the proportion of all that radiation which leaves surface and strikes surface .In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surfaces and surface segments....
 is computed for each pair of patches. View factors (also known as form factors) are coefficients describing how well the patches can see each other. Patches that are far away from each other, or oriented at oblique angles relative to one another, will have smaller view factors. If other patches are in the way, the view factor will be reduced or zero, depending on whether the occlusion is partial or total.

The view factors are used as coefficients in a linearized form of the rendering equation, which yields a linear system of equations. Solving this system yields the radiosity, or brightness, of each patch, taking into account diffuse interreflections and soft shadows.

Progressive radiosity solves the system iteratively in such a way that after each iteration we have intermediate radiosity values for the patch. These intermediate values correspond to bounce levels. That is, after one iteration, we know how the scene looks after one light bounce, after two passes, two bounces, and so forth. Progressive radiosity is useful for getting an interactive preview of the scene. Also, the user can stop the iterations once the image looks good enough, rather than wait for the computation to numerically converge.

Another common method for solving the radiosity equation is "shooting radiosity," which iteratively solves the radiosity equation by "shooting" light from the patch with the most error at each step. After the first pass, only those patches which are in direct line of sight of a light-emitting patch will be illuminated. After the second pass, more patches will become illuminated as the light begins to bounce around the scene. The scene continues to grow brighter and eventually reaches a steady state.

Mathematical formulation

The basic radiosity method has its basis in the theory of thermal radiation
Heat

In physics and thermodynamics, heat is any transfer of energy from one body or thermodynamic system to another due to a difference in temperature....
, since radiosity relies on computing the amount of light energy transferred among surfaces. In order to simplify computations, the method assumes that all scattering is perfectly diffuse
Lambert's cosine law

Lambert's cosine law in optics says that the radiant intensity observed from a "Lambertian" surface is directly proportional to the cosine of the angle ? between the observer's line of sight and the surface normal....
. Surfaces are typically discretized into quadrilateral or triangular elements
Finite element method

The finite element method is a numerical analysis for finding approximate solutions of partial differential equations as well as of integral equations....
 over which a piecewise polynomial function is defined.

After this breakdown, the amount of light energy transfer can be computed by using the known reflectivity of the reflecting patch, combined with the view factor
View factor

In radiative heat transfer, a view factor is the proportion of all that radiation which leaves surface and strikes surface .In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surfaces and surface segments....
 of the two patches. This dimensionless quantity is computed from the geometric orientation of two patches, and can be thought of as the fraction of the total possible emitting area of the first patch which is covered by the second patch.

More correctly, radiosity is the energy leaving the patch surface per discrete time interval and is the combination of emitted and reflected energy:

where:
  • Bi is the radiosity
    Radiosity (heat transfer)

    In the fields of optics and heat transfer, radiosity is the total emitted and reflected radiation leaving a surface.The diffuse radiosity is the integral of the hemispherical spectral radiosity over the spectrum:...
     of patch i.
  • Ei is emitted energy.
  • Ri is the reflectivity of the patch, giving reflected energy by multiplying by the incident energy (the energy which arrives from other patches).
  • All j in the rendered environment are integrated for BjFji dAj, to determine the energy leaving each patch j that arrives at patch i.
  • Fij is the constant-valued view factor
    View factor

    In radiative heat transfer, a view factor is the proportion of all that radiation which leaves surface and strikes surface .In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surfaces and surface segments....
     for the radiation leaving i and hitting patch j.


The reciprocity:

gives:

For ease of use the integral
Integral

Integration is an important concept in mathematics, specifically in the field of calculus and, more broadly, mathematical analysis. Given a function ƒ of a Real number variable x and an interval [ab] of the real line, the integral...
 is replaced and uniform radiosity is assumed over the patch, creating the simpler:

This equation can then be applied to each patch. The equation is monochromatic, so color radiosity rendering requires calculation for each of the required colors.

The view factor
View factor

In radiative heat transfer, a view factor is the proportion of all that radiation which leaves surface and strikes surface .In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surfaces and surface segments....
 Fji can be calculated in a number of ways. Early methods used a hemicube (an imaginary cube centered upon the first surface to which the second surface was projected, devised by Cohen and Greenberg in 1985) to approximate the form factor, which also solved the intervening patch problem. This is quite computation
Computation

Computation is a general term for any type of information processing. This includes phenomena ranging from human thinking to calculations with a more narrow meaning....
ally expensive, because ideally form factor
Form factor (radiative transfer)

In physics, form factor of a material, sometimes called emissivity, relates the proportion of energy transmitted by that object which can be transferred to another object....
s must be derived for every possible pair of patches, leading to a quadratic
Quadratic function

A quadratic function, in mathematics, is a polynomial function of the form , where . The graph of a function of a quadratic function is a parabola whose major axis is parallel to the y-axis....
 increase in computation with added geometry. New methods include adaptive integration

Reducing computation time

Although in its basic form, radiosity is assumed to have a quadratic increase in computation time with added geometry (surfaces and patches), this need not to be the case. The radiosity problem can be rephrased as a problem of rendering a texture mapped
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
 scene. In this case, the computation time increases only linearly with the number of patches (ignoring complex issues like cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
 use). Using a binary space partitioning tree
Binary space partitioning

Binary space partitioning is a method for recursively subdividing a Euclidean space into convex sets by hyperplanes. This subdivision gives rise to a representation of the scene by means of a Tree known as a BSP tree....
 can massively reduce the amount of time spent determining which patches are completely hidden from others in complex scenes.

Following the commercial enthusiasm for radiosity-enhanced imagery, but prior to the standardization of rapid radiosity calculation, many architects and graphic artists used a technique referred to loosely as false radiosity
False radiosity

False Radiosity is a 3D computer graphics technique used to create texture mapping for objects that emulates patch interaction algorithms in radiosity rendering....
. By darkening areas of texture maps corresponding to corners, joints and recesses, and applying them via self-illumination or diffuse mapping, a radiosity-like effect of patch interaction could be created with a standard scanline renderer.

Since radiosity can now be computed more effectively using texture mapping algorithms, it lends itself to acceleration using standard graphics acceleration hardware, widely available for all types of computers.

Advantages

One of the advantages of the Radiosity algorithm is that it is relatively simple to explain and implement. This makes it a useful algorithm for teaching students about global illumination algorithms. A typical direct illumination renderer already contains nearly all of the algorithms (perspective transformations, texture mapping
Texture mapping

Texture mapping is a method for adding detail, surface texture, or colour to a computer-generated imagery or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D....
, hidden surface removal) required to implement radiosity. A strong grasp of mathematics is not required to understand or implement this algorithm.

Limitations

Typical radiosity methods only account for light paths of the form LD*E, i.e., paths which start at a light source and make multiple diffuse bounces before reaching the eye. Although there are several approaches to integrating other illumination effects such as specular
Specular reflection

Specular reflection is the perfect, mirror-like reflection of light from a surface, in which light from a single incoming direction is reflected into a single outgoing direction....
and glossy reflections, radiosity-based methods are generally not used to solve the complete rendering equation.

Basic radiosity also has trouble resolving sudden changes in visibility (e.g., hard-edged shadows) because coarse, regular discretization into piecewise constant elements corresponds to a low-pass box filter
Low-pass filter

A low-pass filter is a electronic filter that passes low-frequency signal but attenuates signals with frequencies higher than the cutoff frequency....
 of the spatial domain. Discontinuity meshing uses knowledge of visibility events to generate a more intelligent discretization.

Confusion about terminology


Radiosity was perhaps the first rendering algorithm in widespread use which accounted for diffuse indirect lighting. Earlier rendering algorithms, such as Whitted-style ray tracing
Ray tracing

In computer graphics, ray tracing is a technique for generating an digital image by tracing the path of light through pixel in an . The technique is capable of producing a very high degree of photorealism; usually higher than that of typical scanline rendering methods, but at a greater computation time....
 were capable of computing effects such as reflections, refractions, and shadows, but despite being highly global phenomena, these effects were not commonly referred to as "global illumination." As a consequence, the term "global illumination" became confused with "diffuse interreflection," and "Radiosity" became confused with "global illumination" in popular parlance. However, the three are distinct concepts.

The radiosity method in the current computer graphics context derives from (and is fundamentally the same as) the radiosity method in heat transfer
Heat transfer

Heat transfer is the transition of thermal energy or simply heat from a hotter object to a cooler object . When an object or fluid is at a different temperature than its thermodynamic system or another object, transfer of thermal energy, also known as heat transfer, or heat exchange, occurs in such a way that the body and the surround...
. In this context Radiosity (heat transfer)
Radiosity (heat transfer)

In the fields of optics and heat transfer, radiosity is the total emitted and reflected radiation leaving a surface.The diffuse radiosity is the integral of the hemispherical spectral radiosity over the spectrum:...
 is the total radiative flux (both reflected and re-radiated) leaving a surface, also sometimes known as radiant exitance. Calculation of Radiosity rather than surface temperatures is a key aspect of the radiosity method that permits linear matrix methods to be applied to the problem.

External links

(provides full matrix radiosity algorithm and progressive radiosity algorithm) (also provides a general overview of lighting algorithms, along with programming examples) (a slightly more mathematical explanation of radiosity) (an implementation of shooting & sorting variant of progressive radiosity algorithm with OpenGL acceleration, extending from GLUTRAD by Colbeck) (Radiosity Abstracts & Bibliography Library) (simple implementation of radiosity renderer based on OpenGL
OpenGL

OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
)