POV-Ray : Newsgroups : povray.advanced-users : Bounding Question : Re: Bounding Question Server Time
30 Jul 2024 18:17:53 EDT (-0400)
  Re: Bounding Question  
From: Mark Wagner
Date: 13 Aug 1999 01:06:17
Message: <37b3a7c9@news.povray.org>
David Heys wrote in message <37B31BFA.BD5BCC33@hotmail.com>...
>Ken wrote:
>
>>   I would say for me there is some black art involved with this process
and
>> have been hoping someone more informed than myself would step in and
elaborate
>> on how pov really handles the bounding action. Perhaps it is beyond the
mear
>> mortal to understand :)
>
>Being a great deal less of a POV expert than Ken, I have to agree with him.
>Bounding objects have always confuzzled me. If you look at the following
image
>(11K):
>
>http://www.sinbad.net/~autumn/images/bounding_test.jpg
>
>Which is more efficient? Assuming the red boxes are the bounding shapes,
one can
>see that the left hand item only uses one bounding shape which would make
you
>think that it'd render faster. However, it's also not as exact in it's
bounding
>limits as the group of bounding items on the right. From the conversations
I've
>seen regarding this topic, I'm guessing there's no concrete answer to the
>question. That each instance is unique and that we have to find the right
balance
>between the number of bounding objects, and the exactitude of those
bounding
>objects. :{P


The theory behind bounding of objects is that for most objects, it is much
faster to check to see if a ray has hit a box enclosing the object and then
if it did check the ray against the object than it is to always check to see
if the ray has hit the object itself.  However, for complex or slow to
process objects (such as julia fractals and isosurfaces), the speed
difference is so great that even more time would be saved by bounding the
object with a closer-fitting but slower object like a cylinder, sphere, or
rotated box.

Further complicating things is the fact that, for CSG operations, if the
entire resulting object is bounded by the user, each ray that intersects the
bounding object is then tested for intersections with ALL the objects making
up the CSG object.  If nested CSG objects making up the object are bounded,
however, POV-Ray tests the ray against the bounds for the nested objects
before deciding which component objects to check for intersections with the
ray.  This is why your multiple bounding objects in the picture will cause
it to render faster.  POV-Ray is very good at automatically generating the
needed bounding box hierarchy for unions, but sometimes has trouble with
intersections or differences, which is why user bounding of these objects
sometimes speeds things up.

Hope this clarifies things.
Mark


Post a reply to this message

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