POV-Ray : Newsgroups : povray.binaries.animations : Uberpov persistent feature for animation of big scene : Re: Uberpov persistent feature for animation of big scene Server Time: 26 Feb 2021 22:44:44 GMT
  Re: Uberpov persistent feature for animation of big scene  
From: Kenneth
Date: 7 Jan 2018 00:10:01
clipka <ano### [at] anonymousorg> wrote:
>
> You absolutely positively need to wrap the `#persistent Foo = ...`
> statements into `#ifndef(Foo) ... #end` blocks. Otherwise, it
> effectively makes no difference whether they persist from frame to frame
> because you're re-defining them over and over again.

Do you mean like this... (I'm using his very first texture as an example)...

#ifndef(APPID_340814880_342762184)
#persistent APPID_340814880_342762184 = texture {
  pigment {
    color rgbt <0,1,0,0>
  }
    finish {
    ambient 0.0
    diffuse 0.041370, 0.008514
    specular 0.0
  }
#else
#end

*If* that's correct, then I do see that the #persistent is
only invoked on the first animation frame; all the following frames will use the
already-'declared' APPID_340814880_342762184... because it's 'persistent.'

Am I thinking right?

It looks like most of his entire scene is in a union, so here's a question:
Instead of having to wrap each and every #persistent FOO = ......  in an #ifndef
block, could the entire UNION have only *one* #ifndef block around it instead?
Or, maybe like...

#ifndef(FOO)
#persistent FOO =
union{.....
....... everything (NO #persistent for any of these items, but regular #declares
or #locals, if needed).........
..............
}
#else
#end

object{FOO}


Post a reply to this message

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