POV-Ray : Newsgroups : povray.advanced-users : About this bouding thing... Server Time
30 Jul 2024 12:26:40 EDT (-0400)
  About this bouding thing... (Message 1 to 8 of 8)  
From: T'vakah
Subject: About this bouding thing...
Date: 14 Aug 1999 13:34:40
Message: <37b5a8b0@news.povray.org>
I'm a little lost on this idea of bounding.  I have read about it in the
manuals, but have not been able to grasp the concept very well.  How can one
use it to speed up rendering, and what exactly is it?  Any input is very
appreciated.

--
T'vakah

----------------------------------------------------------------------------
--------------------------------------------------

A small project I am working on now:
http://backdoor.to/edertav/


Post a reply to this message

From: John VanSickle
Subject: Re: About this bouding thing...
Date: 14 Aug 1999 14:02:56
Message: <37B5B25C.E41EE33F@erols.com>
T'vakah wrote:
> 
> I'm a little lost on this idea of bounding.  I have read about it in the
> manuals, but have not been able to grasp the concept very well.  How can one
> use it to speed up rendering, and what exactly is it?  Any input is very
> appreciated.

Imagine for a moment that you have a tree-shaped object, with hundreds of
branches and leaves in it.  To test a ray against each and every object in
the tree would take a very long time.

A great deal of these rays tested will miss the tree entirely, and in fact
would not even hit the smallest sphere that could contain the whole tree;
if these rays are tested against the sphere first, then the ones that miss
the sphere obvious will not hit the tree, and do not need to be tested
against it.

That's the basic idea of bounding:  Surrounding a complex object with a
simple object to more quickly eliminate many of the rays that won't hit
the object.

Regards,
John
-- 
ICQ: 46085459


Post a reply to this message

From: T'vakah
Subject: Re: About this bouding thing...
Date: 14 Aug 1999 15:10:13
Message: <37b5bf15@news.povray.org>
> Imagine for a moment that you have a tree-shaped object, with hundreds of
> branches and leaves in it.  To test a ray against each and every object in
> the tree would take a very long time.
Do I have to bound each leaf and branch in the tree, or just the top level
csg object?

--
T'vakah

----------------------------------------------------------------------------
--------------------------------------------------

A small project I am working on now:
http://backdoor.to/edertav/


Post a reply to this message

From: Mr  Art
Subject: Re: About this bouding thing...
Date: 14 Aug 1999 15:58:58
Message: <37B5CA50.5163C8F8@gci.net>
Usually the top level csg object. But if that tree had two main branches
and many smaller branches on those two, bounding the two main branches
might be a good idea also as once inside the larger bounding object, the
ray is checked against on the inside.
But bounding each and every object in a csg is just about the same as no
bounding. So, bound groups of closely related objects to help reduce the
number of intersection checks made for each ray.

T'vakah wrote:

> > Imagine for a moment that you have a tree-shaped object, with hundreds of
> > branches and leaves in it.  To test a ray against each and every object in
> > the tree would take a very long time.
> Do I have to bound each leaf and branch in the tree, or just the top level
> csg object?
>
> --
> T'vakah
>
> ----------------------------------------------------------------------------
> --------------------------------------------------
>
> A small project I am working on now:
> http://backdoor.to/edertav/


Post a reply to this message

From: Nieminen Mika
Subject: Re: About this bouding thing...
Date: 16 Aug 1999 05:13:47
Message: <37b7d64b@news.povray.org>
T'vakah <tva### [at] hotmailcom> wrote:
: Do I have to bound each leaf and branch in the tree, or just the top level
: csg object?

  Povray bounds objects automatically so you (usually) don't have to worry
about it.

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

From: Chris Huff
Subject: Re: About this bouding thing...
Date: 16 Aug 1999 08:56:50
Message: <37B80AB9.61B416F8@compuserve.com>
But it sometimes doesn't do a very intelligent job of it, for instance:
with CSG differences or intersections, especially if the only objects
are infinite but the final shape is finite. In those relatively rare
cases, manual bounding can help enormously.


Post a reply to this message

From: John VanSickle
Subject: Re: About this bouding thing...
Date: 22 Aug 1999 15:07:44
Message: <37C04DA6.5DFAD43F@erols.com>
Chris Huff wrote:
> 
> But it sometimes doesn't do a very intelligent job of it, for
> instance: with CSG differences or intersections, especially if the
> only objects are infinite but the final shape is finite. In those
> relatively rare cases, manual bounding can help enormously.

I've found that the best rule of thumb is to bind all CSG intersections
and differences that take up significantly less space than the union
of the same objects.  If the manual bounding really isn't needed, POV
will issue a warning during parsing.

Regards,
John
-- 
ICQ: 46085459


Post a reply to this message

From: Rainer Mager
Subject: Re: About this bouding thing...
Date: 29 Aug 1999 21:35:16
Message: <37c9dfd4@news.povray.org>
One example of a CSG that should be manually bound is a brick wall. If you
have a scene with a significant portion of the backgroup a brick wall (made
up of many boxes, for example) then POV will check each box for every ray.
Although POV will make bounds for the whole wall the bounding box will
sorround the whole wall and not help at all.

One way to make more effecient bounds for such a shape is something like a
box shaped bounding box around each row of bricks. If the brick wall is 40
rows high and 20 bricks wide and you make a bound for each row then each ray
will check those 40 bounds first and then the 20 bricks within it instead of
the total 800 bricks, a significant savings.

--Rainer


Post a reply to this message

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