Radiosity as a Modelling Tool

Relevant to Blender v2.31

Radiosity can be used also as a Modelling tool for defining Vertices colours and lights. This can be very useful if you want to make further tweaks to your models, or you want to use them in the Game Engine. Furthermore the Radiosity Modelling allows for Adaptive refinement, whereas the Radiosity Rendering does not!

There are few important points to grasp for practical Radiosity Modelling:

Only Meshes in Blender are allowed as input for Radiosity Modelling. This because the process generates Vertex colours... and so there must be vertices. It is also important to realize that each face in a Mesh becomes a Patch, and thus a potential energy emitter and reflector. Typically, large Patches send and receive more energy than small ones. It is therefore important to have a well-balanced input model with Patches large enough to make a difference! When you add extremely small faces, these will (almost) never receive enough energy to be noticed by the "progressive refinement" method, which only selects Patches with large amounts of unshot energy.

TipNon-mesh Objects

Only Meshes means that you have to convert Curves and Surfaces to Meshes (CTRL-C) before starting the Radiosity solution!

Phase 1: Collect Meshes

All selected and visible Meshes in the current Scene are converted to Patches as soon as the Collect Meshes button of the Radio Tool Panel is pressed (Figure 4 in the Section called Radiosity Rendering). As a result a new Panel, Calculation, appears. Blender has now entered the Radiosity Modelling mode, and other editing functions are blocked until the newly created button Free Data has been pressed. The Phase text above the buttons now says Init and shows the number of Patches and Elements.

After the Meshes are collected, they are drawn in a pseudo lighting mode that clearly differs from the normal drawing.

The Radio Tool Panel (Figure 7) has three Radio Buttons: Wire, Solid, Gour. These are three drawmode options independent of the indicated drawmode of a 3DWindow. Gouraud display is only performed after the Radiosity process has started. Press the Gour button, to have smoother results on curved surfaces.

Figure 7. Gourad button

Phase 2: Subdivision limits

Blender offers a few settings to define the minimum and maximum sizes of Patches and Elements in the Radio Tools and Calculation Panels (Figure 8).

Figure 8. Radiosity Buttons for Subdivision

Limit Subdivide With respect to the values "PaMax" and "PaMin", the Patches are subdivided. This subdivision is also automatically performed when a "GO" action has started.

PaMax, PaMin, ElMax, ElMin The maximum and minimum size of a Patch or Element. These limits are used during all Radiosity phases. The unit is expressed in 0.0001 of the boundbox size of the entire environment. Hence, with default 500 and 200 settings maximum and minimum Patch size 0.05 of the entire model (1/20) and 0.02 of the entire model (1/50).

ShowLim, Z This option visualizes the Patch and Element limits. By pressing the Z option, the limits are drawn rotated differently. The white lines show the Patch limits, cyan lines show the Element limits.

Phase 3: Adaptive Subdividing

Last settings before starting the analysis (Figure 9).

Figure 9. Radiosity Buttons

MaxEl The maximum allowed number of Elements. Since Elements are subdivided automatically in Blender, the amount of used memory and the duration of the solving time can be controlled with this button. As a rule of thumb 20,000 elements take up 10 Mb memory.

Max Subdiv Shoot The maximum number of shoot Patches that are evaluated for the "adaptive subdivision" (described below) . If zero, all Patches with 'Emit' value are evaluated.

Subdiv Shoot Patch By shooting energy to the environment, errors can be detected that indicate a need for further subdivision of Patches. The subdivision is performed only once each time you call this function. The results are smaller Patches and a longer solving time, but a higher realism of the solution. This option can also be automatically performed when the GO action has started.

Subdiv Shoot Element By shooting energy to the environment, and detecting high energy changes (frequencies) inside a Patch, the Elements of this Patch are selected to be subdivided one extra level. The subdivision is performed only once each time you call this function. The results are smaller Elements and a longer solving time and probably more aliasing, but a higher level of detail. This option can also be automatically performed when the GO action has started.

SubSh P The number of times the environment is tested to detect Patches that need subdivision.

SubSh E The number of times the environment is tested to detect Elements that need subdivision.


Hemires, Convergence and Max iterations in the Radio Render Panel are still active and have the same meaning as in Radiosity Rendering.

GO With this button you start the Radiosity simulation. The phases are:

  1. Limit Subdivide. When Patches are too large, they are subdivided.

  2. Subdiv Shoot Patch. The value of SubSh P defines the number of times the Subdiv Shoot Patch function is called. As a result, Patches are subdivided.

  3. Subdiv Shoot Elem. The value of SubSh E defines the number of times the Subdiv Shoot Element function is called. As a result, Elements are subdivided.

  4. Subdivide Elements. When Elements are still larger than the minimum size, they are subdivided. Now, the maximum amount of memory is usually allocated.

  5. Solve. This is the actual 'progressive refinement' method. The mouse pointer displays the iteration step, the current total of Patches that shot their energy in the environment. This process continues until the unshot energy in the environment is lower than the Convergence value or when the maximum number of iterations has been reached.

  6. Convert to faces. The elements are converted to triangles or squares with 'anchored' edges, to make sure a pleasant not-discontinue Gouraud display is possible.

This process can be terminated with ESC during any phase.

Phase 4: Editing the solution

Once the Radiosity solution has been computed there are still some actions to take (Figure 10).

Figure 10. Radiosity post process.

Element Filter This option filters Elements to remove aliasing artifacts, to smooth shadow boundaries, or to force equalized colours for the RemoveDoubles option.

RemoveDoubles When two neighbouring Elements have a displayed colour that differs less than the limit specified in the Lim NumButton, the Elements are joined. The Lim value used here is expressed in a standard 8 bits resolution; a color range from 0 - 255.

FaceFilter Elements are converted to faces for display. A FaceFilter forces an extra smoothing in the displayed result, without changing the Element values themselves.

Mult:, Gamma: These NumButtons have the same meaning as in Radiosity Rendering.

Add New Meshes The faces of the current displayed Radiosity solution are converted to Mesh Objects with vertex colours. A new Material is added that allows immediate rendering. The input-Meshes remain unchanged.

Replace Meshes As previous, but the input-Meshes are removed.

Free Radio Data All Patches, Elements and Faces are freed in Memory. You must always perform this action after using Radiosity to be able to return to normal editing.