[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