|
![](/i/fill.gif) |
I had a blob with six spheres that looked like so :
#declare blobber = blob {
threshold 0.65
sphere { < ( -1.0 * sock ) , 0.0, 0.0>, 1.0, 1.0
texture {
// ruby color
pigment { color rgbf <1.0, 0.0, 0.0, 0.9> }
finish {
ambient 0.1
diffuse 0.1
//reflection 0.25
//specular 0.8
roughness 0.0003
//phong 0.8
//phong_size 250
}
}
}
sphere { < ( 1.0 * sock ) , 0.0, 0.0>, 1.0, 1.0
texture {
pigment { color rgbf <0.0, 1.0, 0.0, 0.9> }
finish {
ambient 0.1
diffuse 0.1
//reflection 0.25
//specular 0.8
roughness 0.0003
//phong 0.8
//phong_size 250
}
}
}
sphere { < 0.0, ( 1.0 * sock ), 0.0 >, 1.0, 1.0
texture {
pigment { color rgbf <0.0, 0.0, 1.0, 0.9> }
finish {
ambient 0.1
diffuse 0.1
//reflection 0.25
//specular 0.8
roughness 0.0003
//phong 0.8
//phong_size 250
}
}
}
//sphere { < 0.0, ( -1.0 * sock ), 0.0 >, 1.0, 1.0
// texture {
// pigment { color rgbf <1.0, 1.0, 0.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
//sphere { < 0.0, 0.0, ( 1.0 * ock ) >, 1.0, 1.0
// texture {
// pigment { color rgbf <1.0, 0.0, 1.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
//sphere { < 0.0, 0.0, ( -2.0 * ock ) >, 1.0, 1.0
// texture {
// pigment { color rgbf <0.0, 1.0, 1.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
interior{ ior 1.5
}
}
and you will note that three of the spheres are commented out so that I could
test for a bug. I didn't find a bug but what I did find was that the following
command :
truss -t!ioctl,time -o truss_blob.out /usr/local/povray31/x-povray
+I./cmyrgb.pov +O../../output/cmy_.tga +W320 +H240 +FT +A0.3 +AM2 +R3 -J +Q9 +V
+GA +X +B2048 +D +P +SP1 +EP1 +SF9 +EF12 +KC +KFI0 +KFF64
would render frame 9 in 22 seconds ...
Displaying...
Using 24 bit TrueColor visual...
00:00:00 so far, Rendering frame 9, going to 12.
0:00:22 Rendering line 240 of 240 supersampled 0 times.
Click on window to exit...
Done Tracing
./cmyrgb.pov Statistics, Resolution 320 x 240
----------------------------------------------------------------------------
Pixels: 76800 Samples: 103875 Smpls/Pxl: 1.35
Rays: 161551 Saved: 0 Max Level: 5/32
----------------------------------------------------------------------------
Ray->Shape Intersection Tests Succeeded Percentage
----------------------------------------------------------------------------
Blob 311859 111165 35.65
Blob Component 371105 345693 93.15
Blob Bound 935577 371105 39.67
----------------------------------------------------------------------------
Roots tested: 260926 eliminated: 181088
Calls to Noise: 844023 Calls to DNoise: 856900
----------------------------------------------------------------------------
Shadow Ray Tests: 150308 Succeeded: 53792
Refracted Rays: 57676
----------------------------------------------------------------------------
Smallest Alloc: 12 bytes Largest: 2097160
Peak memory used: 2303846 bytes
----------------------------------------------------------------------------
Time For Trace/Frame: 0 hours 0 minutes 22.0 seconds (22 seconds)
Time For Trace Total: 0 hours 0 minutes 22.0 seconds (22 seconds)
Total Time: 0 hours 0 minutes 22.0 seconds (22 seconds)
Parsing.......No pigment type given.
Scene contains 1 frame level objects; 0 infinite.
Displaying...
00:00:22 so far, Rendering frame 10, going to 12.
0:05:32 Rendering line 240 of 240 supersampled 0 times.
Click on window to exit...$
BUT FRAME 10 was over 5 minutes! Why? Because the blob components entered each
others field area at frame 10 but not in frame 9. In frame 9 they were just
spheres but in frame 10 we get a bit of pinching as the components begin to
merge. If the reflection, specular and phong lines are left in the scene file
then the whole process is much like a rocket sled hitting a wall of jello. Even
after 10 hours the computer has not rendered a single line.
What the heck goes on here? IT must be because the individual components all
have different colors. If I change the blob to the following :
#declare blobber = blob {
threshold 0.65
sphere { < ( -1.0 * sock ) , 0.0, 0.0>, 1.0, 1.0
//texture {
// pigment { color rgbf <1.0, 0.0, 0.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
}
sphere { < ( 1.0 * sock ) , 0.0, 0.0>, 1.0, 1.0
//texture {
// pigment { color rgbf <0.0, 1.0, 0.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
}
sphere { < 0.0, ( 1.0 * sock ), 0.0 >, 1.0, 1.0
//texture {
// pigment { color rgbf <0.0, 0.0, 1.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
}
//sphere { < 0.0, ( -1.0 * sock ), 0.0 >, 1.0, 1.0
// texture {
// pigment { color rgbf <1.0, 1.0, 0.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
//sphere { < 0.0, 0.0, ( 1.0 * ock ) >, 1.0, 1.0
// texture {
// pigment { color rgbf <1.0, 0.0, 1.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
//sphere { < 0.0, 0.0, ( -2.0 * ock ) >, 1.0, 1.0
// texture {
// pigment { color rgbf <0.0, 1.0, 1.0, 0.9>
}
// finish {
// ambient 0.1
// diffuse 0.1
// //reflection 0.25
// //specular 0.8
// roughness 0.0003
// //phong 0.8
// //phong_size 250
// }
// }
//}
texture {
pigment { color rgbf <1.0, 1.0, 1.0, 0.9> }
finish {
ambient 0.1
diffuse 0.1
//reflection 0.25
//specular 0.8
roughness 0.0003
//phong 0.8
//phong_size 250
}
}
interior{ ior 1.5
}
}
Then frame 10 renders ...
Displaying...
Using 24 bit TrueColor visual...
00:00:00 so far, Rendering frame 10, going to 10.
0:01:04 Rendering line 240 of 240 supersampled 0 times.
Click on window to exit...
Done Tracing
./cmyrgb.pov Statistics, Resolution 320 x 240
----------------------------------------------------------------------------
Pixels: 76800 Samples: 132461 Smpls/Pxl: 1.72
Rays: 451288 Saved: 0 Max Level: 32/32
----------------------------------------------------------------------------
Ray->Shape Intersection Tests Succeeded Percentage
----------------------------------------------------------------------------
Blob 1329580 714404 53.73
Blob Component 2069305 1787820 86.40
Blob Bound 3988740 2069305 51.88
----------------------------------------------------------------------------
Roots tested: 1279187 eliminated: 977700
Calls to Noise: 1006629 Calls to DNoise: 1052992
----------------------------------------------------------------------------
Shadow Ray Tests: 880070 Succeeded: 395577
Reflected Rays: 194999 Total Internal: 194999
Refracted Rays: 123828
----------------------------------------------------------------------------
Smallest Alloc: 12 bytes Largest: 2097160
Peak memory used: 2310466 bytes
----------------------------------------------------------------------------
Time For Trace/Frame: 0 hours 1 minutes 4.0 seconds (64 seconds)
Time For Trace Total: 0 hours 1 minutes 4.0 seconds (64 seconds)
Total Time: 0 hours 1 minutes 4.0 seconds (64 seconds)
SO unless I have a mainframe or a Sun E10000 with 64 processors, don't bother
rendering a 64 frame animation with multicolor blob elements.
Dennis Clarke
Post a reply to this message
|
![](/i/fill.gif) |