![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
HI, all. I've been away from the forums for awhile (life got in the way.)
I've been working with radiosity lately ("without light sources"), trying to
understand how best to produce a scene using a single, small ambient 1
"light" as the sole light source. I'm using a heavily modified and
simplified version of the "cornell.pov" file in the RADIOSITY examples
folder included with POV-Ray. Just a simple room with simple shapes in it
(and one wall removed.) But I'm just not happy with the results,
particularly the too-muted "color spill" and color-mixing from the
intensely-colored walls and sphere. And it seems that there should be
better-defined shadows. (HOWEVER, these could be just my own flawed,
subjective opinions; other opinions are welcome.)
I've been tweaking radiosity values for weeks(!), and each new permutation
produces visual differences that are far from subtle. The hints and tips in
the POV docs are only marginally helpful in this case. It's difficult to
tell what the scene SHOULD look like, when each new value produces
something visually different (particularly under the purple sphere.) Since
there are twelve (relevant) values in the global radiosity block that can
be adjusted, I could be at this for months!! (And I've noticed that the
smaller the single light becomes--smaller in on-screen pixel size--the more
exacting the values become...to the point of almost not working at all.)
Could anyone give me some *direction* as to how to improve this scene, what
the most important radiosity values might be? Has anyone come up with an
"overall formula" for adjusting values for scenes like this? I'm hoping to
find an approach that isn't so subjective (not to mention time-consuming.)
If I can get this simple(?) scene to be as realistic as possible, I plan to
use the knowledge gained for more complex scenes (media-sphere torches in an
isosurface cave, for example.)
All objects in the scene have finish{ambient 0 diffuse .75}. The ceiling is
pigment{rgb 1}, the floor and boxes are various shades of gray. The single
light-sphere is pigment {rgb 1} finish {ambient 1 diffuse 0} and no_shadow.
Here are the global/radiosity values I finally settled on for this image
(mostly guesswork, having all but given up on making sense of the process):
assumed_gamma 1.0
brightness 23
pretrace_start .08 // default value
pretrace_end .01
count 500
max_sample 1.0
low_error_factor .025 // half the default
recursion_limit 5
minimum_reuse .0075 // half the default
nearest_count 12.5 // midpoint between 5 (default) and 20 (max)
error_bound .9 // half the default
gray_threshold 0 // default
always_sample off
media off // default
If I've left out any necessary info, let me know and I'll post it.
Ken Walker
Post a reply to this message
Attachments:
Download 'kens_cornell_20.jpg' (35 KB)
Preview of image 'kens_cornell_20.jpg'
![kens_cornell_20.jpg](/povray.binaries.images/attachment/%3Cweb.44d85169707cbdfce22fe6bb0%40news.povray.org%3E/kens_cornell_20.jpg?ttop=443866&toff=4300&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Jaime Vives Piqueres
Subject: Re: Simple radiosity scene, with questionable results
Date: 8 Aug 2006 09:18:10
Message: <44d88f12$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi Ken:
It's seems not that bad to me, but indeed it can be better. First, to
control the color spill, just use gray_threshold. For more defined
shadows, error_bound should be lower and nearest count perhaps higher.
In the other hand, I don't think you need moire than 2 bounces, 3 at
most (recursion_limit).
Hope this helps...
--
Jaime
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kenneth nous apporta ses lumieres en ce 08/08/2006 04:57:
> assumed_gamma 1.0
>
> brightness 23
Default to 1. It's a multiplicator for the returned radiosity samples. Without
this, your scene would be almost all black.
> pretrace_start .08 // default value
Shifting this "may" help you getting rid of some artefacts near corners like
dark spots along inside corners.
> pretrace_end .01
Lowering this may enable you to use more relaxed settings elswhere, possibly
lending to somewhat shorter render times.
> count 500
The smaller/farther your ambient light, the higher this have to be. A to small
value can result in dark area that should obviously be lighted.
> max_sample 1.0
This puts a cap on the brightness. Not importent in your case as you apparently
don't have any object with a brightness larger than 1. Default is -1 or NO cap.
> low_error_factor .025 // half the default
1/20 the default of 0.5. Will cause a slow down during the last pretrace step.
Can improve quality. Result in somewhat less additional samples to be taken
during the render itself as more are taken during the pretrace.
> recursion_limit 5
Prety large, can lead to fading out/disapearing shadows.
> minimum_reuse .0075 // half the default
This can cause some part to look grainy. Increases the render time.
> nearest_count 12.5 // midpoint between 5 (default) and 20 (max)
Use 12 or 13. This is an integer count of how many samples to average toggether.
> error_bound .9 // half the default
> gray_threshold 0 // default
> always_sample off
Why? Default to "on". Only relevant if you do multi-pass or distributed render.
> media off // default
OK, you don't have emissive media that should illuminate your scene.
>
>
> If I've left out any necessary info, let me know and I'll post it.
>
> Ken Walker
>
>
>
> ------------------------------------------------------------------------
>
You may try lowering brightness to 1 and bump up the pigment or ambient of the
small ambient light sphere. In that case, you should adjust adc_bailout
accordingly: 0.01/(pigment * ambient)
Increasing count will help illuminate area far from the light more uniformly.
With recursion_limit 5, you may have to much interreflections, washing out the
shadows.
Try using recursion_limit 3 or 2, the shadows will probably become more pronounced.
--
Alain
-------------------------------------------------
'Hurhurhur, 2400 baud sucks' - V.bis and Baudhead
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Kenneth" <kdw### [at] earthlink net> wrote:
> HI, all.
Hi Ken. Are you the same Ken who once ran a big list of graphics links?
>I've been away from the forums for awhile (life got in the way.)
Me too. In a BIG way.
If I may give you some settings I always use for radiosity. Try these alone:
brightness 1
pretrace_start 0.08
pretrace_end 0.04 // or 0.02, or 0.01 for better, smoother results
count 300 // to 1600 for higher sampling
recursion_limit 1 // or 2, no more than three should be used, IMO
nearest_count 20 // for smoother results on flat surfaces
error_bound 0.1 // for good, well-defined shadows, or 0.2, or 0.5 for
faster rendering
gray_threshold 0 // for best color-bleeding
normal on // use with lower count values(10-100), and a lower
error_bound(0.1)
The error_bound should be low for better shadows. This is one of the most
important settings. error_bound and count together should be modified
before anything else.
In addition to these things, you should use a bright, fading (fade_power 2)
light inside the sphere instead of just making the sphere very bright. An
area_light (with orient and circular flags added) works well for this. The
sphere should be given the no_shadow flag to let the light shine through.
That's it, Ken. I hope this helps!
~Sam
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Jaime Vives Piqueres <jai### [at] ignorancia org> wrote:
> Hi Ken:
>
> It's seems not that bad to me, but indeed it can be better. First, to
> control the color spill, just use gray_threshold.
Sorry, I may have described things the wrong way. In my scene, it *seems*
that there should be MORE color spill onto the ceiling, from the
saturated-color walls. But then again, the tall (distant) box shape seems
to show quite good color spill from the red wall. So perhaps I'm looking
for an effect that really shouldn't be there. Difficult to tell!
>For more defined
> shadows, error_bound should be lower and nearest count perhaps higher.
Yes, I'm beginning to understand that a lower error_bound value "breaks up"
(and distorts) the ray-created color "patches" into smaller and smaller
pieces, which would seem to be more accurate. (Smoothing out those many
patches has proven difficult for me, though. As I understand things, a
higher count is then needed.) A higher nearest_count DOES radically improve
things--but from what I've seen, it appears to make shadows less defined,
sort of smoothing them out. Am I mistaken about that? Is it interacting
with "something else" that I should change?
> In the other hand, I don't think you need more than 2 bounces, 3 at
> most (recursion_limit).
I'm still trying to understand this "bounce" idea. But you're right, higher
recursion_limit values seem to have less and less of an effect. I've
settled on 3. Is it correct to assume that the more bounces, the more the
various radiosity-created colors in the scene blend together and become
MORE muted? If so, it sounds like something to be avoided (?) As you can
see, I'm really struggling with these concepts!
>
> Hope this helps...
Yes indeed! Thanks.
Ken W.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi, Alain, thanks for posting these tips. I do have some questions (of
course!):
Alain <ele### [at] netscape net> wrote:
>
> > brightness 23
> Default to 1. It's a multiplicator for the returned radiosity samples. Without
> this, your scene would be almost all black.
For some not-yet-understandable reason (perhaps because the light_sphere is
so small) I HAD to pump the brightness up, otherwise the scene was just
way too dark. But this surely interacts with other values, so perhaps it
should be lowered, and some other things adjusted.
> > pretrace_start .08 // default value
> Shifting this "may" help you getting rid of some artefacts near corners like
> dark spots along inside corners.
Shifting it up ot down? Is it better to use a higher value for this or a
lower value?
> > pretrace_end .01
> Lowering this may enable you to use more relaxed settings elswhere, possibly
> lending to somewhat shorter render times.
I'll try that. Lower values do produce a drastic difference in smoothing
things out. But does a lower value also make subtle artifacts more visible
and
pronounced? It seems to, but my eyes may be playing tricks on me.
> > max_sample 1.0
> This puts a cap on the brightness. Not importent in your case as you apparently
> don't have any object with a brightness larger than 1.
I'm a bit fuzzy on this: Does it control the brightness of rays shot from
the light source, or the brightness of BOUNCED rays? Or both?? I thought it
would keep any area of the scene from exceeding a certain brightness, but
that doesn't seem so; I can easily "wash out" areas of the scene closest to
the light sphere if I'm not careful. So, I don't really understand what
max_sample does.
> > low_error_factor .025 // half the default
> 1/20 the default of 0.5.
Sorry, I don't understand that. Explain?
> > always_sample off
> Why? Default to "on". Only relevant if you do multi-pass or distributed render.
I've found that the quality gets better with it off--at least in this
particular scene. It's a subtle difference, but it's there.
> >
> You may try lowering brightness to 1 and bump up the pigment or ambient of the
> small ambient light sphere.
Yes, that does help. I'll work with the idea.
Ken W.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Alain
Subject: Re: Simple radiosity scene, with questionable results
Date: 9 Aug 2006 20:54:29
Message: <44da83c5@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kenneth nous apporta ses lumieres en ce 09/08/2006 03:57:
> Jaime Vives Piqueres <jai### [at] ignorancia org> wrote:
>> Hi Ken:
>>
>> It's seems not that bad to me, but indeed it can be better. First, to
>> control the color spill, just use gray_threshold.
>
> Sorry, I may have described things the wrong way. In my scene, it *seems*
> that there should be MORE color spill onto the ceiling, from the
> saturated-color walls. But then again, the tall (distant) box shape seems
> to show quite good color spill from the red wall. So perhaps I'm looking
> for an effect that really shouldn't be there. Difficult to tell!
>
>> For more defined
>> shadows, error_bound should be lower and nearest count perhaps higher.
>
> Yes, I'm beginning to understand that a lower error_bound value "breaks up"
> (and distorts) the ray-created color "patches" into smaller and smaller
> pieces, which would seem to be more accurate. (Smoothing out those many
> patches has proven difficult for me, though. As I understand things, a
> higher count is then needed.) A higher nearest_count DOES radically improve
> things--but from what I've seen, it appears to make shadows less defined,
> sort of smoothing them out. Am I mistaken about that? Is it interacting
> with "something else" that I should change?
>
>> In the other hand, I don't think you need more than 2 bounces, 3 at
>> most (recursion_limit).
>
> I'm still trying to understand this "bounce" idea. But you're right, higher
> recursion_limit values seem to have less and less of an effect. I've
> settled on 3. Is it correct to assume that the more bounces, the more the
> various radiosity-created colors in the scene blend together and become
> MORE muted? If so, it sounds like something to be avoided (?) As you can
> see, I'm really struggling with these concepts!
>> Hope this helps...
>
> Yes indeed! Thanks.
>
> Ken W.
>
>
>
A high recursion_limit can be good if you want light to spill into somewhat
distant or convoluted areas that would otherwise remain unlit. You are correct
in your observation about diminishing effect with higher recursion_limit. It's a
normal effect. It diminish acording to the diffuse value of the surfaces and on
the colour of those. If you bounce upon a pure red surface, then on a pure green
or blue one, there is no light left as the first returns only red and the second
returns only green or blue that they don't receive.
--
Alain
-------------------------------------------------
An idea is not responsible for the people who believe in it.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Alain
Subject: Re: Simple radiosity scene, with questionable results
Date: 9 Aug 2006 21:10:49
Message: <44da8799@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Kenneth nous apporta ses lumieres en ce 09/08/2006 04:48:
> Hi, Alain, thanks for posting these tips. I do have some questions (of
> course!):
>
> Alain <ele### [at] netscape net> wrote:
>
>> Default to 1. It's a multiplicator for the returned radiosity samples. Without
>> this, your scene would be almost all black.
>
> For some not-yet-understandable reason (perhaps because the light_sphere is
> so small) I HAD to pump the brightness up, otherwise the scene was just
> way too dark. But this surely interacts with other values, so perhaps it
> should be lowered, and some other things adjusted.
Increase the ambient value of the "light", you can also increase the RGB value
beyong 1. You are not limited to values from 0 to 1.
>
>> Shifting this "may" help you getting rid of some artefacts near corners like
>> dark spots along inside corners.
>
> Shifting it up ot down? Is it better to use a higher value for this or a
> lower value?
Equivalent. You only want the pretrace sampling to shift place so that they miss
the problem pixels. It's also advisable to move the camera a very small amount,
like +/-0.000001 unit.
>
>> Lowering this may enable you to use more relaxed settings elswhere, possibly
>> lending to somewhat shorter render times.
>
> I'll try that. Lower values do produce a drastic difference in smoothing
> things out. But does a lower value also make subtle artifacts more visible
> and
> pronounced? It seems to, but my eyes may be playing tricks on me.
>
>> This puts a cap on the brightness. Not importent in your case as you apparently
>> don't have any object with a brightness larger than 1.
>
> I'm a bit fuzzy on this: Does it control the brightness of rays shot from
> the light source, or the brightness of BOUNCED rays? Or both?? I thought it
Both if you use a high ambient "light" in place of a regulat light_source.
> would keep any area of the scene from exceeding a certain brightness, but
> that doesn't seem so; I can easily "wash out" areas of the scene closest to
> the light sphere if I'm not careful. So, I don't really understand what
> max_sample does.
This "wash out" is due to oversaturation. It appens when the (incident light *
brightness * diffuse) leads to RGB values greater than 1. Those values are taken
"as is" during calculations, then clipped to 1 in the final image.
>
>> 1/20 the default of 0.5.
>
> Sorry, I don't understand that. Explain?
Half of 0.5 is 0.25. 1/20 if 0.5 is 0.025.
Your specified error_bound of 0.9 gets lowered to 0.0225 during the last
pretrace step. That's prety small.
>
>> Why? Default to "on". Only relevant if you do multi-pass or distributed render.
>
> I've found that the quality gets better with it off--at least in this
> particular scene. It's a subtle difference, but it's there.
Good reason.
>> You may try lowering brightness to 1 and bump up the pigment or ambient of the
>> small ambient light sphere.
>
> Yes, that does help. I'll work with the idea.
>
> Ken W.
>
>
--
Alain
-------------------------------------------------
How many of you believe in psycho-kinesis? Raise my hand...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
"Samuel Benge" <stb### [at] hotmail com> wrote:
>
> Hi Ken. Are you the same Ken who once ran a big list of graphics links?
Nope, never did. Sorry!
>
>
> If I may give you some settings I always use for radiosity. Try these alone...
>
I'll give them a whirl, and report back with the results. Thanks.
>
> The error_bound should be low for better shadows. This is one of the most
> important settings. error_bound and count together should be modified
> before anything else.
Yes, I've been wondering about that. It seems that count
ISN'T the FIRST thing to modify (given defaults
for everything else.) Not much visual
difference between low and high values, without modifying other things "in
step" as well. Thanks for the tip.
>
> In addition to these things, you should use a bright, fading (fade_power 2)
> light inside the sphere instead of just making the sphere very bright. An
> area_light (with orient and circular flags added) works well for this. The
> sphere should be given the no_shadow flag to let the light shine through.
Alas, I was *hoping* I could light this scene realistically just by using a
pure, small ambient "light source," but I do understand that the radiosity
equations (and/or just the default values) were made to be used with
ACTUAL light sources. I may ultimately have to do as you suggest. Haven't
given up yet, though! ;-)
Let me ask a very basic question:
1) Is it ALWAYS better --that is, more realistic and of higher quality--to
use the highest count possible and a very low error_bound value? (Assuming
that the resulting l*o*n*g render time is unimportant.)
Ken W.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> > Alain <ele### [at] netscape net> wrote:
> >> Shifting this "may" help you getting rid of some artefacts near corners like
> >> dark spots along inside corners.
> >
> > Shifting it up ot down? Is it better to use a higher value for this or a
> > lower value?
> Equivalent. You only want the pretrace sampling to shift place so that they miss
> the problem pixels. It's also advisable to move the camera a very small amount,
> like +/-0.000001 unit.
Do you mean, shifting the camera BETWEEN the pretrace steps? If so, how
is that done?
Ken W
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |