POV-Ray : Newsgroups : povray.general : Potential Bug Server Time
29 Nov 2024 05:41:29 EST (-0500)
  Potential Bug (Message 1 to 3 of 3)  
From: Bryan Heit
Subject: Potential Bug
Date: 21 Mar 2006 19:31:14
Message: <44209ad2$1@news.povray.org>
I have been trying to use the "Subset_Start_Frame" and 
"Subset_End_Frame" commands in a .ini file to subdivide my animations 
such that I can render portions of them on different computers.  During 
this process I have identified a potential bug in the implementation of 
this command.

What happens is when I use the "Subset_End_Frame" in my .ini file the 
value for "Subset_End_Frame", not the value for "Final_Frame", gets 
reported when I use the built in variable "final_frame" within the .pov 
file.  This does not seem to be how the command should be set up, and 
conflicts with the documentation.

I've included some sample code below - if you remove the 
"Subset_Start_Frame" and "Subset_End_Frame" from the .ini file the 
animation will produce 2 frames with red balls, 2 frames with green 
balls, 2 blue, 2 yellow and 2 purple.  If you add in the subset commands 
you should get 1 green, 2 blue and 2 yellow (i.e. frames 4-8).  Instead, 
you get 1 blue, 2 yellow and 2 purple (i.e. the animation gets 
recalculated, using frame 8 as the last frame, not frame 10).  This is 
confirmed by the error file which is generated.

I'm using PovRay 3.6, 32-bit.  WinXP, 512meg RAM, Pentium M @1.60GHz. 
I've also tried this using the same version of povray, WinXP, 256meg 
RAM, Celeron something-or-other with the same result.

Bryan

POV file:
light_source {
   <0,500,-500>
   color rgb <1,1,1>
   }

camera {
   location <0,0,-10>
   look_at <0,0,0>
   angle 30
   }

sphere {
   <0,0,0>, 1
   #if ((frame_number/final_frame) <=1)
     pigment { color rgb <1,0,1> }
   #end
   #if ((frame_number/final_frame) <= 0.8)
     pigment { color rgb <1,1,0> }
   #end
   #if ((frame_number/final_frame) <= 0.6)
     pigment { color rgb <0,0,1> }
   #end
   #if ((frame_number/final_frame) <= 0.4)
     pigment { color rgb <0,1,0> }
   #end
   #if ((frame_number/final_frame) <= 0.2)
     pigment { color rgb <1,0,0> }
   #end
   }

#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")


Ini file:
Input_File_Name=ani.pov
Output_File_Name=images\

Initial_Frame=1
Final_Frame=10
Initial_Clock=0
Final_Clock=1

Debug_File=C:ani.txt


Post a reply to this message

From: gregjohn
Subject: Re: Potential Bug
Date: 22 Mar 2006 20:30:00
Message: <web.4421f90b37244631a461adc20@news.povray.org>
Is it possible that you get what you want with Final_Frame=11?

11 frames gets ya  0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0
10 frames gets a   0/9, 1/9, 2/9, 3/9, 4/9, 5/9, 6/9, 7/9, 8/9, 9/9


Post a reply to this message

From: Bryan Heit
Subject: Re: Potential Bug
Date: 23 Mar 2006 10:22:06
Message: <4422bd1e$1@news.povray.org>
That was example code, the actual animations I'm working on consist of 
thousands of frames.  The whole idea of the subset commands is to allow 
the user to split up large animations like that between computers (i.e. 
computer 1 renders frames 1-500, computer 2 501-1000, etc).  The problem 
is that as it is currently implemented, the subset commands only work to 
allow you to render from one specific point to the end of the animation. 
  Not very useful if I want to split up a 15,000 frame animation between 
5 or 6 computers...

Bryan


Post a reply to this message

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