|
|
Ken <tyl### [at] pacbellnet> wrote in article
<36D40E0B.DFE8B1A5@pacbell.net>...
> bassompierre laurent wrote:
> >
> > I'm writing a pov file like this :
> > ...................
> > #declare Obj=array[5]
> > #declare Obj[0]=object{Myobject0}
> > #declare Obj[1]=object{Myobject1}
> > #declare Obj[2]=object{Myobject2}
> > #declare Obj[3]=object{Myobject3}
> > #declare Obj[4]=object{Myobject4}
> >
> > #declare R=seed(1);
> > #declare C=1;
> > #while (C<5)
> > object {Obj[int(rand(R)*4) Obj_Mod ....}
> > #declare C=C+1;
> > #end
> > ...................
> > The question is : will i get the same values for rand(R), each time i
render
> > my file ?
>
> Just had a thought and I have no idea if it would work but you might try
> something like:
>
> #declare C=1;
> #while (C<5)
> #declare R=seed(C);
> object...
>
> This will change the seed value for each iteration of the loop.
> Pov might also choke to death on it and it may not work. It was
> just a thought I had and is untested.
>
> --
> Ken Tyler
>
> mailto://tylereng@pacbell.net
>
It will give you different values in each time through the loop, but each
time you run the file, you will get the same sequence of values. AFAIK(As
far as I know) there is no way out of this within POV, it is the nature of
"random" numbers on computers that they are not random!.
On your idea of using the clock, good thought! I was thinking you could
write a tiny batch file that places the time in a text file, then read this
in POVRay, and base the seed on it. Just get POVRay to call it
"pre-render". I haven't tried this (I usually want the predictable
behaviour) but it should work if you can get the time in a format that a
POVRay read statement will swallow. Try getting the batch file to put it in
quotes, then POVRay will read it as a string and you can decipher it.
Good Luck
Gordon
<gbe### [at] birdcameroncomau>
Post a reply to this message
|
|