From: Damien Touraine (damien.touraine++at++limsi.fr)
Date: 07/05/2003 04:15:04
Hello pfUsers,
I have some problem with setting the view within a channel :
before the pfFrame(), I use setViewMat(...) to define the point of view.
As I use setTravFunc(...) to do pre-drawing actions (such as defining
the drawing buffer for stereo), I also use this callback to get back the
OpenGL modelview matrix, glGetDoublev(GL_MODELVIEW_MATRIX, ...) and
print it.
My problem is that the matrix I get back is not the same as the one I
put with setViewMat(...). I allways use setViewOffsets({0.0, 0.0, 0.0},
{0.0, 0.0, 0.0}) to be sure to have a null offset. As I saw in the
documentation that Performer's reference frame is rotate by 90 degrees
with OpenGL one, i apply it on the matrix from glGetDoublev(...). The
rotation part of the matrix is equivalent, but not the translation part
: it seems to be another translation determined from the on I have done
in the setViewMat(...) (because, this coefficient is homogeneous with
the one I give).
So performer is applying the two matricial operations (SetView and
setViewOffsets) on top of modelview OpenGL matrix. But is there another
matricial operation is it doing on the modelview matrix ? If there is
another one, how is it applied ? How is it computed ? If ther is no
other one, how both matricial operations are applied (order, inversion,
...) ?
The configuration I use is the following one :
- system : Linux
- Performer : 3.0
- GFX card : Geforce 4, with latest nvidia drivers
This archive was generated by hypermail 2b29 : Sat Jul 05 2003 - 04:16:28 PDT