|
|
I noticed that the poly primitive renders slower in megapov (0.4) than
in the official povray (at least in this ultrasparc). I wrote about this
in p.b.i. Why is this so?
Another thing I noticed was that the equivalent isosurface renders faster
than the poly (even when the poly is rendered in the official povray). Should
the poly primitive be optimized so that it's at least as fast as the
isosurface?
Here is a copy of the original article I sent:
Simen Kvaal <sim### [at] studentmatnatuiono> wrote:
: Looks good, man! What was the render time for it? (Just comparing.)
I made a modified version of my scene for the comparison:
//=========================================================================
#declare UseIso = no;
camera { location <8,20,-10>*.7 look_at x*.01 angle 35 }
light_source { <100,200,20> 1 }
background { rgb y }
#if(UseIso)
#version unofficial MegaPOV 0.4;
isosurface
{ function { 2*x*sqr(y)/(sqr(x)+sqr(y*y))-z }
contained_by { box { <-4,-4,-1><4,4,1> } }
open
#else
poly
{ 5,
<0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,-2,
0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0>
sturm
clipped_by { box { <-4,-4,-1><4,4,1> } } bounded_by { clipped_by }
#end
pigment { rgb <1,.7,.3> } finish { specular .5 }
rotate <0,90,-90>
}
//=========================================================================
Changing the first line will choose the type of surface (poly or iso).
Choosing "no" will make the scene renderable with the official povray.
The images generated look quite identical. The rendering times in this
UltraSparc5 using "-w512 -h385 +a0.1" were:
Poly (with povray 3.1g):
Total Time: 0 hours 0 minutes 53.0 seconds (53 seconds)
Poly (with megapov 0.4):
Total Time: 0 hours 0 minutes 57.0 seconds (57 seconds)
Iso (with megapov 0.4):
Total Time: 0 hours 0 minutes 40.0 seconds (40 seconds)
Surprisingly enough, the isosurface is faster than the poly.
Oddly enough, the poly is slightly slower in megapov than in the official
pov.
Question: Should the poly be optimized to be at least as fast as the
isosurface?
--
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
|
|