<DIV> Dear Robert:</DIV>
<DIV>    Thank you very much! </DIV>
<DIV>    I have studied osgwindow. If I have 20 computer, each computer has 1 monitor. And my screen wall is 4 rows, 5 columns. Should I setup osg::GraphicsContext::Traits if I run viewer in full screen mode? For example, a screen's row_no=2 and column_no=2(index begin from 0), it should display x range from 50% to 75% and y range from 40% to 60%, and scale aspect ratio to 5/4=1.2. </DIV>
<DIV>    I don't know how to change matrix in below line:</DIV>
<DIV>viewer.addSlave(camera.get(), osg::Matrixd::translate(1.0,0.0,0.0), osg::Matrixd()); </DIV>
<DIV> </DIV>
<DIV>    And scale function does not work: viewer.getCamera()->getProjectionMatrix() *= osg::Matrix::scale(1.2, 1.0, 1.0) has no effect, x scale is not changed. But viewer.getCamera()->getProjectionMatrix() *= osg::Matrix::scale(1.2, 1.2, 1.2) can works, the earth becomes bigger in both x, y, z dimension.</DIV>
<DIV> </DIV>
<DIV>With best regards</DIV>
<DIV>Daniel<BR></DIV>
<DIV>
<DIV style="FONT-SIZE: 12px; FONT-FAMILY: Arial Narrow; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px">------------------ Original ------------------</DIV>
<DIV style="FONT-SIZE: 12px; BACKGROUND: #efefef; PADDING-BOTTOM: 8px; PADDING-TOP: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px">
<DIV><B>From: </B> "Robert Osfield";<robert.osfield@gmail.com>;</DIV>
<DIV><B>Date: </B> Wed, Jan 13, 2016 05:29 PM</DIV>
<DIV><B>To: </B> "OpenSceneGraph Users"<osg-users@lists.openscenegraph.org>; <WBR></DIV>
<DIV></DIV>
<DIV><B>Subject: </B> Re: [osg-users] How to setup multi channel</DIV></DIV>
<DIV><BR></DIV>Hi Daniel,<BR><BR>The OSG is designed for handling multi-channel system and provides the<BR>support via the osgVIewer support for master + slave Camera.<BR><BR>The osgwindow example is probably the most straight forward<BR>implementation to look at - this creates two windows and assign these<BR>to two slave osg::Camera, which are both assigned to a single<BR>osgViewer::Viewer (subclass from osgViewer::View which subclasses from<BR>osg::View) which provides the master Camera.<BR><BR>The overall view is controlled by the master Camera attached to the<BR>View(er) which provides the main view and projection matrices.  The<BR>slave Camera's that are assigned to the View(er) have offset matrices<BR>that multiplied by the master's view and projection matrices to give<BR>the final view and projection matrices that the Slave camera will use.<BR><BR>Other examples of the slave camera in action can be seen in the<BR>osgViewer::ViewConfig implementations found in the<BR>src/osgViewer/config directory.  The neatest way to implement what you<BR>need would be to implement your own custom osgViewer::ViewConfig that<BR>sets up the appropriate Slave Camera you need, then when you want to<BR>set up your viewer for this display system you simply pass in this<BR>ViewConfig and have it configure the View(er) as required.<BR><BR>Robert.<BR><BR><BR><BR>On 13 January 2016 at 03:50, Dan Liu <139250065@qq.com> wrote:<BR>> Dear all:<BR>>     Hello! I'm using OSG to develop an application which run as screen<BR>> wall(M rows, N columns). I studied the osgcluster example. But still don't<BR>> know how to split master screen into MXN sub screens, and scale the screen<BR>> according to the screen wall's real resolution.<BR>><BR>> With best regards<BR>> Daniel<BR>><BR>> _______________________________________________<BR>> osg-users mailing list<BR>> osg-users@lists.openscenegraph.org<BR>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org<BR>><BR>_______________________________________________<BR>osg-users mailing list<BR>osg-users@lists.openscenegraph.org<BR>http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
<DIV></DIV></DIV>