POV-Ray : Newsgroups : povray.general : Suggestion for radiosity : Suggestion for radiosity Server Time
11 Aug 2024 03:30:34 EDT (-0400)
  Suggestion for radiosity  
From: Nieminen Juha
Date: 11 Oct 1999 04:45:57
Message: <3801a3c5@news.povray.org>
It's a known problem that when you have a reflecting/refracting object,
the radiosity is not calculated for the reflected/refracted rays (or if
it is calculated, it's calculated differently).
  This (AFAIK) is due to the recursion level setting of the radiosity. A
reflected/refracted ray is at a recursion level higher than the previous
ray. This means that radiosity is not calculated for this ray or it's
calculated at one recursion level less than the previous (depending on
the recursion level setting).
  The result is that the the scene reflected or refracted from objects looks
different from the scene seen directly.
  This is specially problematic with completely invisible container objects.
Since the radiosity is not calculated in the area of the screen where the
container object is, the object will become visible (because the scene seen
through the object will not have radiosity while the scene around the object
will).

  I have an idea for a possible fix.
  There would be two keywords, for example 'ignore_radiosity' and
'radiosity_through' (or something similar).
  The first keyword, when applied to an object, will stop povray from
calculating radiosity for that object. This will ensure that radiosity is
not calculated for objects that don't need it (for example invisible ones)
and that it will not receive any light from its surroundings. It also may
speed up the rendering a little.
  The second keyword, also applied to an object, will tell povray that a ray
that is reflected/refracted from this object will not change its radiosity
recursion level.
  For example, if you apply 'radiosity_through' to a mirror, the scene that
is reflected in the mirror will have the exact same radiosity as if looked
directly from the place of the mirror.
  When applied to an invisible container object, it will keep it invisible
(and if the 'ignore_radiosity' keyword is also applied, it will render faster).

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