![](/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) |
Nathan,
Thank you very much for your answer.
Fabian.
Nathan Kopp wrote:
>
> Fabian,
>
> By "brightest object", I mean, "If you shoot rays into your scene, turn the
> colors to grey-scale, what will be the biggest number, ignoring specular and
> phong highlights?"
>
> For example, if you have all "diffuse 1.0" objects with pigment colors no
> greater than <1,1,1> and the sum of your light sources is 1.5, then the
> brightest any object can look is 1.0*1.0*1.5 = 1.5. On the other hand,
> let's say one object is supposed to act like a light source, so you use
> "ambient 20" with that object. In that case, your brightest object will be
> 20 and you'd want to use a max_sample of 20 and a radiosity adc_bailout of
> 0.01/20.
>
> -Nathan
>
> Fabian Brau <fab### [at] umh ac be> wrote...
> > Hello,
> >
> > I understand all well in the new implementation of the radiosity by
> > Nathan, but not this thing
> >
> > max_sample 2 // CHANGE - this should be the same as the
> > brightest object
> > adc_bailout 0.01/2 // CHANGE - use adc_bailout = 0.01 /
> > brightest_ambient_object
> >
> >
> > what is the brightest object, where I find the number 2 in my scene?
> >
> > Thanks,
> >
> > Fabian.
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) |
Margus Ramst <mar### [at] peak edu ee> wrote:
: You couldn't quarantee that the brightest object is hit during the preliminary
: pass.
Then the object is so small that it doesn't affect the scene anyways.
And if there were any problem, you could always specify the correct value
by hand...
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
Nieminen Juha wrote:
>
> Margus Ramst <mar### [at] peak edu ee> wrote:
> : You couldn't quarantee that the brightest object is hit during the preliminary
> : pass.
>
> Then the object is so small that it doesn't affect the scene anyways.
> And if there were any problem, you could always specify the correct value
> by hand...
>
Just an idea...
Not as obvious at it may seems, but the object may be out of the image.
If you're doing an animation with a traveling,
the appearing/vanishing objects with radiosity may just impacts a lot
the brightness of the consecutive images.
Now, the question is "is using radiosity in an animation a reasonable thing ?".
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) |
J. Grimbert <jgr### [at] atos-group com> wrote:
: Not as obvious at it may seems, but the object may be out of the image.
It doesn't matter. It will be hit in the mosaic preview anyways (that's
what radiosity is about).
: Now, the question is "is using radiosity in an animation a reasonable thing ?".
Why it shouldn't?
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
How much an object affects the scene depends on the balance of size and
brighness. Smaller objects just have to be brighter, proportionally to the area
of their projection, to give the same effect (not accounting for increased
statistical error due to limited sample rays)
Margus
Nieminen Juha wrote:
>
> Then the object is so small that it doesn't affect the scene anyways.
> And if there were any problem, you could always specify the correct value
> by hand...
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
Perhaps there could be a special keyword that you could apply to objects
which tells povray "this object is very small and very bright, so send more
radiosity rays here".
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
Perhaps something like this might work - if the calculation of weights can be
handled. The weight of a sample has to be proportional to the area of the sky it
represents (in the simplest case that the surface reflects only diffusely). I am
not sure how this can be efficiantly calculated with uneven distribution of
samples.
Margus
Nieminen Juha wrote:
>
> Perhaps there could be a special keyword that you could apply to objects
> which tells povray "this object is very small and very bright, so send more
> radiosity rays here".
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
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) |
I've been working a bit on this with photon mapping. If a global photon map
is created, the directional data can be used so that you only shoot sample
rays in directions where photons came from. When doing this, you have to
use weights to compensate for the uneven distribution. The code is in the
UVPov source in photons.c (but isn't very well commented and is not
currently used... but you can look at it if you like). So, yes, this can
efficiently be done.
-Nathan
Margus Ramst <mar### [at] peak edu ee> wrote...
> Perhaps something like this might work - if the calculation of weights can
be
> handled. The weight of a sample has to be proportional to the area of the
sky it
> represents (in the simplest case that the surface reflects only
diffusely). I am
> not sure how this can be efficiantly calculated with uneven distribution
of
> samples.
>
> Margus
>
> Nieminen Juha wrote:
> >
> > Perhaps there could be a special keyword that you could apply to
objects
> > which tells povray "this object is very small and very bright, so send
more
> > radiosity rays here".
> >
> > --
> > main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> > ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*-
Warp -*/
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) |
Nathan Kopp wrote:
>
> I've been working a bit on this with photon mapping. If a global photon map
> is created, the directional data can be used so that you only shoot sample
> rays in directions where photons came from.
Now this is a great idea! But it doesn't work for purely ambient based light
sources, does it?
> When doing this, you have to
> use weights to compensate for the uneven distribution. The code is in the
> UVPov source in photons.c (but isn't very well commented and is not
> currently used... but you can look at it if you like). So, yes, this can
> efficiently be done.
>
This is bound to give me a headache, but I might check it out...
Margus
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) |
Margus Ramst <mar### [at] peak edu ee> wrote...
> Nathan Kopp wrote:
> >
> > I've been working a bit on this with photon mapping. If a global photon
map
> > is created, the directional data can be used so that you only shoot
sample
> > rays in directions where photons came from.
>
> Now this is a great idea! But it doesn't work for purely ambient based
light
> sources, does it?
No... Which is why, if I ever get it to work properly, it would have to be
optional.
-Nathan
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) |