ArticleslgStudy

computer science

Radiosity (computer graphics)

Radiosity (computer graphics) is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Radiosity (computer graphics) rather than just read about it. In short: In 3D computer graphics, radiosity is an application of the finite element method to solving the rendering equation for scenes with surfaces that reflect light diffusely. Unlike rendering methods that use Monte Carlo algorithms (such as path tracing), 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…

Radiosity (computer graphics) — main illustration
Radiosity (computer graphics) — illustration

Key takeaways

  • Radiosity (computer graphics) belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Radiosity (computer graphics) to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Radiosity (computer graphics) from memory before moving on to harder problems.

Reference excerpt

In 3D computer graphics, radiosity is an application of the finite element method to solving the rendering equation for scenes with surfaces that reflect light diffusely. Unlike rendering methods that use Monte Carlo algorithms (such as path tracing), 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 algorithm 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. They were later refined specifically for the problem of rendering computer graphics in 1984–1985 by researchers at Cornell University and Hiroshima University. Notable commercial radiosity engines are Enlighten by Geomerics (used for games including Battlefield 3 and Need for Speed: The Run); 3ds Max; form•Z; LightWave 3D and the 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 (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, 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 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. 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 ) d A = E ( x ) d A + ρ ( x ) d A ∫ S B ( x ′ ) 1 π r 2 cos ⁡ θ x cos ⁡ θ x ′ ⋅ V i s ( x , x ′ ) d A ′ {\displaystyle B(x)\,dA=E(x)\,dA+\rho (x)\,dA\int _{S}B(x'){\frac {1}{\pi r^{2}}}\cos \theta _{x}\cos \theta _{x'}\cdot \mathrm {Vis} (x,x')\,\mathrm {d} A'}

where:

… excerpt ends here. Continue reading the full article.

Illustrations

Radiosity (computer graphics): Scene rendered with RRV[1] (simple implementation of radiosity renderer based on OpenGL) 79th iteration
Scene rendered with RRV[1] (simple implementation of radiosity renderer based on OpenGL) 79th iteration
Radiosity (computer graphics): The Cornell box, rendered with and without radiosity by BMRT
The Cornell box, rendered with and without radiosity by BMRT
Radiosity (computer graphics): Difference between standard direct illumination without shadow penumbra, and radiosity with shadow penumbra
Difference between standard direct illumination without shadow penumbra, and radiosity with shadow penumbra
Radiosity (computer graphics): As the algorithm iterates, light can be seen to flow into the scene, as multiple bounces are computed. Individual patches are visible as squares on the walls and floor.
As the algorithm iterates, light can be seen to flow into the scene, as multiple bounces are computed. Individual patches are visible as squares on the walls and floor.
Radiosity (computer graphics): The geometrical form factor (or "projected solid angle") Fij. Fij can be obtained by projecting the element Aj onto the surface of a unit hemisphere, and then projecting that in turn onto a unit circle around the point of interest in the plane of Ai. The form factor is then equal to the proportion of the unit circle covered by this projection.Form factors obey the reciprocity relation AiFij = AjFji.
The geometrical form factor (or "projected solid angle") Fij. Fij can be obtained by projecting the element Aj onto the surface of a unit hemisphere, and then projecting that in turn onto a unit circle around the point of interest in the plane of Ai. The form factor is then equal to the proportion of the unit circle covered by this projection.Form factors obey the reciprocity relation AiFij = AjFji.

Worked examples

Example 1 — a first encounter with Radiosity (computer graphics)

Start with the simplest possible case. Write down what Radiosity (computer graphics) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Radiosity (computer graphics) before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Radiosity (computer graphics) ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Radiosity (computer graphics)

In research
Radiosity (computer graphics) appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Radiosity (computer graphics) in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Radiosity (computer graphics) is common in secondary-school and first-year university syllabi. It links to neighbouring topics 3D computer graphics, Finite element method, Global illumination algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Radiosity (computer graphics) outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Radiosity (computer graphics) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Radiosity (computer graphics) means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Radiosity (computer graphics) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Radiosity (computer graphics) in simple terms?

In 3D computer graphics, radiosity is an application of the finite element method to solving the rendering equation for scenes with surfaces that reflect light diffusely. Unlike rendering methods that use Monte Carlo algorithms (such as path tracing), which handle all types of light paths, typical…

Why does Radiosity (computer graphics) matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Radiosity (computer graphics)?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Radiosity (computer graphics).

Tags

  • 3D computer graphics
  • Finite element method
  • Global illumination algorithms
  • Heat transfer

Keep exploring