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.


HTH,

Stefan.



--
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.

_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to