POV-Ray : Newsgroups : povray.animations : more efficient method to program animation? : more efficient method to program animation? Server Time
19 Apr 2024 21:22:50 EDT (-0400)
  more efficient method to program animation?  
From: wieland delepeleire
Date: 15 Jan 2011 08:10:01
Message: <web.4d319c5866c3e57a184c8df90@news.povray.org>
Dear all,

for a project i am using Povray to make an animation. The temporary result can
be seen here (http://dl.dropbox.com/u/279365/Draft04.mov).

My files are getting complicated and I was wondering if there is a more
efficient way to organise my "programming".
So far, I am declaring scene numbers in my .pov file and then tell what should
happen:
 #switch (SceneNr)
 #case (1) // Light searching
  #declare vspot01 = 1;
  #declare vt_ph = 1;
  #declare vt_cp = 1;
  #declare zt_ph = 0;
  #declare zt_cp = 0;

  #declare alpha_g=1-clock;

  #declare CamPos = CamPos_s0;
  #declare CamLook = CamLook_s0;

  #declare w_cp=w_cp/2;
  #declare FlyThrough =
       spline {
           cubic_spline
           -0.250, < 1.3*w_cp, 0, 2>
            0, < 1.2*w_cp, 0, 2>
            1/9, < 1.3*w_cp, 0, 3>
              2/9, < 1.3*w_cp+1, 0, 2>
            3/9, < 1.3*w_cp, 0, 1>
            4/9, < 0.9*w_cp, 0, 2>
              5/9, < 0.5*w_cp, 0, 4>
            6/9, < 0.1*w_cp, 0, 2>
            7/9, < -0.1*w_cp, 0, 1>
              8/9, < -0.4*w_cp, 0, 0>
            1, <w_cp/sin(pi/2/0.7), 0, 0>
            1.250, <w_cp/sin(pi/2/0.7)+1, 0, 0>
              }
  #declare SpotLook = FlyThrough(0.95*clock);
  #declare SpotRadius = 9*pow(sin(clock*pi/2),2);
 #break
 #case (2) // move light right and left
  #declare vspot01 = 1;
  #declare vt_ph = 1;
  #declare vt_cp = 1;
  #declare zt_ph = 0;
  #declare zt_cp = 0;
  #declare alpha_g=0;

  #declare CamPos = CamPos_s0;
  #declare CamLook = CamLook_s0;

  #local o_sp = 0.7; //overshoot spotlight
  #declare SpotLook = <w_cp/(2*sin(pi/2/o_sp))*sin(clock*pi/2/o_sp),0,0>;
  #declare SpotRadius = 9;
 #break
In the .ini file that defines the animation I declare the scene number that
should be rendered as follows:
     ;Declare=SceneNr=1
     ;Final_Frame=50 ;
     ;Output_File_Name=/Users/Wieland/Desktop/RendersMegaPov/NQ/scene01/frame
     Declare=SceneNr=2
     Final_Frame=20
     Output_File_Name=/Users/Wieland/Desktop/RendersMegaPov/NQ/scene02/frame
     ;Declare=SceneNr=3
     ;Final_Frame=20
     ;Output_File_Name=/Users/Wieland/Desktop/RendersMegaPov/NQ/scene03/frame
But when I want to render the full animation I should comment/uncomment every
scene separately in the .ini file which is a repetitive and stupid
time-spending. (At least for a human being, that's why we invented computers,
right?)
Therefore I was looking for a for-loop in the .ini file, but that seems
impossible. How do you guys solve such a problem?

Newbie greetings,
Wieland.


Post a reply to this message

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