![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 20 Sep 1999 11:15:00 -0400, Nieminen Juha wrote:
>Ron Parker <par### [at] fwi com> wrote:
>: By taking the dot product of each of the six bounding box coordinates
>: with the ray direction. If they're all further away, then the object
>: must be.
>
> You forget that the bounding box is not necesarily around the object...
>nor it is a box... :)
You forget that if it's not around the object, it shouldn't matter to the
ray-intersection routine (obviously in practice it works in such a way that
vampire objects are possible, but that's a side-effect that could easily
disappear with better optimization.) And rest assured that finite objects
have bounding boxes whether or not such boxes are specified in the script;
that's how the min_extent and max_extent keywords in the superpatch work.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Sun, 19 Sep 1999 20:10:33 -0700, Ken <tyl### [at] pacbell net> wrote:
>intersection = cutting
Ken, I've always thought of intersection as an area of common overlap
among objects.
--
Alan ---------------------------------------------------------------
http://www.povray.org - Home of the Persistence of Vision Ray Tracer
news.povray.org - where POV-Ray enthusiasts around the world can get
together to exchange ideas, information, and experiences with others
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Same here...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ron Parker <par### [at] fwi com> wrote:
: You forget that if it's not around the object, it shouldn't matter to the
: ray-intersection routine (obviously in practice it works in such a way that
: vampire objects are possible, but that's a side-effect that could easily
: disappear with better optimization.) And rest assured that finite objects
: have bounding boxes whether or not such boxes are specified in the script;
: that's how the min_extent and max_extent keywords in the superpatch work.
How does it calculate the bounding box of an object like this?
intersection
{ sphere { x*1000, 1001 }
sphere { -x*1000, 1001 }
}
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 21 Sep 1999 09:22:29 -0400, Nieminen Juha wrote:
>Ron Parker <par### [at] fwi com> wrote:
>: You forget that if it's not around the object, it shouldn't matter to the
>: ray-intersection routine (obviously in practice it works in such a way that
>: vampire objects are possible, but that's a side-effect that could easily
>: disappear with better optimization.) And rest assured that finite objects
>: have bounding boxes whether or not such boxes are specified in the script;
>: that's how the min_extent and max_extent keywords in the superpatch work.
>
> How does it calculate the bounding box of an object like this?
>
>intersection
>{ sphere { x*1000, 1001 }
> sphere { -x*1000, 1001 }
>}
It calculates the intersection of the bounding boxes of the individual
spheres, so it would bound by box{<-1,-1001,-1001>,<1,1001,1001>}. I
didn't say it was always correct; in fact, I've mentioned before that
min_extent and max_extent aren't always entirely accurate for every
object. If you specify your own bounding volume, of course, it uses
that one if it's smaller than the computed one.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ron Parker <par### [at] fwi com> wrote:
: It calculates the intersection of the bounding boxes of the individual
: spheres, so it would bound by box{<-1,-1001,-1001>,<1,1001,1001>}. I
: didn't say it was always correct; in fact, I've mentioned before that
: min_extent and max_extent aren't always entirely accurate for every
: object. If you specify your own bounding volume, of course, it uses
: that one if it's smaller than the computed one.
Thanks for the information. Every day I learn something new about povray :)
Another question:
What does "smaller" mean? I mean that how does it define "this box is
smaller than that one"?
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 22 Sep 1999 06:19:40 -0400, Nieminen Juha wrote:
> What does "smaller" mean? I mean that how does it define "this box is
>smaller than that one"?
It bases it on volume. The box with the smaller volume is smaller,
regardless of its actual dimensions.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Ron Parker <par### [at] fwi com> wrote:
:> What does "smaller" mean? I mean that how does it define "this box is
:>smaller than that one"?
: It bases it on volume. The box with the smaller volume is smaller,
: regardless of its actual dimensions.
What happens when the user-defined bounding object is not a box?
--
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
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 23 Sep 1999 06:30:16 -0400, Nieminen Juha wrote:
>Ron Parker <par### [at] fwi com> wrote:
>:> What does "smaller" mean? I mean that how does it define "this box is
>:>smaller than that one"?
>
>: It bases it on volume. The box with the smaller volume is smaller,
>: regardless of its actual dimensions.
>
> What happens when the user-defined bounding object is not a box?
Presumably the bounding box of the bounding object is used.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 23 Sep 1999 06:30:16 -0400, Nieminen Juha <war### [at] cc tut fi> wrote:
> What happens when the user-defined bounding object is not a box?
If it is an infinite object, it is ignored and the default bounding
box is used instead. If it is finite, its bounding box is used for
vista and light buffer calculations (and the max() and min() in the
SUperPatch) and forray-shape intersection test the nested bounding
objects hierarchy is used (i.e. bounding box of bounding object is
checked first, then the bounding object and lastly the bounded object
itself)
Peter Popov
ICQ: 15002700
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |