Re: pfChannel and node callbacks

New Message Reply Date view Thread view Subject view Author view

Angus Dorbie (dorbie++at++multipass.asd.sgi.com)
Tue, 8 Jul 1997 23:00:11 -0700


On Jul 8, 3:36pm, Anita Kishore wrote:
> Subject: pfChannel and node callbacks
> Hi folks:
>
> Can someone answer the following question?
>
> In my performer application, the channel's position and orientaion at any
> instant of time may consist of values from several sources (eg. from GUI
> through the user, from a real camera etc.). For a particular geode in the
> scenegraph, I do not want the channel to have GUI input values (even though
> the user may be changing values from there), ie: this node should only be
> affected by real camera values and not GUI values. This can perhaps be done
> by assigning pre and post callbacks to the geode. In the pre callback, I
> subtract out the GUI contribution to the channel values and in the post, I
> reset them back. Is this the right way, and if so, which of APP/CULL/DRAW
> traversal callbacks should I use? Any other suggestions?

Wow, you'd likely have to pre-multiply the mviewing matrix by the inverse
transpose of the GUI matrix, and infact it wouldn't be possible if
your matrix was after some portion of viewing and before some other
modelling transform.

An easier way may be to pushmatrix, load identity and go through the
entire modelviewing xform including all DCS nodes, minus the GUI xform,
then popmatrix in the post draw.

Another approach would be to simply have a different channel minus the
GUI and add the graph for the reduced xform node to that.

Have Fun.

Cheers,Angus.
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
            Submissions: info-performer++at++sgi.com
        Admin. requests: info-performer-request++at++sgi.com


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:55:35 PDT

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