Results 1 to 2 of 2

Thread: general problems with matrix stack

  1. #1
    Junior Member
    Join Date
    Sep 2005
    Location
    Dresden, Germany
    Posts
    5

    general problems with matrix stack

    while thinking about collada (and implementing an c# accessorframework) we had some serious problems with the matrixstack.

    - I see that the stack is very usefull for the exporter-projects, because they can project 1:1 special animation features of the different 3d modelling packages

    - for viewing/rendering applications the matrixstrack is not a problem because they can bake it to a single matrix for every timestep after the animations are applied

    - we see problems with applications that want to edit/change the content (specially animated objects (e.g. with multiple skew, rotate, translate, ....)).
    Ask the Importer programmer of the 3dsmax and maya plugins. Its almost impossible to match an animated dynamic matrixstack to a static stack every modeling tool is using. So we suggest to limit the matrixstack in the COMMON Profile to the following or a similar stack:

    translate
    rotate
    rotate (-scaleroation)
    scale
    rotate (+scaleroation)

    (Maybe a 2nd representation as a matrix (16 float) can be allowed
    Maybe for cameranodes an other fixed stack should be defined)

    In my Eyes its worth to thing about this, because i do not see the anyone uses a skew animation nor a so exported file can be read in any other existing 3d modeling package correctly in the future.

  2. #2
    Senior Member
    Join Date
    Apr 2005
    Location
    Feeling Software, Montreal, Quebec
    Posts
    111
    Quote Originally Posted by benx
    Ask the Importer programmer of the 3dsmax and maya plugins. Its almost impossible to match an animated dynamic matrixstack to a static stack every modeling tool is using.
    You're right, it's not easy to match the transform stacks accross the DCC tools, but we're constantly improving the support for custom transform stacks.

    The idea that I had recently was that if you cannot match the transform stack in the COLLADA document with your own application's transform stack, then maybe you should sample it on import (as we are allowing on export). That requires quite a bit of programming, but should work in most cases.

    As for a fixed transform stack with shearing done using the scale-axis rotations, well, Maya uses pure shears, so I'm against that. The only parts of the transform stack that all DCC tools agree on are: [translate][rotate][scale]. If you restrict your animations to these channels, you should be fine is every case. Otherwise, you may have some surprises.

    The <matrix> element is useful, especially until we resolve all these transform stack issues.

    The <lookat> element, though, in my opinion, should be deprecated.

    Sincerely,
    Guillaume Laforte
    Feeling Software Inc.
    http://www.feelingsoftware.com
    Guillaume Laforte
    Feeling Software Inc
    http://www.feelingsoftware.com

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •