POV-Ray : Newsgroups : povray.general : Render frames backwards Server Time
6 Nov 2024 02:23:20 EST (-0500)
  Render frames backwards (Message 1 to 10 of 40)  
Goto Latest 10 Messages Next 10 Messages >>>
From: Andrew Cocker
Subject: Render frames backwards
Date: 13 Nov 2002 20:46:09
Message: <3dd30061@news.povray.org>
Forgive me if this has been asked before, but is it possible, when rendering on 2
machines, to
have the second machine start at the last frame, and work towards frame 1, so both
machines
meet each other at some point? Using something like +kff400 +sf400 +ef1 (which doesn't
work)

Obviously, there are some scenes that will break with this method (some particle
systems etc),
but I'd like the option to do it.

If not, can this be implemented in the next MegaPOV please?

All the best,

Andy Cocker


Post a reply to this message

From: ABX
Subject: Re: Render frames backwards
Date: 14 Nov 2002 03:04:00
Message: <bfl6tusuk70dfht3spv6p2aodskvvsid08@4ax.com>
On Thu, 14 Nov 2002 01:46:24 -0000, "Andrew Cocker" <mai### [at] andrewcockercouk>
wrote:
> If not, can this be implemented in the next MegaPOV please?

Hmm, yes, I think it could be usefull from time to time.
Would be Frame_Step=Integer option sufficient?
Something like

  Frame_Step=1 (default-forward)
  Frame_Step=-1 (backward)
  Frame_Step=0 (wrong value)

I will try. But I think you can use some workaround already. Just add
Declare=Direction=1 or Declare=Direction=0 in settings and then use

#if(Direction=1)
  #declare Current_Frame=frame_number;
#else
  #declare Current_Frame=calculated_reversed_frame_number;
#end

ABX


Post a reply to this message

From: Tim Nikias
Subject: Re: Render frames backwards
Date: 14 Nov 2002 03:07:20
Message: <3dd359b8@news.povray.org>
How about setting an "Internal_Clock" running along with
the clock in one animation, and Internal_Clock=1-clock;
in the second?

And, just as a little sidenote, Rune's System would be
able to calculate frames backward like that if set
correctly, although it will have to reparse the entire
batch again and again for each frame of the backwards
animation, and, once its released, my system is capable
of that, which doesn't use I/O for data-tracking and
uses an algorithmic approach to particle generation, much
like Chris' Colefax SprayGen, but more advanced.

--
Tim Nikias
Homepage: http://www.digitaltwilight.de/no_lights/index.html
Email: Tim### [at] gmxde

> Forgive me if this has been asked before, but is it possible, when
rendering on 2 machines, to
> have the second machine start at the last frame, and work towards frame 1,
so both machines
> meet each other at some point? Using something like +kff400 +sf400 +ef1
(which doesn't work)
>
> Obviously, there are some scenes that will break with this method (some
particle systems etc),
> but I'd like the option to do it.
>
> If not, can this be implemented in the next MegaPOV please?
>
> All the best,
>
> Andy Cocker
>
>


Post a reply to this message

From: ABX
Subject: Re: Render frames backwards
Date: 14 Nov 2002 03:21:40
Message: <vvm6tu41dptmke2lfuhb2hfj86dj2k0c29@4ax.com>
On Thu, 14 Nov 2002 09:07:50 +0100, "Tim Nikias" <tim### [at] gmxde> wrote:
> Internal_Clock=1-clock;

Internal_Clock = final_clock - (clock - initial_clock);

And what about cyclic animations ?

ABX


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Render frames backwards
Date: 14 Nov 2002 04:35:28
Message: <3dd36e60$1@news.povray.org>
In article <3dd30061@news.povray.org> , "Andrew Cocker" 
<mai### [at] andrewcockercouk> wrote:

> Forgive me if this has been asked before, but is it possible, when
> rendering on 2 machines, to
> have the second machine start at the last frame, and work towards frame 1,
> so both machines
> meet each other at some point? Using something like +kff400 +sf400 +ef1
> (which doesn't work)
>
> Obviously, there are some scenes that will break with this method (some
> particle systems etc),
> but I'd like the option to do it.
>
> If not, can this be implemented in the next MegaPOV please?

How about taking the much simpler approach of just starting the second one
in the middle?  Kind of more logical...

Apart from that, right now nothing keeps you from writing a batch file and
simply set "clock".

    Thorsten


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Render frames backwards
Date: 14 Nov 2002 04:36:04
Message: <3dd36e84$1@news.povray.org>
In article <bfl6tusuk70dfht3spv6p2aodskvvsid08@4ax.com> , ABX 
<abx### [at] abxartpl>  wrote:

> I will try. But I think you can use some workaround already. Just add
> Declare=Direction=1 or Declare=Direction=0 in settings and then use

Yes, see my other message.  Simple solutions are usually much better...

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Warp
Subject: Re: Render frames backwards
Date: 14 Nov 2002 05:13:59
Message: <3dd37767@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote:
> How about taking the much simpler approach of just starting the second one
> in the middle?  Kind of more logical...

  I think that the idea is that if one computer starts from the beginning
and the other from the end, the rendering time is distributed optimally
if not all frames take the same amount of time to render. For example, if
the frames at the first half take longer to render than the ones in the
second half, then no time will be wasted when the second computer gets its
job done while the first one still has a long way to go.

  Btw, the same idea can be applied when rendering a single image in
a computer with two processors: One processor renders normally, the other
in reverse order. When they reach the same pixel, they stop. This distributes
the rendering effort perfectly, regardless of the image.

-- 
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Render frames backwards
Date: 14 Nov 2002 05:49:07
Message: <3dd37fa3@news.povray.org>
In article <3dd37767@news.povray.org> , Warp <war### [at] tagpovrayorg>  wrote:

>   I think that the idea is that if one computer starts from the beginning
> and the other from the end, the rendering time is distributed optimally
> if not all frames take the same amount of time to render. For example, if
> the frames at the first half take longer to render than the ones in the
> second half, then no time will be wasted when the second computer gets its
> job done while the first one still has a long way to go.

So you suggest one renders the even and another the odd indexed frames?  Or
do you suggest that the beginning and the end of a sequence take long and
you divide them such that one renders from beginning to the middle of the
sequence and the other from the end to the middle of the sequence?  Why
would it have to work backwards in either case?  The speed would be the same
regardless of sequence direction!

>   Btw, the same idea can be applied when rendering a single image in
> a computer with two processors: One processor renders normally, the other
> in reverse order. When they reach the same pixel, they stop. This distributes
> the rendering effort perfectly, regardless of the image.

No, this would not distribute perfectly regardless of the image except
trivial cases.  In fact it would be very far away from perfect distribution
as each and every pixel can take a "random" amount of time.


    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Andrew Cocker
Subject: Re: Render frames backwards
Date: 14 Nov 2002 06:34:42
Message: <3dd38a52@news.povray.org>
"Thorsten Froehlich" <tho### [at] trfde> wrote in message
news:3dd37fa3@news.povray.org...
> So you suggest one renders the even and another the odd indexed frames?  Or
> do you suggest that the beginning and the end of a sequence take long and
> you divide them such that one renders from beginning to the middle of the
> sequence and the other from the end to the middle of the sequence?  Why
> would it have to work backwards in either case?  The speed would be the same
> regardless of sequence direction!
>
> >   Btw, the same idea can be applied when rendering a single image in
> > a computer with two processors: One processor renders normally, the other
> > in reverse order. When they reach the same pixel, they stop. This distributes
> > the rendering effort perfectly, regardless of the image.
>
> No, this would not distribute perfectly regardless of the image except
> trivial cases.  In fact it would be very far away from perfect distribution
> as each and every pixel can take a "random" amount of time.

You are assuming that both my computers are as fast as each other. They're not. One is
much
slower, but I don't want to have to calculate/guestimate how many frames to give each
PC.

Andy Cocker


Post a reply to this message

From: Tom Melly
Subject: Re: Render frames backwards
Date: 14 Nov 2002 06:49:18
Message: <3dd38dbe$1@news.povray.org>
"Thorsten Froehlich" <tho### [at] trfde> wrote in message
news:3dd37fa3@news.povray.org...
>
> So you suggest one renders the even and another the odd indexed frames?  Or
> do you suggest that the beginning and the end of a sequence take long and
> you divide them such that one renders from beginning to the middle of the
> sequence and the other from the end to the middle of the sequence?  Why
> would it have to work backwards in either case?  The speed would be the same
> regardless of sequence direction!
>

Huh? I think you're missing the point. As far as I can see, starting one render
from the last frame and another from the first frame is the only way to ensure
the best distribution of work. Take 16 random numbers between 1 and 100 and
place them in sequence:

34, 43,11, 76, 32, 2, 23, 73, 83, 23, 76, 63, 31,63,68,65

Numbers 1 to 8 add to 294, 8 to 16 add to 472. Without knowing the render time
of each frame prior to rendering, the only way I can ensure that both renders
finish at the same time is to start one render at one end of the sequence, and
the other render at the other end of the sequence.


> >   Btw, the same idea can be applied when rendering a single image in
> > a computer with two processors: One processor renders normally, the other
> > in reverse order. When they reach the same pixel, they stop. This
distributes
> > the rendering effort perfectly, regardless of the image.
>
> No, this would not distribute perfectly regardless of the image except
> trivial cases.  In fact it would be very far away from perfect distribution
> as each and every pixel can take a "random" amount of time.

Distribute perfectly in terms of time, not in terms of percentage of image
rendered.


Post a reply to this message

Goto Latest 10 Messages Next 10 Messages >>>

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