Re: DAG depth causing problem?

New Message Reply Date view Thread view Subject view Author view

John Rohlf (jrohlf++at++tubes)
Wed, 23 Aug 95 18:14:33 PDT


>
> Hello...
>
> I'm trying to build an articulated human figure in Performer, and I
> haven't been having the best luck. My problems _appear_ to be related
> to having a very deep scene graph, but I'd like to confirm that.
> Specifically, when I load the whole scene up, I get a series of
> messages like:
>
> Performer Notice: Using 60Hz video rate on screen 0
> ERROR #49 too many matrix pushes: ERR_PUSHMATRIX
> ERROR #49 too many matrix pushes: ERR_PUSHMATRIX
> ...etc...
> ERROR #49 too many matrix pushes: ERR_PUSHMATRIX
> ERROR #49 too many matrix pushes: ERR_PUSHMATRIX
> Bus error (core dumped)
>
> The full scene graph at its deepest point is on the order of 100
> nodes deep (around 30 joints, going up the spine and down into the
> fingers, each with an SCS to transform to the joint location, a
> DCS for the joint, and an SCS to transform back into the next segment
> space). Since there are a bunch of articulated parts depending on
> previous articulated parts, a simple flattening isn't appropriate.

        The transformation depth is indeed too deep. Our max depth is
        64. The GL's is 64 or 32 which is too little for you in either case.
        What you can do is collapse the SCSa->DCS->SCSb into a single
        DCS by setting the DCS matrix to: SCSb * DCS * SCSa.
        This makes things a bit more complicated for you but I highly
        recommend this since it will increase your performance
        as well.


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:51:49 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.