[Verse-dev] Verse specification: transformation matrix

Eskil Steenberg eskil at obsession.se
Sat Jul 23 11:46:14 CEST 2005


Hi

I will try to explain. But first of all i want to say i compleatly
understand you.

> 1) I have to do crazy converting from transform matrix to pos[3] ,
> rot[4] and scale[3] vectors ... send each vector separately.

Yes, what i suggest is that. we should write up some sample code that runs
on top of verse that does this for you. I think its something that many
people would find usefull. especialy the rotation part. However some like
me also like to have them separate.

> 2) When I receive any change of object node transformation, then I have
> to do crazy converting from pos[3], rot[4], scale[3] to transformation
> matrix (several matrix multiplication)

Yes we should have sample code for both ways.

> 3) I can't transfer information about shear, etc.

That is intentional. We wanted to limit the transform a bit to make it
easyer to suport.

> 4) I guess, that other clients (Maya, Max) will have to do same. They
> will have to do similar unnecessary operation (in plugins or clients
> will do it internaly)

Again should be solved with sample code running on top of verse.

> Conclusion: verse specification offeres many unnecessary parameters,
> complicate implementation, miss some functionality.

Well, its unnecessary parameters for you. The speed and acceleration
parameters arent very use full to you, but if you are using verse for
games, VR, or realtime animation, these capabilitys are the difference
between verse being usefull or not. If you are doing something like a game
you can have that rocket fly threw the level with only one command, and it
will be smooth renderd in any FPS. Without it you would have to flood the
network with movement commands, and even so rendering engines would
probably need to add interpolation and extrapolation to make someting
reasonably smooth.

It just wouldent work very well. As soon as you have thees movements you
need to split up the matrix in to its components, you cant have a linear
interpolation between two matrixes, thats why we use quaternions.

I agree with what you are saying, and this was one of thouse tricky
decisions, where we have to make it slightly harder for some, to make it
usefull for others. I think that it is better to have verse usefull in
more areas, if all that it takes for others is to do a little more coding.
Especialy if we can get some sample code out there. Im all in pre Siggraph
mode right now so i dont have time righet now, but if some one else would
like to do it it would be much appreciation.

Cheers

E




More information about the Verse-dev mailing list