Hello,

First, I would request that for questions related to OpenSceneGraph, you send the question to the mailing list and not personally to someone. You will get more answers that way, and likely faster too.

so I want turn to you for help.How to display a 3x3 screen display of a
scene?Could you give me some examples? Thanks very much!
Best regards!
tommy from Harbin institute of technology

Well, if you know the arrangement of the screens, you can easily create graphics contexts that span all screens. Generally you will get higher performance if you create one graphics context that spans all screens attached to the same graphics card.

Not knowing what graphics cards you have I have to speculate that you have 3 cards with 3 outputs each, is that right? I would suggest you arrange the screens so that all 3 outputs attached to the same graphics card are arranged horizontally next to each other, from left to right. Then you can create 3 graphics contexts, one for screens 0 1 2, one for 3 4 5, and one for 6 7 8. Each graphics context would have a resolution of 3w x h, with w and h being the resolution of one screen.

Then you create 3 slave cameras in your view (or viewer), attach each graphics context to one of those cameras, and set the projection matrix of each to be translated vertically from each other. See the bottom of the osgViewer::View::setUpViewAcrossAllScreens() method for an example of this (though that one translates horizontally instead of vertically).

Then the view (or viewer)'s master camera is set up as always, you use that one to control the viewpoint (either directly through the view matrix or with a camera manipulator) and the projection (by setting its projection matrix).

The discussion you quoted between me and Robert came to the conclusion that making things too automatic was sometimes not useful and hard to debug, so osgViewer::View::setUpViewAcrossAllScreens() simply assumes a linear horizontal arrangement for the screens. Anything more should be handled by application-specific configuration files (or a .view file - look up the code for more details). This is probably what you should do yourself to make your app more flexible - don't hard-code the screen layout but instead specify it in a configuration file of some kind.

As I said, the code in osgViewer::View will provide guidance. Hope this helps,

J-S
--
______________________________________________________
Jean-Sebastien Guay    jean-sebastien.g...@cm-labs.com
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to