Radiosity (3D Computer Graphics)
   HOME

TheInfoList



OR:

In
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for th ...
, radiosity is an application of the
finite element method The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat ...
to solving the
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. It was simultaneously introduced ...
for scenes with surfaces that reflect light diffusely. Unlike rendering methods that use Monte Carlo algorithms (such as
path tracing Path tracing is a computer graphics Monte Carlo method of rendering images of three-dimensional scenes such that the global illumination is faithful to reality. Fundamentally, the algorithm is integrating over all the illuminance arriving to ...
), which handle all types of light paths, typical radiosity only account for paths (represented by the code "LD*E") which leave a light source and are reflected diffusely some number of times (possibly zero) before hitting the eye. Radiosity is a
global illumination Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
in the sense that the illumination arriving on a surface comes not just directly from the light sources, but also from other surfaces reflecting light. Radiosity is viewpoint independent, which increases the calculations 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 is a discipline of thermal engineering that concerns the generation, use, conversion, and exchange of thermal energy (heat) between physical systems. Heat transfer is classified into various mechanisms, such as thermal conduction, ...
. They were later refined specifically for the problem of rendering computer graphics in 1984 by researchers at
Cornell University Cornell University is a private statutory land-grant research university based in Ithaca, New York. It is a member of the Ivy League. Founded in 1865 by Ezra Cornell and Andrew Dickson White, Cornell was founded with the intention to teach an ...
and
Hiroshima University is a Japanese national university located in Higashihiroshima and Hiroshima, Japan. Established in 1929, it was chartered as a university in 1949 following the merge of a number of national educational institutions. History Under the Nationa ...
. Notable commercial radiosity engines are Enlighten by Geomerics (used for games including
Battlefield 3 ''Battlefield 3'' is a 2011 first-person shooter video game developed by DICE (company), DICE and published by Electronic Arts for Windows, Microsoft Windows, PlayStation 3 and Xbox 360. It is a direct sequel to 2005's ''Battlefield 2''. In ''B ...
and Need for Speed: The Run);
3ds Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capabil ...
; form•Z;
LightWave 3D LightWave 3D is a 3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Car ...
and the
Electric Image Animation System The Electric Image Animation System (EIAS) is a 3D computer graphics package published by EIAS3D. It currently runs on the macOS and Windows platforms. History Electric Image, Inc. was initially a visual effects production company. They developed ...
.


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 In radiative heat transfer, a view factor, F_, is the proportion of the radiation which leaves surface A that strikes surface B. In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surface ...
(also known as ''form factor'') is computed for each pair of patches; it is a coefficient 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 linear system of rendering 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 with intermediate radiosity values for the patch, corresponding to bounce levels. That is, after each iteration, we know how the scene looks after one light bounce, after two passes, two bounces, and so forth. This 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 energy 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 Thermal radiation is electromagnetic radiation generated by the thermal motion of particles in matter. Thermal radiation is generated when heat from the movement of charges in the material (electrons and protons in common forms of matter) is ...
, 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. Surfaces are typically discretized into quadrilateral or triangular elements 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 In radiative heat transfer, a view factor, F_, is the proportion of the radiation which leaves surface A that strikes surface B. In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surface ...
of the two patches. This
dimensionless quantity A dimensionless quantity (also known as a bare quantity, pure quantity, or scalar quantity as well as quantity of dimension one) is a quantity to which no physical dimension is assigned, with a corresponding SI unit of measurement of one (or 1) ...
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. More correctly, radiosity ''B'' is the energy per unit area leaving the patch surface per discrete time interval and is the combination of emitted and reflected energy: :B(x)\, dA = E(x) \, dA +\rho(x) \, dA \int_B(x') \frac \cos\theta_x\cos\theta_ \cdot \mathrm(x,x') \,\mathrm dA' where: * ''B(x)''i d''A''i is the total energy leaving a small area d''A''i around a point ''x''. * ''E(x)''i d''A''i is the emitted energy. * ''ρ(x)'' is the reflectivity of the point, giving reflected energy per unit area by multiplying by the incident energy per unit area (the total energy which arrives from other patches). * ''S'' denotes that the integration variable ''x' '' runs over all the surfaces in the scene * ''r'' is the distance between ''x'' and ''x' '' * θx and θx' are the angles between the line joining ''x'' and ''x' '' and vectors normal to the surface at ''x'' and ''x' '' respectively. * Vis(''x'',''x' '') is a visibility function, defined to be 1 if the two points ''x'' and ''x' '' are visible from each other, and 0 if they are not. If the surfaces are approximated by a finite number of planar patches, each of which is taken to have a constant radiosity ''Bi'' and reflectivity ''ρi'', the above equation gives the discrete radiosity equation, :B_i = E_i + \rho_i \sum_^n F_ B_j where ''Fij'' is the geometrical
view factor In radiative heat transfer, a view factor, F_, is the proportion of the radiation which leaves surface A that strikes surface B. In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surface ...
for the radiation leaving ''j'' and hitting patch ''i''. 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.


Solution methods

The equation can formally be solved as matrix equation, to give the vector solution: :B = (I - \rho F)^ E \; This gives the full "infinite bounce" solution for B directly. However the number of calculations to compute the matrix solution scales according to ''n''3, where ''n'' is the number of patches. This becomes prohibitive for realistically large values of ''n''. Instead, the equation can more readily be solved iteratively, by repeatedly applying the single-bounce update formula above. Formally, this is a solution of the matrix equation by
Jacobi iteration In numerical linear algebra, the Jacobi method is an iterative algorithm for determining the solutions of a strictly diagonally dominant system of linear equations. Each diagonal element is solved for, and an approximate value is plugged in. The ...
. Because the reflectivities ρi are less than 1, this scheme converges quickly, typically requiring only a handful of iterations to produce a reasonable solution. Other standard iterative methods for matrix equation solutions can also be used, for example the
Gauss–Seidel method In numerical linear algebra, the Gauss–Seidel method, also known as the Liebmann method or the method of successive displacement, is an iterative method used to solve a system of linear equations. It is named after the German mathematicians Carl ...
, where updated values for each patch are used in the calculation as soon as they are computed, rather than all being updated synchronously at the end of each sweep. The solution can also be tweaked to iterate over each of the sending elements in turn in its main outermost loop for each update, rather than each of the receiving patches. This is known as the ''shooting'' variant of the algorithm, as opposed to the ''gathering'' variant. Using the view factor reciprocity, ''A''i ''F''ij = ''A''j ''F''ji, the update equation can also be re-written in terms of the view factor ''F''ji seen by each ''sending'' patch ''A''j: :A_i B_i = A_i E_i + \rho_i \sum_^n A_j B_j F_ This is sometimes known as the "power" formulation, since it is now the total transmitted power of each element that is being updated, rather than its radiosity. The
view factor In radiative heat transfer, a view factor, F_, is the proportion of the radiation which leaves surface A that strikes surface B. In a complex 'scene' there can be any number of different objects, which can be divided in turn into even more surface ...
''F''ij itself can be calculated in a number of ways. Early methods used a ''
hemicube Hemicube can mean: * Hemicube (technology company), a company based in Dubai that develops advanced technology solutions. * Hemicube (computer graphics), a concept in 3D computer graphics rendering *Hemicube (geometry), an abstract regular polytope ...
'' (an imaginary cube centered upon the first surface to which the second surface was projected, devised by Michael F. Cohen and Donald P. Greenberg in 1985). The surface of the hemicube was divided into pixel-like squares, for each of which a view factor can be readily calculated analytically. The full form factor could then be approximated by adding up the contribution from each of the pixel-like squares. The projection onto the hemicube, which could be adapted from standard methods for determining the visibility of polygons, also solved the problem of intervening patches partially obscuring those behind. However all this was quite
computation Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm). Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An es ...
ally expensive, because ideally form factors must be derived for every possible pair of patches, leading to a quadratic increase in computation as the number of patches increased. This can be reduced somewhat by using a binary space partitioning tree to reduce the amount of time spent determining which patches are completely hidden from others in complex scenes; but even so, the time spent to determine the form factor still typically scales as ''n'' log ''n''. New methods include adaptive integration.


Sampling approaches

The form factors ''F''ij themselves are not in fact explicitly needed in either of the update equations; neither to estimate the total intensity Σj ''F''ij ''B''j gathered from the whole view, nor to estimate how the power ''A''j ''B''j being radiated is distributed. Instead, these updates can be estimated by sampling methods, without ever having to calculate form factors explicitly. Since the mid 1990s such sampling approaches have been the methods most predominantly used for practical radiosity calculations. The gathered intensity can be estimated by generating a set of samples in the unit circle, lifting these onto the hemisphere, and then seeing what was the radiosity of the element that a ray incoming in that direction would have originated on. The estimate for the total gathered intensity is then just the average of the radiosities discovered by each ray. Similarly, in the power formulation, power can be distributed by generating a set of rays from the radiating element in the same way, and spreading the power to be distributed equally between each element a ray hits. This is essentially the same distribution that a path-tracing program would sample in tracing back one diffuse reflection step; or that a bidirectional ray-tracing program would sample to achieve one forward diffuse reflection step when light source mapping forwards. The sampling approach therefore to some extent represents a convergence between the two techniques, the key difference remaining that the radiosity technique aims to build up a sufficiently accurate map of the radiance of all the surfaces in the scene, rather than just a representation of the current view.


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 be the case. The radiosity problem can be rephrased as a problem of rendering a
texture mapped Texture mapping is a method for mapping a texture on a computer-generated graphic. Texture here can be high frequency detail, surface texture, or color. History The original technique was pioneered by Edwin Catmull in 1974. Texture mappi ...
scene. In this case, the computation time increases only linearly with the number of patches (ignoring complex issues like
cache Cache, caching, or caché may refer to: Places United States * Cache, Idaho, an unincorporated community * Cache, Illinois, an unincorporated community * Cache, Oklahoma, a city in Comanche County * Cache, Utah, Cache County, Utah * Cache County ...
use). 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 is a 3D computer graphics technique used to create texture mapping for objects that emulates patch interaction algorithms in Radiosity (3D computer graphics), radiosity Rendering (computer graphics), rendering. Though practiced in so ...
. 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 (cf.
ambient occlusion In 3D computer graphics, modeling, and animation, ambient occlusion is a shading and rendering technique used to calculate how exposed each point in a scene is to ambient lighting. For example, the interior of a tube is typically more occluded ...
). Static, pre-computed radiosity may be displayed in realtime via
Lightmap A lightmap is a data structure used in lightmapping, a form of surface caching in which the brightness of surfaces in a virtual scene is pre-calculated and stored in texture maps for later use. Lightmaps are most commonly applied to static o ...
s on current desktop computers with standard graphics acceleration hardware.


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 transform A 3D projection (or graphical projection) is a design technique used to display a three-dimensional (3D) object on a two-dimensional (2D) surface. These projections rely on visual perspective and aspect analysis to project a complex object fo ...
ations,
texture mapping Texture mapping is a method for mapping a texture on a computer-generated graphic. Texture here can be high frequency detail, surface texture, or color. History The original technique was pioneered by Edwin Catmull in 1974. Texture mapping ...
,
hidden surface removal In 3D computer graphics, hidden-surface determination (also known as shown-surface determination, hidden-surface removal (HSR), occlusion culling (OC) or visible-surface determination (VSD)) is the process of identifying what surfaces and parts o ...
) 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, or regular reflection, is the mirror-like reflection of waves, such as light, from a surface. The law of reflection states that a reflected ray of light emerges from the reflecting surface at the same angle to the surfac ...
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 of the spatial domain. Discontinuity meshin

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 J. Turner Whitted, Whitted-style ray tracing 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 Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
." As a consequence, the terms "
diffuse interreflection Diffuse reflection is the reflection of light or other waves or particles from a surface such that a ray incident on the surface is scattered at many angles rather than at just one angle as in the case of specular reflection. An ''ideal'' di ...
" and "radiosity" both became confused with "global illumination" in popular
parlance {{Short pages monitor