BOCCARA Michael (MICHAEL.BOCCARA++at++siege.aerospatiale.fr)
Tue, 14 Jan 1997 10:18:32 +0100
I want to link my eyepoint with a DCS position.
Let's call this DCS "trajDCS". My technique is to recuperate the accumulated
matrix in trajDCS's app-callback, to invert it and to apply it in a sceneDCS
placed on top of my scene.
The result is that in the next frame traversal, the accumulated matrix at
trajDCS's level is identity.
In fact the real accumulated matrix is <almost> identity, because very big
coordinates are invoked and the invert pocedure faces problems of float
precision.
My aim is to "force" the accumulated matrix to be <exactly> identity when
trajDCS is traversed, as if trajDCS was on top of the scene tree. But I
refuse to break my scene hierarchy to force trajDCS to be on top of it.
A pfTraverser is passed as argument is the APP-callback function, that
contains the accumulation matrix. I would like to be able to make the
following call in my callback-function :
trav->setMat(pfIdentMat); // where trav is the current pfTraverser
But "setMat" is not a member function of the pfTraverser class.
My question is :
What can I do to reset the accumulation matrix to identity when trajDCS is
app-traversed ???
This operation is a part of Michael Jones' technique to trick with the
problems of single/double precision. Indeed his advice was to set the origin
to a point of a chunk of my scene, specified in double precision, and to
refer all other DCS position relatively to this new origin. The trouble was
that I didn't know how to set a new origin. The answer to my question could
be the solution I'm looking for.
I hope my question was clear for anybody helpful,
Thanks in advance
Regards,
Mike
______________________________________________
Michaël Boccara ---------------
Software Engineer / "hang up the moon,
Virtual Reality & Simulation Dpt. / switch on the sun,
Aerospatiale, France / fill up the oceans,
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''/
and dress up the trees."
email : michael.boccara(a)siege.aerospatiale.fr
Tel: (+33) 01 46 97 32 40
===================================List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:54:20 PDT