| Pov-Ray Radiosity Test/Tutorial - Indoor Daylight Simulation | ||
| I have been spending some time trying to figure out the most useful radiosity settings in Pov-Ray for indirect daylight, as the manual doesn´t give many examples. This test is an attempt of going through the process of creating simple, but very realistic radiosity lighting. | ||
| First
I create a simple model, a room and a stairwell with a light shining into
the room through the window. Everything has a solid grey color. Outside
an ambient sky sphere. (Ambient means a grey/blue sphere with a finish set
to ambient 1, diffuse 0.) Outside the window I place a point light, color
white, brightness 1.
|
||||
| Let´s try some radiosity. These are the basic settings to start with: | |||||
| radiosity { brightness 1.0 count 100 error_bound 0.2 gray_threshold 0.0 low_error_factor 0.2 minimum_reuse 0.015 nearest_count 10 recursion_limit 1 #if (version>3.1) adc_bailout 0.01 max_sample -1.0 media off normal off always_sample 1 pretrace_start 0.08 |
|||||
| The ceiling is barely visible, but not much improvement. Rendering time 2:55. The image is still very dark and flat. Let´s try something else, how about changing the recursion_limit to, let´s say 4? | |||||
| Render time 12:20, but not much has happened. The image is still too dark and very unrealistic. I set the recursion_limit back to 1 and change the brightness to 2.0 instead. | |||||
| This looks very similar to the last one, but renders considerably faster, in only 2:56. I try to combine brightness 2.0 with recursion_limit 2, does that help? | |||||
|
Not really. The image is brighter, but the contrast is all wrong. Does this mean that Pov-Ray isn´t capable of realistically simulating indirect light? I open the manual once more, looking for clues. |
|||||
| And here it is. The Pov-Ray manual actually reveals a secret. It says: "You can strongly affect things with the objects' finishes. In fact that is the most important thing about radiosity. Normal objects should have ambient finish 0 which is not default in POV-Ray and therefore needs to be specified. Objects with ambient > 0 actually emit light." | |||||
| Wow! This really helps! There are still some artifacts, but the room looks transformed, far more realistic. This image renders in 12:40. | |||||
| I adjust the settings to get rid of the artifacts, recursion_limit 5, error_bound 0.15, brightness 1.5, max_sample 0.5, and try again. A clean and fairly accurate render in only 26:53. | |||||
| I render
this scene using ambient light only. I disable the point light, fiddle around
with the settings and come up with the following: max_sample disabled, error_bound
0.05, brightness 1.5 and count 300. Nice! But a slow render, 2:51:29 as I had to raise the count and lower error_bound to get rid of artifacts. |
|||||
| How about area light? I place a 8x8 area light outside the window. First render with no radiosity, | |||||
| and a
second with the same settings as for the point light. I´m quite happy. This has been worth all the trouble. Now I just have to fix some textures and maybe add some details and a few objects. |
|||||
| A sunny day and window facing south. Raytraced in 27min26sec. | |||||
| Less sunny, some haze, or window facing east/west. Raytraced in 39min17sec. | |||||
| A window facing away from sun or north. Raytraced in 1hour15min35sec. Some artifacts evident but nice soft realistic light. | |||||
| The
final radiosity settings I´m using:
With point light or area light, brightness 0.3 in both cases, color RGB 1,1,0.9. radiosity { pretrace_start 0.08 |
|||||
|
With lights disabled, the ambient sky is the only light source: radiosity { pretrace_start 0.08 |
|||||
| The
settings I had to fine tune during those tests were: error_bound (lower
values more accurate), count (higher values better) these two are the pair
to get rid of many artifacts (like white streaks and/or "dirt"
on surfaces). Other settings I had to balance are brightness, max_sample,
and perhaps recursion_limit. Other settings should be O.K. as they are.
The radiosity settings can be fine tuned but this will slow down rendering times considerably so this has to be of a personal choice. Higher count will almost always give better results. Be careful with the low_error_factor as this setting tends to use lots of memory and can spend lot of time swapping your hard drive while calculating the rays, which results in litterally aeons of rendering times but great accuracy. |
|||||
| And finally: Just to demonstrate the importance of the ambient sphere. This is how the room looks like raytraced with the ambient sky off, using the area light only. Veird artifacts, and strange, there is no way to determine where the light is coming from. | |||||
| Home | |||||