 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I'm using povray for windows, version 3.6, 32-bit. I've started getting
into some very large animations (1500+ frames per scene). As I result
I've been having splitting my animations into chunks and rendering each
chunk on a different computer.
Where I am having trouble is is the Subset_Start_Frame and
Subset_End_Frame commands. They do not seem to work properly. For
example, in an animation I'm working on now (1200 frames), if I ask the
computer to render frames 600-800 using the Subset commands in the ini
file I do not actually get frames 600-800. Rather, I get frames from
later on in the animation.
Strangely though, if I use the "Initial_Frame" and "Final_Frame"
commands like so:
Initial_Frame=600
Final_Frame=1200
It renders properly. Only problem is that it doesn't stop at frame 800,
but rather goes straight on through. Of course, if I set Final_Frame to
800 the animation gets compressed into fewer frames (i.e. 1200 frame
animation becomes an 800 frame), rather then rendering to frame 800 of 1200.
What is going wrong? Is there an easy way around this? Ini file
attached below (subset commands removed).
Bryan
Antialias=on
Antialias_Threshold=0.1
Antialias_Depth=2
Input_File_Name=10 mile.pov
Output_File_Name=C:\POV\10 Mile Point\animation\
Initial_Frame=600
Final_Frame=1200
Initial_Clock=0
Final_Clock=1
Cyclic_Animation=off
Pause_when_Done=off
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Bryan Heit <bjh### [at] NOSPAMucalgary ca> wrote:
> What is going wrong? Is there an easy way around this? Ini file
> attached below (subset commands removed).
>
This should work as it has worked for me.
Initial_Frame=1
Final_Frame=1200
Initial_Clock=0
Final_Clock=1
Subset_Start_Frame= 600
Subset_End_Frame=800
A point to bear in mind is, if you are doing calculations based on the clock
value as opposed to the Frame_number. You might get unexpected results
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Bryan Heit" <bjh### [at] NOSPAMucalgary ca> wrote in message
news:441ec10f$1@news.povray.org...
> I am having trouble is is the Subset_Start_Frame and Subset_End_Frame
> commands. They do not seem to work properly. For example, in an
> animation I'm working on now (1200 frames), if I ask the computer to
> render frames 600-800 using the Subset commands in the ini file I do not
> actually get frames 600-800. Rather, I get frames from later on in the
> animation.
>
Hi Bryan,
I just did a very small test using command line options "+kfi0 +kff10 +sf5
+ef6" in 3.6 and it did what I expected.
The only thing I can think of to check (sorry if it's obvious) is that you
are adding the subset settings as well as leaving the frame settings in the
ini file i.e. you should not be overwriting the frame settings with the
subset frame settings. Because clearly if you specify the subset final frame
without telling it the real final frame it's not going to be able to
correctly work out where in the cycle the frames should be.
Regards,
Chris B.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
That is how I did it. I just ran a test, using your code, trying to
animate frames 820-900. Once again, it did not work. I don't know
exactly where it started, but it started somewhere in the neighborhood
of frame 1100.
But I think I may know what's going wrong. When I use the subset
command, what gets returned when I call "final_frame" in the .pov file?
I think that would explain my problem, if instead of getting the
"Final_Frame" from the ini file, the command was returning the value for
"Subset_End_Frame".
Since I use the "final_frame" call for a lot of calculations it would
explain why everything seems to go off when I use subsets (assuming I'm
right about my problem with the subset).
It is not an issue of using the clock command; the call "clock" doesn't
even appear in the .pov file I am using.
Bryan
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris B wrote:
> I just did a very small test using command line options "+kfi0
+kff10 +sf5
> +ef6" in 3.6 and it did what I expected.
I'm doing it via an .ini file. Perhaps it is treating it differently?
> The only thing I can think of to check (sorry if it's obvious) is that you
> are adding the subset settings as well as leaving the frame settings in the
> ini file
Nope. This is how I setup my .ini file:
Initial_Frame=1
Final_Frame=1200
Initial_Clock=0
Final_Clock=1
Subset_Start_Frame= 820
Subset_End_Frame=900
As I mentioned to Stephen, this appeared to start the animation at frame
~1100. I'm thinking that maybe it's a problem with the way I calculate
a lot of stuff. Rather then using "clock", I use "final_frame" and
"frame_number" for many calcs. Perhaps the when I call "final_frame"
when subsets are in use, Pov is returning "Subset_End_Frame" instead?
Bryan
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Bryan Heit <bjh### [at] NOSPAMucalgary ca> wrote:
> Chris B wrote:
> > I just did a very small test using command line options "+kfi0
> +kff10 +sf5
> > +ef6" in 3.6 and it did what I expected.
>
>
> I'm doing it via an .ini file. Perhaps it is treating it differently?
>
>
> > The only thing I can think of to check (sorry if it's obvious) is that you
> > are adding the subset settings as well as leaving the frame settings in the
> > ini file
>
> Nope. This is how I setup my .ini file:
>
> Initial_Frame=1
> Final_Frame=1200
> Initial_Clock=0
> Final_Clock=1
> Subset_Start_Frame= 820
> Subset_End_Frame=900
>
> As I mentioned to Stephen, this appeared to start the animation at frame
> ~1100. I'm thinking that maybe it's a problem with the way I calculate
> a lot of stuff. Rather then using "clock", I use "final_frame" and
> "frame_number" for many calcs. Perhaps the when I call "final_frame"
> when subsets are in use, Pov is returning "Subset_End_Frame" instead?
>
> Bryan
Put this line or similar into your pov file.
#debug concat ("frame_number = ", str(frame_number, -3), "/n")
and
Debug_File=C:outputpathdebug.txt
In your ini file. This will give you the actual Frame numbers in the file
debug.txt in your specified path. You might be able to work out what is
going wrong. The debug statement combined with concat and str can be very
useful fot faultfinding.
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Bryan Heit" <bjh### [at] NOSPAMucalgary ca> wrote in message
news:441ecf45$1@news.povray.org...
> I'm thinking that maybe it's a problem with the way I calculate a lot of
> stuff. Rather then using "clock", I use "final_frame" and "frame_number"
> for many calcs. Perhaps the when I call "final_frame" when subsets are in
> use, Pov is returning "Subset_End_Frame" instead?
>
> Bryan
I think you're right. 'final_frame' does seem to come up with the last frame
of the subset being rendered rather than the value set using the Final_Frame
option setting (Which seems to conflict with the POV-Ray documentation).
Regards,
Chris B.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Chris B wrote:
> I think you're right. 'final_frame' does seem to come up with the last frame
> of the subset being rendered rather than the value set using the Final_Frame
> option setting (Which seems to conflict with the POV-Ray documentation).
I've ran a few tests and this is exactly the problem. When you declare
a "Subset_End_Frame" povray will return that value when you call
"final_frame" in a .pov file.
Bryan
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Bryan Heit <bjh### [at] NOSPAMucalgary ca> wrote:
> Chris B wrote:
> > I think you're right. 'final_frame' does seem to come up with the last frame
> > of the subset being rendered rather than the value set using the Final_Frame
> > option setting (Which seems to conflict with the POV-Ray documentation).
>
>
> I've ran a few tests and this is exactly the problem. When you declare
> a "Subset_End_Frame" povray will return that value when you call
> "final_frame" in a .pov file.
>
> Bryan
You have lost me on this. Are you declaring your own “Subset_End_Frame”?
There is a command used in the ini file that is called this. The same as
+EFn in the command line. If you try to send the value to #debug then you
get an undeclared identifier, error.
Stephen
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Stephen" <mca### [at] hotmail com> wrote in message
news:web.44200d0120875604b1b469160@news.povray.org...
> Bryan Heit <bjh### [at] NOSPAMucalgary ca> wrote:
>> Chris B wrote:
>> > I think you're right. 'final_frame' does seem to come up with the last
>> > frame
>> > of the subset being rendered rather than the value set using the
>> > Final_Frame
>> > option setting (Which seems to conflict with the POV-Ray
>> > documentation).
>>
>>
>> I've ran a few tests and this is exactly the problem. When you declare
>> a "Subset_End_Frame" povray will return that value when you call
>> "final_frame" in a .pov file.
>>
>> Bryan
>
> You have lost me on this. Are you declaring your own "Subset_End_Frame"?
> There is a command used in the ini file that is called this. The same as
> +EFn in the command line. If you try to send the value to #debug then you
> get an undeclared identifier, error.
>
> Stephen
>
I think he means that when you set the Subset_End_Frame in the ini file that
the value you set it to is displayed in the message stream when you use the
debug command in POV-Ray to display the final_frame preset variable. The
same happens when you use the command line option +EFn to set the subset end
frame.
The documentation says that the final_frame variable available at run-time
in the SDL will contain the value set using Final_Frame, but from my tests
this doesn't seem to be the case if a subset end frame is defined.
I rendered the following two frames and got the following results from the
debug commands:
// Command line options +kfi0 +kff10 +sf5 +ef6
camera { location <0,2,-2> look_at 0 }
light_source { <-5,30,-10> 1 }
#debug concat("Final Frame : ",str(final_frame,3,3),"\n")
#debug concat("Initial Frame: ",str(initial_frame,3,3),"\n")
#debug concat("Frame Number : ",str(frame_number,3,3),"\n")
// Rendering frame 5 of 6
//
// Final Frame : 6.000
// Initial Frame: 5.000
// Frame Number : 5.000
// Rendering frame 6 of 6
//
// Final Frame : 6.000
// Initial Frame: 5.000
// Frame Number : 6.000
Not what I would have expected from the documentation.
Regards,
Chris B.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"Chris B" <c_b### [at] btconnect com nospam> wrote:
> Not what I would have expected from the documentation.
>
Oh! Dear. I should read questions properly.
You are right, I can see this being a problem.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
I've found a relatively easy work-around. All you need to do is declare
you're own variable within the .pov file which stores the total number
of frames in the animation. Then you simply call that variable, instead
of "final_frame". It gets around the bug in the Subset commands, but is
yet another variable I have to remember to change as I alter the
animations...
thanx for your help guy's
Bryan
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Bryan Heit <bjh### [at] NOSPAMucalgary ca> wrote:
> I'm using povray for windows, version 3.6, 32-bit. I've started getting
> into some very large animations (1500+ frames per scene). As I result
> I've been having splitting my animations into chunks and rendering each
> chunk on a different computer.
I have seen problems in the log files as well, like "rendering frame 400 of
50"
But i had no actual problems with it.
I think i had exactly the same situation: rendering lot's of frames on
multiple comuters. I wrote a povray file that when run, generates
dos/windows batch files, each with a povray render commend for a single
frame, like: +SF195 +EF196
it's here:
http://news.povray.org/povray.text.scene-files/thread/%3Cweb.43ee7ee69367b201a8399d8d0%40news.povray.org%3E/
all you need a shared folder on the windows network that can be used form
all PC's.
on the "master" i run a batchfile that repeatedly runs the master.pov. it
keeps track of the status of all render nodes using a text file. if it
detects that a node as completed it's frame, a new render command for that
node is generated.
Each node repeatedly copies its render commands from the shared folder, runs
them (i.e: starting povray) and returning the resulting image to the shared
folder.
The nice thing is that all computers are finished at the same time, even if
the used computers are very different and/or some parts of the animation
render faster than other parts.
It works upto 10 pc's (shared folder limit of WinXP) but it's unlimited if
the shared folder is on a win98 or windows server computer.
later i made a special version of master.pov, called copy.pov. instead of
sending render commands, it makes "copy povray files form shared
directory"-commands, effectively updating the povray-code on each node.
It also calculates the average render time per frame, and displays some
stats and the expected ETA, so you know when everything will be rendered.
I think the ETA calculation uses a get_time function that is only available
in the megapov version, so you may need to disable that part of the code.
have a look. If you try it and have any problem with it, let me know.
jaap.
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Jaap wrote:
> I think i had exactly the same situation: rendering lot's of frames on
> multiple comuters. I wrote a povray file that when run, generates
> dos/windows batch files, each with a povray render commend for a single
> frame, like: +SF195 +EF196
Looks like it would work, except that many of the computers I'm using
are not networked together (or even connected to a network in some
cases). A lot of the computers I am using are ones at work - I set them
up to run overnight and collect the rendered frames in the AM.
Bryan
Post a reply to this message
|
 |
|  |
|  |
|
 |
|
 |
|  |