Radiocity Panel

Top  Previous  Next

27.21. This panel contains the settings of the 'Radiosity' mode parameters.


'Radiosity' or 'Reflected light calculation' - enabling a mode in which light reflected from surfaces and objects is repeatedly used in calculating the illumination of objects. This mode significantly increases the rendering time, but also greatly adds to the realism of the image, shadows cease to be monotonous and flat, shading of corners appears, image depth appears.

There are 4 calculation modes configured by default.

The calculation of 'Simple' coincides with the mode that existed in earlier versions and was configured for rendering speed. He created almost no shadows from reflected and diffused light.

Calculation 'Calculation 1 (Average quality)' already detects shadows in corners and shadows from scattered light.

Calculation 'Calculation 2 (High quality)' forms the shape of shadows from diffused light.

Calculation 'Calculation 3 (High quality)' forms the shape of shadows from scattered light and is configured to remove possible visual artifacts (image errors).

Visually, the difference between the modes looks like this:

calculation Simple
calculation Simple

Calculation 1 (Average quality)
Calculation 1 (Average quality)

Calculation 2 (High quality)
Calculation 2 (High quality)

Calculation 3 (High quality)
Calculation 3 (High quality)


The settings of all modes can be edited and used after that - they are remembered in the settings of the current project. To restore the parameters of the selected mode to the default settings, just click the 'Restore Settings' button.


Consider the parameters for setting the mode.





The keywords 'PreTrace_Start' and 'PreTrace_End' are used to control the stage of information collection during the preliminary tracing of the 'Radiocity'. The value (from 0.0 to 0.1) determines the size of the blocks in the mosaic preview as a percentage of the image size. These pre-trace settings help POV-Ray determine where additional radiation samples are needed. For the final high-quality rendering, it is usually better to leave the 'PreTrace_Start' parameter near the default value (0.08), but have a much smaller 'PreTrace_End' value (for example, 0.004).




'Count' is used to set the number of rays that are sent whenever a new brightness value needs to be calculated. The default value is 50, the maximum value is 2000. 'Count' is one of the main parameters that affect the speed/quality ratio. A larger number of rays gives more accurate results, but significantly increases the rendering time. 'Count' must be balanced using the Error_Bound parameter, since smaller Error_Bound values usually require a larger 'Count'. A striking sign of the insufficiency of the 'Count' parameter is the unevenness (spots) when displaying smooth solid color surfaces. If you work only with 'strong' (not solid color) textures, then the parameter can be reduced.




The 'Error_Bound' value is one of the two main values that affect the speed/quality ratio (the other is 'Count'). 'Error_Bound' is intended to indicate the percentage of allowable error (0.1-2.0). For example, if the value was set to 1, the algorithm will not calculate the new value until the error of the latter is estimated at 100%. The default value (1.8) is suitable for smoothing the overall lighting effect, but it may incorrectly display corners or small shadows. Using lower values is more accurate, but increases the risk of artifacts and therefore requires a higher 'Count' value. In theory, values below 0.1 can be used, but then rendering time and memory usage can become extremely high.




If you calculate just enough samples, you will get an image which has slightly blotchy lighting. What you want is just a few extra samples interspersed, so that the blending will be nice and smooth. The solution to this is the mosaic preview, controlled by pretrace: it goes over the image one or more times beforehand, calculating 'Radiosity' values. To ensure that you get a few extra samples, the 'Radiosity' algorithm lowers the error bound during the initial pass or passes, then sets it back just before the final pass. The 'Low_Error_Factor' is a float tuning value which sets the amount that the error bound is dropped during the preliminary image passes. If the 'Low_Error_Factor' is 0.8 and the 'Error_Bound' is set to 0.4 it will use an 'Error_Bound' of 0.32 (0.4 0.8) during the initial passes and 0.4 on the final pass. The default value for 'Low_Error_Factor' is 0.5.




The 'Recursion_Limit' value is a number that determines how many levels of recursion are used to calculate diffuse mutual reflection (1-5). This represents the number of times light bounces off objects before reaching your eye. In the real world, this could be a very high number. In POV-Ray, higher is not always better. Values between 2 and 4 tend to give good results for most scenes. Higher values can have a significant speed penalty. It is recommended that you use the lowest value that gets the look you want in your scene. Note that the number of recursions can affect both the brightness and contrast of your indirectly-lit objects, which means that test tuning with a significantly different recursion level than what you intend to do the final trace with may have unexpected results. In all modes, 'Recursion_Limi' = 2 by default.




The 'Nearest_count' integer value is the minimum number of old ambient values blended together to create a new interpolated value. The total number blended will vary depending on 'Error_Bound'. All previous values that fit within the specified 'Error_Bound' will be used in the average. The default is 5, and the maximum is 20. Raising 'Nearest_count' can significantly reduce or smooth out splotchiness, since more nearby values will be averaged. As always, there is a corresponding speed penalty, but using higher values like 10 or even 20 for the final trace may help remove artifacts. Some artifacts can also be removed by adjusting the 'Count' parameter.




'Minimum_Reuse' (0.005-0.1) affects at what minimum distance the previous radiation samples are always reused during the calculation, affecting the quality and smoothness in secluded places and corners. Lower values usually give a smoother look to the details of the corners, while higher values can cause the corners to look spotty unless other parameters (primarily 'Count' and 'Nearest_count') are also set to a higher quality.




Diffusely inter-reflected light is a function of the objects around the point in question. Since this is recursively defined to millions of levels of recursion in any real-life scene, every point is illuminated at least in part by every other part of the scene. Since we cannot afford to compute this, if we only do one bounce, the calculated ambient light is very strongly affected by the colors of the objects near it.

This is known as color bleed and it really happens, but not as much as this calculation method would have you believe. The 'Gray_Threshold' float value desaturates the colored light a little to make your scene more visually correct. A value of 0.6 means to calculate the ambient value as 60% of the equivalent gray value calculated, plus 40% of the actual value calculated. At 0.0, this feature does nothing. At 1.0, you will get 100% pure white/gray ambient light, with no hue.




The 'Brightness' keyword specifies a float value that is the degree to which objects are brightened before being returned upwards to the rest of the system. The default value is 1.0. 'Brightness' should be balanced with your ambient and diffuse values as well as your light_source intensity. Remember that brightness doesn't refer directly to the overall scene 'Brightness', it refers to the 'Radiosity' calculation which affects the overall scene 'Brightness'. This distinction is important, because we can use it to change the contrast of some indirectly lit areas.  




In scenes with lots of reflective and transparent surfaces, POV-Ray can get bogged by tracking multiple reflections and refractions that have very little effect on the color of a particular pixel. The program uses a system called 'Adaptive Depth Control' (ADC) to stop calculating additional reflected or refracted rays when their contribution is insignificant. You can use 'Adc_Bailout' (0.005-0.05) to specify a value less than which the ray contribution is considered insignificant (the default value is 1/255, or approximately 0.0039, since a smaller change cannot be seen on a 24-bit image). The parameter refers to the system for determining the signs of the end of the trace, as well as the 'Max_Trace_Level' parameter.




The global setting 'Max_Trace_Level' defines the maximum integer number of recursive levels at which the POV-Ray will track the beam. This is used when a ray is reflected or passes through a transparent object, as well as when shadow rays are cast. When a ray hits a reflecting surface, it generates another ray to see what that point reflects. This is the first level of tracing. If it hits another reflecting surface, another ray is generated, which goes to the second level of tracing. By default, there are five levels. If 'Max_Trace_Level' is reached before a non-reflective surface is detected, and if ADC ('Adc_Bailout') has not allowed an early exit from the ray tree, the color is returned as black. Raise 'Max_Trace_Level' if you see black areas on the reflective surface where the color should be. In all modes, by default, 'Max_Trace_Level' = 5. Usually the parameters 'Adc_Bailout' (0.005-0.01) and 'Max_Trace_Level' (5) suit most scenes.


Setting up the main parameters (what to pay attention to)


PreTrace_Start PreTrace_End

So, if we decided to get a more realistic image, then it is necessary to set the Pre-Trace mode, that is, non-zero values of 'PreTrace_Start' and 'PreTrace_End'. To begin with, the value of 'PreTrace_Start'= 0.08 and 'PreTrace_End'=0.04 will suit you perfectly. If, as a result of rendering, you get stable distortions (artifacts) in the corners or on the corners of surfaces, you can reduce the 'PreTrace_End' by 2 or 4 times. At the same time, you can proportionally reduce the 'PreTrace_Start'. This will increase the rendering time, but will help to cope with distortions. (the value of 'PreTrace_Start' is always greater than 'PreTrace_End' - otherwise the parameters will be considered null).


Error_Bound Count

'Error_Bound' is the main parameter that shows how carefully the render will calculate the reflected rays (and, accordingly, collect scattered shadows). The parameter is effective in values from 0.8 to 0.2 (the smaller the value, the more accurate the calculation). Greatly affects the calculation time. To exclude artifacts, the smaller the value, the more 'Count' is required (values 100-800 are effective). When the 'Count' parameter is increased, the calculation time also increases.


Let's say you don't have solid color surfaces (paint, wallpaper, tiles) - the 'Count' value can remain within 200-300. Otherwise, you will notice uneven illumination of the surfaces and you will have to increase the number of rays ('Count').


To evaluate the set parameters, you can reduce the image (reduce the image resolution by half) and set the smoothing to 0 and evaluate the result in less time.



'Nearest_count' - this parameter affects the smoothness of shadows and the presence of artifacts. Do not twist it to the limit unnecessarily - the rendering time increases too much.