POV-Ray : Newsgroups : povray.general : Reflections : Re: Reflections Server Time
7 Aug 2024 07:16:47 EDT (-0400)
  Re: Reflections  
From: Ron Parker
Date: 22 Oct 2001 16:23:35
Message: <slrn9t9029.t1k.ron.parker@fwi.com>
On Mon, 22 Oct 2001 14:35:57 -0400, Trevor Quayle wrote:
> work that way). As Ron shows, one way to simulate this is with absorbing
> media.  As a quicker method, you could use constant fog with a black
> pigment, as the features of media aren't really required here. Adding this

You have greatly misunderstood the point of my demonstration.

That absorbing media is funny.  Notice how it doesn't do anything to the
first five green cylinders, but the other five (the reflections of the 
first five in the surface of the sphere) fade out?  There's something special
going on there that you can't do with fog.  

For more fun, try adding another reflective sphere to the scene somewhere and
notice how it doesn't behave the same as the one that's there now.  So 
there's something about that absorbing media that's not only strange from 
the camera's point of view, but also from that one sphere's point of view.

The answer, of course, lies in the two spheres that are differenced out of
the media, and in the no_image keyword.  It's hard to state the exact rules
that dictate when the media appears and when it doesn't, but I'll give it
a shot:

- a camera ray that originates inside the media container is affected.  This
  might very well be a bug, depending on whether you believe that the no_image
  keyword should affect the media in the interior of the object.  Luckily,
  even if this bug is fixed it won't matter for this technique.

- a camera ray that originates outside the media container is not affected,
  because its intersections with the media container are ignored due to the
  no_image.

- When the camera is outside the media container, a reflected ray that 
  originates inside the media container is not affected.  This is because 
  we only add the media to the list of things to consider when the ray 
  enters the media container, which doesn't happen in this case unless 
  the ray happens to intersect a "bubble" in the container.  This fact 
  is probably also a bug.  If it's fixed, it will limit the technique
  considerably (requiring all reflective objects in your scene to fade, 
  and requiring them all to fade to the same color.)  It probably should
  be fixed, but fixing it seems like it would cause a performance hit,
  and it's not as though it's really a real-world feature anyway.  The
  part about the "bubbles" has some effect on what sort of objects and
  scene geometry you can use, but not too much. 

- When a reflected ray originates outside the media container, it is 
  always affected by the media.  This is the only part that really makes
  sense about the whole thing. :)

--
#macro R(L P)sphere{L __}cylinder{L P __}#end#macro P(_1)union{R(z+_ z)R(-z _-z)
R(_-z*3_+z)torus{1__ clipped_by{plane{_ 0}}}translate z+_1}#end#macro S(_)9-(_1-
_)*(_1-_)#end#macro Z(_1 _ __)union{P(_)P(-_)R(y-z-1_)translate.1*_1-y*8pigment{
rgb<S(7)S(5)S(3)>}}#if(_1)Z(_1-__,_,__)#end#end Z(10x*-2,.2)camera{rotate x*90}


Post a reply to this message

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