[eq-dev] eqOgre wall defined by projection how to get orientation from hpr.
eilemann at gmail.com
Mon Feb 27 20:34:13 CET 2012
On 27. Feb 2012, at 18:54, jtyynela [via Software] wrote:
> Example config file I used ( omitting multiple pipes) is 3-window.curved.eqc. Everything works nicely, but hpr for channel-left and channel-right does not work.
> I changed bit of eqOgre code and assumption that to get that orientated frustum I have to call getHeadTransform. This seems to be the right way go because I get cameras pointed towards center, but I lose my ability to rotate camera.
A lot of software is confusing camera concepts. In OpenGL you have the projection and modelview matrix. The projection matrix is the frustum. Unfortunately the modelview in OpenGL are two matrices, model and view, munched together. The view matrix positiones the frustum (Eq's getHeadTransform) and model matrix positions the model, aka. the global camera. Desktop software does often not separate this since the view matrix is identity for 'standard' x/y oriented projections.
Oftentimes you have to maintain a global model matrix in the frame or view data, and then use a per-renderer local matrix multiplying Eq's head transform with your global matrix. osgScaleViewer::Channel::frameDraw does this, for example. I don't have the insight nor time to dig out how that works in Ogre3D, but maybe I did point you in the right direction.
View this message in context: http://software.1713.n2.nabble.com/eqOgre-wall-defined-by-projection-how-to-get-orientation-from-hpr-tp7322588p7323015.html
Sent from the Equalizer - Parallel Rendering mailing list archive at Nabble.com.
More information about the eq-dev