Hello David,

David Kabala wrote:
> As part of my groups work with OpenSG, we have written an animation 
> library for OpenSG 1.8.  From what you have described, a port of this 
> library to OpenSG 2.0 could be useful.
> 
> Some overview of the features:

sounds very interesting :)

> Animator - derived from AttachmentContainer
>     Animators hold a pointer(FieldContainerPtr) to a keyframe sequence.
>     Used to apply a keyframe sequence to an animated value

just out of curiosity, how "keyframe specific" is this type? For example 
could it deal with procedurally generated values as well?

> Animation - derived from AttachmentContainer
>    FieldAnimation - derived from Animation
>        contains:
>             An AnimatorPtr for applying some animation
>             A FieldContainerPtr to the FC to animate
>             A FieldID of the field to animate
>             The interpolation type, and replacement type to use
> 
>             This allows us to define a keyframe sequence on colors, 
> Pnts, matrices, etc and then connect those as an animation to any field 
> of a FieldContainer that matches the type of the keyframe sequence.
[SNIP]
> AnimatedCharacters
>      Joints - essentially transformations
>      Skeletons - Joint hierarchy
>      SkeletonBlendedGeometry - inherits from Geometry
>             defines wieghting between vertices in a geometry and joints 
> in a skeleton
>      SkeletonAnimation - inherits from Animation
>          Holds a collection of Joint animations and a 
> SkeletonBlendedGeometry to apply the animations to.  It is optimized to 
> only update the verticies once per update.

I guess this does the vertex skinning computation on the CPU then? That 
is one thing that I'd very much like to move to the GPU, do you think 
that is possible with these data structures?

>       SkeletonBlendedAnimations - inherits from Animation
>          Holds a collection of SkeltonAnimations and weight for all of them.
>          This is used to seamlessly blend between a walk and run 
> animation by changing the weights.

hm, blending of animations is something I'd preferably solve at a higher 
level (so that it is not specific to SkeletonBlendedAnimation). Do you 
think this could be moved up in the inheritance hierarchy so that it is 
something all animations support?

> AnimationAdvancers
>      We found that we do not always want animations to be directly tied 
> to an elapsed time update.

hm, Gerrit has TimeSensors which (if I understand it correctly) should 
be able to do the same thing. The stuff I've written so far expects the 
user to set the time each frame (and it is done on the AnimationManager, 
so more globally, which is perhaps too inflexible).

>     That is why there is the difference between an AnimationTemplate
>     (with ATracks) and an Animation (with AChannels), one just stores
>     data, the other is a "cursor" into that data - similar to how Cal3d
>     splits things with its Core and non-Core types.
> 
> The library I have written supports just this type of arrangment.

I think this is pretty much a must if you want to use animations that 
are authored in a DCC tool.

> If there is interest, I would love to talk more about it.

by any chance, will you be at SIGGRAPH this week? We could try and meet 
in person.

>  Because we 
> are excited about having this functionality in OpenSG 2, I would 
> definitely be willing to work on porting it.

We need this for a project, so I'm more than happy to write/reuse/port 
code as that is what I'd have to do anyway ;)

        Cheers,
                Carsten


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to