Anita Kishore (kishore++at++triavest.com)
Wed, 6 Aug 1997 12:06:36 -0700
I am trying to compare and get to work two different ways of
setting eye point's position and orientation. For both the methods, the
scene graph is same, having just one simple geometry with pre and post
DRAW callbacks.
method 1 :
----------
- set performer channel's view matrix with the foll. values:
view.xyz = (2.5, -5, 1.6), view.hpr = (9, 5, 3)
- get openGL modelview matrix in the pre callback and print it.
- matrix printed is:
matarray :
0.985621 0.065307 0.155839 0.000000
0.160725 -0.077778 -0.983930 0.000000
-0.052137 0.994829 -0.087156 0.000000
-1.577008 -2.143883 -5.169798 1.000000
method 2 :
----------
- reset performer channel's view matrix to all 0, ie:
view.xyz = (0,0,0), view.hpr = (0,0,0)
- in the pre callback, use pfMakeCoordMat to make coordMat
with the foll. values:
xyz = (2.5, 1.6, 5.0) - in openGL coordinate system
hpr = (9, 5, 3)
- pfMakeRotMat(viewMat, 90.0, 1, 0, 0) - to convert rotation part
from pf to openGL coordinate system.
- pfPostMultMat(viewMat, coordMat)
- load viewMat into the modelview stack and print viewMat as:
viewMat :
0.985621 0.160725 -0.052137 0.000000
0.065307 -0.077778 0.994829 0.000000
0.155839 -0.983930 -0.087156 0.000000
2.500000 1.600000 5.000000 1.000000
Clearly, the two matrices printed in both the methods are not same and hence
the
perspective that I get in the render window is also not the same. Infact, in
matarray, the translation components are not only inverted in sign, but also
show different values from the ones set in the channel's view. They and the
rotaion part of the matrix also differ from that printed in viewMat of
method 2.
Can someone explain about these discrepancies and how to make the two methods
work in the same way?
Thanks a lot for any clue.
-anita
kishore++at++triavest.com
--
Anita Kishore
=======================================================================
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:55:42 PDT