![](/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) |
The sphere on the left uses diffuse 0.6.
The sphere on the right uses diffuse albedo 0.6.
Does this mean that when we're /not/ using radiosity, we should adjust the
ambient accordingly?
Post a reply to this message
Attachments:
Download 'albedo_radb-montage.png' (167 KB)
Preview of image 'albedo_radb-montage.png'
![albedo_radb-montage.png](/povray.binaries.images/attachment/%3Cweb.4ffa333d160b252f85de7b680%40news.povray.org%3E/albedo_radb-montage.png?ttop=443866&toff=1800&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 09.07.2012 03:26, schrieb Cousin Ricky:
> The sphere on the left uses diffuse 0.6.
> The sphere on the right uses diffuse albedo 0.6.
>
> Does this mean that when we're /not/ using radiosity, we should adjust the
> ambient accordingly?
Something strange is happening there.
Are you using radiosity in the scene?
I didn't think about it when I implemented the albedo for diffuse, but
it won't play nice with radiosity. Because radiosity actually doesn't
support brilliance, and always computes diffuse illumination from other
objects as if the surface had brilliance 1.0.
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) |
clipka <ano### [at] anonymous org> wrote:
> Are you using radiosity in the scene?
Yes, I am.
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) |
On 9/07/2012 3:47, clipka wrote:
> I didn't think about it when I implemented the albedo for diffuse, but
> it won't play nice with radiosity. Because radiosity actually doesn't
> support brilliance, and always computes diffuse illumination from other
> objects as if the surface had brilliance 1.0.
Is there a reason for that, other than speed?
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) |
Am 09.07.2012 15:39, schrieb Zeger Knaepen:
> On 9/07/2012 3:47, clipka wrote:
>> I didn't think about it when I implemented the albedo for diffuse, but
>> it won't play nice with radiosity. Because radiosity actually doesn't
>> support brilliance, and always computes diffuse illumination from other
>> objects as if the surface had brilliance 1.0.
>
> Is there a reason for that, other than speed?
Yes: Algorithm design, and the simple fact that nobody ever seriously
cared about brilliance in radiosity scenes before.
Radiosity samples only store the level of illumination, but no
information about the direction(s) from which this illumination comes.
But this information is vital for the brilliance feature.
Storing detailed information about the individual illumination intensity
from all the sampled directions is obviously an absolute no-go for
memory reasons.
The issue could be addressed by taking brilliance into account when
averaging the individual illumination intensities for one sample, and
storing the information for which brilliance the sample was taken; the
sample would then not be taken into account for textures with different
brilliance values.
Another possible approach would be to store the illumination intensity
not as a scalar but as spherical harmonics, which is essentially an
efficient way of storing a blurred "image" of the illumination pattern.
This could then be used to compute angle-dependent effects when re-using
a sample rather than at gathering time. As an added benefit this could
then also be used for handling perturbed normals without significant
memory & speed penalty (currently extra samples are taken for this), and
might also significantly improve the quality of cylindrical surfaces at
little extra cost. It's an idea I've already pondered for future
versions of POV-Ray, but I'll have to dive deep into spherical harmonics
math for that.
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) |
> Yes: Algorithm design, and the simple fact that nobody ever seriously
> cared about brilliance in radiosity scenes before.
Well, I did notice a "rubberlike" quality in all radiosity-lit scenes
though, now I know why :)
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) |
On 07/08/2012 09:47 PM, clipka wrote:
> Am 09.07.2012 03:26, schrieb Cousin Ricky:
>> The sphere on the left uses diffuse 0.6.
>> The sphere on the right uses diffuse albedo 0.6.
>>
>> Does this mean that when we're /not/ using radiosity, we should adjust
>> the
>> ambient accordingly?
>
> Something strange is happening there.
> Are you using radiosity in the scene?
>
> I didn't think about it when I implemented the albedo for diffuse, but
> it won't play nice with radiosity. Because radiosity actually doesn't
> support brilliance, and always computes diffuse illumination from other
> objects as if the surface had brilliance 1.0.
what about having albedo for diffuse ignored if radiosity is used ...
I've ran into this problem as well. Thanks to the OP for bringing this
up, I had forgotten about it working on other higher priority stuff. If
a change is not possible perhaps a "Note" in the docs will suit until a
better idea comes along ;-)
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) |
Am 10.07.2012 13:57, schrieb James Holsenback:
>> I didn't think about it when I implemented the albedo for diffuse, but
>> it won't play nice with radiosity. Because radiosity actually doesn't
>> support brilliance, and always computes diffuse illumination from other
>> objects as if the surface had brilliance 1.0.
>
> what about having albedo for diffuse ignored if radiosity is used ...
> I've ran into this problem as well. Thanks to the OP for bringing this
> up, I had forgotten about it working on other higher priority stuff. If
> a change is not possible perhaps a "Note" in the docs will suit until a
> better idea comes along ;-)
A change is definitely possible; I'll probably go for ignoring the
albedo correction factor only for radiosity computations.
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) |
Working on the fix.
Back row: using "diffuse 0.3"
Front row: using "diffuse albedo 0.3"
From left to right: Brilliance 10, 1, 0.1
First image: RC6
Second image: With fix
(Note that this fix will only work with the "albedo" keyword, /not/ a
manually corrected diffuse value using the "VooDoo formula".)
Post a reply to this message
Attachments:
Download 'albedo_radiosity_diffuse_rc6.png' (186 KB)
Download 'albedo_radiosity_diffuse_fix.png' (187 KB)
Preview of image 'albedo_radiosity_diffuse_rc6.png'
![albedo_radiosity_diffuse_rc6.png](/povray.binaries.images/attachment/%3C4ffc22f6%40news.povray.org%3E/albedo_radiosity_diffuse_rc6.png?ttop=443866&toff=1800&preview=1)
Preview of image 'albedo_radiosity_diffuse_fix.png'
![albedo_radiosity_diffuse_fix.png](/povray.binaries.images/attachment/%3C4ffc22f6%40news.povray.org%3E/albedo_radiosity_diffuse_fix.png?ttop=443866&toff=1800&preview=1)
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
James Holsenback <nom### [at] none com> wrote:
> what about having albedo for diffuse ignored if radiosity is used ...
Sounds reasonable.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |