[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kpovmodeler-devel
Subject:    Re: Frame System
From:       Andreas Zehender <az () azweb ! de>
Date:       2006-10-05 6:25:35
Message-ID: 4524A55F.2080607 () azweb ! de
[Download RAW message or body]

updated scene:
The csgs inverse flag is changed by some script during animation
 (yes, that's academic, but possible in theory)

union {
  inverse clock < 4 ? on : off
  box{ <-1, -1, -1>, <1, 1, 1> pigment{}}
  box{ <clock*2,1,1>, <2,1,2> pigment{}}
  rotate x*clock
}



Andreas Zehender schrieb:

>That sounds nice, but I need an example for that.
>Let's take a csg with two boxes, corner1 of the second box is animated 
>and the csg contains a rotation that is animated
>
>union {
>  box{ <-1, -1, -1>, <1, 1, 1> pigment{}}
>  box{ <clock*2,1,1>,<2,1,2> pigment{}}
>  rotate x*clock
>}
>
>Assume there is an object that knows that the second box and the rotate 
>is animated and assume that the povray serializer knows how to put these 
>comments, how will your povray code (inclusive the animated points) look 
>like? Putting comments at the beginning and end of an object should be 
>possible in a clean way with the current povray serializer.
>
>For the two objects: If you implement a frame system there needs to be 
>an object that records the scene changes during animation or during 
>scripting and that object knows after animation which objects and which 
>attributes where changed. Maybe it can use the undo/redo system with the 
>PMMemento class. That should make your two objects obsolete.
>
>
>Miguel Angel Gómez Márquez schrieb:
>
>  
>
>>Would it be too ugly to use a preprocessor ( parser) before calling
>>the renderer?
>>-------
>>A possible answer i want to opinions on and for to make basic
>>animations without modifying much the code would be adding  2 objects
>>(in the same window for the moment) putting a tag or label that says
>>that the first object is the begining and the last one is the end.
>>Then to make the tween we call the function x (which was selected by a
>>combo box or something) this case linear, and  linear function will do
>>something like:
>>
>>TWEEN ALGORITHM  Linear(){}
>>                             Spline(){}                            *
>>  Frame  = Relative Tweened Object
>>                             Whatever(){}
>>
>>
>>BoxEnd::propertieX - BoxBegin::propertieX
>>----------------------------------------------------         *
>>CLOCK  = BoxTween::PropertieX
>>                          Frames
>>                    (or just Box)
>>
>>
>>
>>
>>So before writing the .POV temp file the BoxEnd and BoxBegin will be
>>removed (filtered, so they wont be drawn) and we get as result the
>>Draw just of the tween (animated frame).
>>
>>In theory those tags can be added just as a comment so most of the
>>code won't be touched. (comments like the name of the objects )
>>would be something like
>>
>>//*PMFrames=10 (for the whole animation)
>>
>>//*PMBegin1
>>Box  bla bla
>>
>>//*PMBegin2
>>Light
>>
>>//*PMEnd2
>>Light
>>
>>//*PMEnd1
>>Box bla bla
>>
>>
>>Then instead of
>>KPM in memory --> Serializer ---> Render TMP File
>>Would be
>>KPM in memory ---> Tween processor --- Serializer ---> Render TMP File
>>
>>So we would only modify some visual widgets. and making the Tween module.
>>
>>So, what about this idea?
>>This will keep intact the clean framework of the actual code.
>>
>>By the way, which distro do you use mates?
>>I bet you use Debian or SuSE.
>>
>>List archive and information: https://mail.kde.org/mailman/listinfo/kpovmodeler-devel
>>
>> 
>>
>>    
>>
>
>
>List archive and information: https://mail.kde.org/mailman/listinfo/kpovmodeler-devel
>
>  
>


List archive and information: https://mail.kde.org/mailman/listinfo/kpovmodeler-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic