POV-Ray : Newsgroups : povray.beta-test : POV-Ray v3.7.beta.12a available. Server Time
18 Apr 2024 18:27:27 EDT (-0400)
  POV-Ray v3.7.beta.12a available. (Message 11 to 20 of 20)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: jva
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 1 Apr 2006 14:35:01
Message: <web.442ed57dccb62fd81bd6cd0c0@news.povray.org>
With respect to the report of sombrero.pov breaking with +b2:

"LoneStar" <nomail@nomail> wrote:
> Ooooo, and +B2 breaks sombrero.pov (right half gets cut off completely!).
>

It turns out that the behaviour changes significantly with changes to the
value for NumIterations: 1-10 show only the left half; 11-13,15 render OK;
14 gives a small distortion in the top-middle; 16 gives black distortions
all along the middle vertical. At higher values you get ever changing but
similar distortions.

I've tried a couple of changes to see where the error originates;
hand-calculating Increment, not using all the translations (for instance
everyting is on y=0 instead of rippled), using different ranges for Xc and
Zc, removing the union { } block, using "sphere { 0,1 }" instead of the
BasicShape definition inside the loops, removing the object { } block. In
all these cases the distortions remain the same.

All attempts using the same changes & values for NumIterations without +b2
seem to give no problem at all.

Jeroen.


Post a reply to this message

From: Chris Cason
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 2 Apr 2006 16:47:37
Message: <44303869$1@news.povray.org>
LoneStar wrote:
> Ooooo, and +B2 breaks sombrero.pov (right half gets cut off completely!).

Fixed, thanks.

-- Chris


Post a reply to this message

From: Chris Cason
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 3 Apr 2006 00:59:35
Message: <4430abb7@news.povray.org>
LoneStar wrote:
> Something that changed between 11c and 12a (didn't get to 12 in time) broke
> balcony.pov - the glass is now full of clear liquid instead of purple...

fixed, thanks for the report.

-- Chris


Post a reply to this message

From: Chris Cason
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 3 Apr 2006 01:35:54
Message: <4430b43a$1@news.povray.org>
LoneStar wrote:
> Just noticed that wineglass.pov renders differently too, though the color is
> still present in the liquid.  The checkerboard pattern is reversed (white
> and black squares are switched).  Weird.

at a guess this may be related to the old half-pixel offset stuff. if you
tweak the scaling in line 225 from <30.0, 4.001, 30.0> to <30.0, 4.000, 30.0>
the issue goes away.

-- Chris


Post a reply to this message

From: Invisible
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 3 Apr 2006 08:22:59
Message: <443113a3$1@news.povray.org>
>> Before anybody else asks... is there a good article somewhere that 
>> explains what BSP is, and why it's good?
> 
> 
> http://en.wikipedia.org/wiki/Binary_space_partition_tree

Just says that BSP involves recursively subdividing space and storing 
the chunks in a binary tree. Doesn't really explain why this would be 
useful for the purpose of raytracing.


Post a reply to this message

From: Chris Cason
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 3 Apr 2006 12:51:15
Message: <44315283@news.povray.org>
Invisible wrote:
>>> Before anybody else asks... is there a good article somewhere that 
>>> explains what BSP is, and why it's good?
>> 
>> 
>> http://en.wikipedia.org/wiki/Binary_space_partition_tree
> 
> Just says that BSP involves recursively subdividing space and storing 
> the chunks in a binary tree. Doesn't really explain why this would be 
> useful for the purpose of raytracing.

put simply it's a fast way of finding what objects occupy a given region of
3d space irregardless of the origin and direction of the ray being shot. each
leaf node of a tree represents a particular (possibly overlapping) volume and
contains a list of all objects that potentially occupy that volume (in terms
of their bounding boxes).

so, if we have a start and end point of a ray, and then determine which nodes
the ray crosses through, we have available a list of all objects that it can
possibly intersect. as a general rule, the fewer objects per node the better,
though there would be a point where the time taken to iterate a deep tree may
exceed the time taken to test the bounds of each of the objects in a higher-
level node with multiple objects.

in the ray-tracing community there has for some time been some argument over
the various merits of the BVH (our standard bounding method) vs BSP, with
some folks being strongly pro-BSP, and others usually in the middle (there
don't seem to be a lot of anti-BSP'ers out there:). There's little doubt that
BSP is a very useful technique, but IMO BVH (bounding volume hierarchy) isn't
as bad as some folks seem to think - POV-Ray has done quite well with it for
a long time and it's quite memory-efficient.

-- Chris


Post a reply to this message

From: Invisible
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 4 Apr 2006 04:48:14
Message: <443232ce$1@news.povray.org>
> put simply it's a fast way of finding what objects occupy a given region of
> 3d space irregardless of the origin and direction of the ray being shot. each
> leaf node of a tree represents a particular (possibly overlapping) volume and
> contains a list of all objects that potentially occupy that volume (in terms
> of their bounding boxes).
> 
> so, if we have a start and end point of a ray, and then determine which nodes
> the ray crosses through, we have available a list of all objects that it can
> possibly intersect. as a general rule, the fewer objects per node the better,
> though there would be a point where the time taken to iterate a deep tree may
> exceed the time taken to test the bounds of each of the objects in a higher-
> level node with multiple objects.

So is traversing a BSP tree faster than testing a ray against some 
arbitrary bounding box then? Because at the moment, I'm having 
difficulty seeing how dividing space into smaller and smaller "halves" 
is drastically different from just having bounding boxes inside bounding 
boxes...

If you have some insane isosurface object, it's going to take forever to 
trace it no matter what bounding algorithm you use. As I see it, there 
are two main cases where bounding makes things faster:

* You have some object that's slow to do intersection tests on, but 
doesn't take up much of the scene (i.e., you ought to be able to skip 
the intersection test for most rays)

* You have millions of tiny objects. (Most rays will only hit a few of 
them, but testing them all would take forever. A good bounding algorithm 
would skip most of these tests.)

As I understand it, the BVH intersection algorithm goes something like this:

+ Test the ray against the top-level BBs. (Hopefully there are few of 
those.)

+ If any are intersected, test the ray against the BBs they contain. 
Recurse until actual object surfaces are tested. Keep all intersections 
found.

Presumably, the BSP algorithm would go

+ Test ray against the left and right halfs of the top-level box.

+ If either is hit, recurse into sub-boxes (as with BVH).

I'm clearly missing something, because those two don't look 
significantly different. (Obviously, the performance of each is going to 
depend on how well the algorithm that builds the bounding structure does 
its job.)


Post a reply to this message

From: Christoph Hormann
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 4 Apr 2006 05:40:03
Message: <e0tem3$kt7$1@chho.imagico.de>
Invisible wrote:
> 
> If you have some insane isosurface object, it's going to take forever to 
> trace it no matter what bounding algorithm you use.

Not necessarily but creating a tight fitting bounding (no matter if 
using BVH or BSP) is difficult for arbitrary isosurfaces. See:

http://www.imagico.de/fast_iso/patch.html

Concerning which method is 'better' - that quite definitely depends on 
the scene.  And note in POV-Ray the BVH method is combined with Vista 
and Light buffers which can speed up things quite a lot in some cases.

Christoph

-- 
POV-Ray tutorials, include files, Landscape of the week:
http://www.imagico.de/ (Last updated 14 Mar. 2006)
MegaPOV with mechanics simulation: http://megapov.inetart.net/


Post a reply to this message

From: Invisible
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 4 Apr 2006 06:57:46
Message: <4432512a$1@news.povray.org>
>> If you have some insane isosurface object, it's going to take forever 
>> to trace it no matter what bounding algorithm you use.
> 
> 
> Not necessarily but creating a tight fitting bounding (no matter if 
> using BVH or BSP) is difficult for arbitrary isosurfaces.

I once wrote my own system for splitting an isosurface into a grid of 
"chunks", so POV-Ray would only sample the function near its surface. I 
had constant problems avoiding holes in the surface! :-\

> Concerning which method is 'better' - that quite definitely depends on 
> the scene.

Really? I find that supprising. (And one immediately wanders which kinds 
of scene each one is "best" at...)

> And note in POV-Ray the BVH method is combined with Vista 
> and Light buffers which can speed up things quite a lot in some cases.

Indeed - but it only accelerates camera rays and shadow rays. As soon as 
you have any reflection or refraction on your scene (or a weird camera 
for that matter) these speedups can't help you.


Post a reply to this message

From: Invisible
Subject: Re: POV-Ray v3.7.beta.12a available.
Date: 4 Apr 2006 07:03:18
Message: <44325276$1@news.povray.org>
> http://www.imagico.de/fast_iso/patch.html

Tangentally related to the current beta, but... I once though about the 
isosurface tracing algorithm. If I evaluate the function at a particular 
point in space and the result is a large positive value, then given that 
value and the max_gradiant, I know that there can be no surface within a 
sphere of some radius centered at that point.

If POV-Ray would cache this information, we could potentially save a 
hell of a lot of function evaluations. (For example, if the whole length 
of the ray falls within these "empty" spheres, then the ray clearly 
strikes no surface, and there's nothing to evaluate!)

OTOH, how much effort does it take to test a ray against a growing 
multitude of spheres?


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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