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