|
|
Le 27/02/2013 20:05, Ryan Budney nous fit lire :
> Greetings,
>
> I'm a long-time PoVRay user and I'm encountering a problem with PovRay 3.7 RC7,
> when it comes to parametric surfaces.
>
> I have a small scene that renders fine when the surface is *not* in it, but with
> the surface, the scene renders to 99% complete (rather quickly, using 8 cores),
> but then it just sits there, with only 1 core running (via system monitor) at
> 100%. It almost appears as if PovRay is failing to collect a "rogue thread"
> but I can't really tell what's happening. The scene is very small so I've
> copied it below.
>
Thanks.
in 3.7, image is rendered in small square chunk. What you see is the
last chunk being very long (very very .... very ... very long) to trace.
> Are there any known issues with parametric surfaces and the PovRay beta? I've
> seen a post concerning textures but my surface is not textured -- it's just
> partially transparent.
>
> Thanks for any information. The scene is copied below.
>
> #declare C1 = function(r,A,l) { 1.0 - (r*sin(A)/sqrt(sinh(l)*sinh(l) +
> cosh(l)*cosh(l))) }
You could speed up a bit by replacing sinh^2(l)+cosh^2(l) with cosh(2l)
(+Q3 went from 28 seconds to 22 seconds with that change)
----------------------------------------------------------------------------
Ray->Shape Intersection Tests Succeeded Percentage
----------------------------------------------------------------------------
Parametric 119326 477 0.40
Parametric Bound 119326 119326 100.00
Function VM calls: 100309541
Trace Time: 0 hours 0 minutes 22 seconds (22.167 seconds)
Trace Time: 0 hours 0 minutes 28 seconds (28.655 seconds)
> clipped_by { plane { <0,0,-1>, -2 } }
> clipped_by { plane { <0,0,1>, 2.14 } }
Double clipped_by ? not sure it does what you expect
Use a single box instead. (but does it only appear at all ? as the
quadric is a duplicate of the previous one, clipped by a sphere)
The parametric can enjoy being clipped_by sphere { <0,0,1>, 0.4 } }
Parametric 8776 477 5.44
Parametric Bound 9500 8776 92.38
You are also using radiosity with a parametric surface and a large area
light (16 x 16!). That's slow. (something like 256 slower)
Last: simplify your formula, C2(r,A)*sin(T) when T=0 is a waste of time
for Tx.
Same for Ty, the sinh(l)*sin(T)*C1(r,A,l) is also 0.
Just dropping these 2 zero rendered in 15 seconds at +Q3. (instead of 22)
And if you comment the cos(T) in Tx & Ty (because cos(0)=1), it drops to
12 seconds (with +Q3).
+Q4 push me at 51 seconds, and going +Q5 is far too long for something
that look like a small sphere at the bottom of the parabola.
Post a reply to this message
|
|