POV-Ray : Newsgroups : povray.programming : why is mosaic preview required for radiosity? : Re: why is mosaic preview required for radiosity? Server Time
2 Nov 2024 11:25:03 EDT (-0400)
  Re: why is mosaic preview required for radiosity?  
From: Nieminen Juha
Date: 17 Sep 1999 04:04:22
Message: <37e1f606@news.povray.org>
In povray.advanced-users Ron Parker <parkerr@fwi.com> wrote:
: I think it would just run more slowly.  As far as I can tell, the
: main purpose of the mosaic preview is to seed the cache with some 
: good candidates for later lookups.  

  That may be right because you know a lot more about povray than I do, but
I have the feeling that the precalculation part (which we see as "mosaic
preview") is essential and that the radiosity method implemented by
povray would not be possible without it.
  Why do I think this way? Let's see the documentation:

> How does POV-Ray calculate the ambient term for each point? By sending out
> more rays, in many different directions, and averaging the results. A
> typical point might use 200 or more rays to calculate its ambient light
> level correctly.

> Now this sounds like it would make the ray-tracer 200 times slower. This
> is true, except that the software takes advantage of the fact that
> ambient light levels change quite slowly (remember, shadows are calculated
> separately, so sharp shadow edges are not a problem). Therefore, these
> extra rays are sent out only once in a while (about 1 time in 50), then
> these calculated values are saved and reused for nearby pixels in the
> image when possible.

  From this we can see that the 200 sample rays are not shot for each pixel
but only once in a while. The rest is just interpolated from previous values.
  Now, how can you interpolate previous values if you don't have them? You
have previous values from the left and up of the image but not from the
right and specially from down.
  Just think about the first two pixels of the image. Ok, the ambient level
of the first one would be fully calculated. How about the second one? You
don't want to calculate its ambient level also but interpolate it. How can
you do that when you only have one previous sample?
  But we have a precalculated grid of ambient values so we can use them to
interpolate.
  This is why I think that the precalculation step is mandatory.

  I may be wrong, though.

-- 
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.