POV-Ray : Newsgroups : povray.advanced-users : Manual Bounding Server Time
1 Nov 2024 09:19:55 EDT (-0400)
  Manual Bounding (Message 1 to 6 of 6)  
From: Andrew Coppin
Subject: Manual Bounding
Date: 22 Oct 2002 10:29:41
Message: <3db560d5@news.povray.org>
OK, so maybe I'm dumb, but I think the docs for POV-Ray's bounding are a
little vague. (Actually I think the same thing about media, photons,
radiosity, etc - but let's not get ahead of ourselves here ;-)

Let me put a specific question. If I create a shape that is the CSG
intersection of several planes, do I need to bound it automatically, or can
POV-Ray figure out its extent? (Assuming it's finite.) In other words, if I
do something like

intersection
{
  plane {...}
  plane {...}
  plane {...}
  ...
}

will POV-Ray make an automatic bounding box? Or should I add one manually to
speed things up? Also, if I do add one, do I need to turn off manual bounds
removal (-UR)?

Thanks!
Andrew.

PS. Is prism {linear_spline linear_sweep ...} faster than the above?
(Assuming the shape you want can be made that way...)


Post a reply to this message

From: Peter Popov
Subject: Re: Manual Bounding
Date: 22 Oct 2002 10:39:50
Message: <vmoaruslunm36f6vjpibpq501h2k01o27g@4ax.com>
On Tue, 22 Oct 2002 13:30:14 +0100, "Andrew Coppin"
<orp### [at] btinternetcom> wrote:

>Let me put a specific question. If I create a shape that is the CSG
>intersection of several planes, do I need to bound it automatically, or can
>POV-Ray figure out its extent? 

Automatic bounding has its limitations. What it basically does is
intersect the bounding boxes of CSG'ed objects in an attempt to reduce
the bounding box of the resulting CSG construct. Therefore it doesn't
work for infinite objects.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Warp
Subject: Re: Manual Bounding
Date: 22 Oct 2002 14:22:44
Message: <3db59773@news.povray.org>
Andrew Coppin <orp### [at] btinternetcom> wrote:
> intersection
> {
>   plane {...}
>   plane {...}
>   plane {...}
>   ...
> }

> will POV-Ray make an automatic bounding box?

  AFAIK, no.
  POV-Ray has no way of knowing the boundaries of an intersection composed
of any given objects. (In the case of planes it would be possible to
solve the boundaries mathematically, but usually there are other objects
than planes as well.)

> Or should I add one manually to speed things up?

  In this case yes. Try it to see if there's any speed difference.

> Also, if I do add one, do I need to turn off manual bounds
> removal (-UR)?

  I think that POV-Ray only removes user-defined bounding boxes when they
are "bigger" than the one calculated automatically. As POV-Ray has not
calculated any bounding box automatically, then the user-defined one is ok.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

From: Mike Williams
Subject: Re: Manual Bounding
Date: 22 Oct 2002 17:39:24
Message: <FOoq+HAQIct9EwlZ@econym.demon.co.uk>
Wasn't it Andrew Coppin who wrote:
>OK, so maybe I'm dumb, but I think the docs for POV-Ray's bounding are a
>little vague. (Actually I think the same thing about media, photons,
>radiosity, etc - but let's not get ahead of ourselves here ;-)
>
>Let me put a specific question. If I create a shape that is the CSG
>intersection of several planes, do I need to bound it automatically, or can
>POV-Ray figure out its extent? (Assuming it's finite.) In other words, if I
>do something like
>
>intersection
>{
>  plane {...}
>  plane {...}
>  plane {...}
>  ...
>}
>
>will POV-Ray make an automatic bounding box? Or should I add one manually to
>speed things up? Also, if I do add one, do I need to turn off manual bounds
>removal (-UR)?

A quick experiment shows that the Tetrahedron from "shapes2.inc" takes
about twice as long to render if you remove the manual bounding sphere.

It is not affected by -UR. 

It's not much affected by -MB either. With +MB1 POV draws an automatic
bounding box around the manual bounding sphere, and only tests the
manual bounding sphere when the box test succeeds, with -MB it still
tests the manual bounding sphere.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Andrew Coppin
Subject: Re: Manual Bounding
Date: 23 Oct 2002 03:52:33
Message: <3db65541@news.povray.org>
...so basically it's as I expected; POV-Ray can't automatically bound
infinite objects. (And to be fair, there is no particular reason why the
intersection of some infinite objects *should* necessarily produce a shape
of finite volume. I suspect that in the general case POV-Ray could get a
*big* headache trying...)

I'm interested by what Warp said about POV-Ray only ignoring manual bounds
if they're larger than the calculated bounds. Where does is say this in the
manual? It mentions something about POV-Ray's own automatic system usually
being faster, and that by default manual bounds are removed; it doesn't say
anything about them still being used if they are smaller... (I'm not saying
Warp is wrong - I'm saying the docs are wrong ;-)

Andrew.


Post a reply to this message

From: Warp
Subject: Re: Manual Bounding
Date: 23 Oct 2002 07:04:49
Message: <3db68251@news.povray.org>
Andrew Coppin <orp### [at] btinternetcom> wrote:
> I'm interested by what Warp said about POV-Ray only ignoring manual bounds
> if they're larger than the calculated bounds.

  I remember Ron Parker telling something like that. To be honest, I have
never experimented by myself if it's true.

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

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