Hi Rune,
On Wed, 2004-02-25 at 07:27, Rune Laursen wrote:
>
> I'm working on an image based rendering application which should be able run
> on a cluster where a number of projection screens is involved. Currently my
> app is using one client (which also displays one window) and two render
> servers which are basically the same as the testClusterServer.cpp. I should
> also mention that client and servers and running on the same pc.
>
> For now, I would like to do red/cyan stereo rendering using the
> ColorBufferViewport, and I got this working fine in the client window. To get
> this working with the render servers, I just add the ColorBufferViewports to
> the the ClusterWindow instead of the ClientWindow. The server starts without
> problems and I then check what type of viewport it has:
> window->getPort()[0]->getTypeName() returns StereoBufferViewport.
>
> I am assuming that the ClusterServer should figure out by itself what kind of
> viewports it should create, based on the info it receives from the client, is
> this correct?
Yep, it should. But looking at the code I think the MultiDisplayWindow,
that the testClusterClient tutorial uses, doesn't respect that. You can
try to use the SortFirstWindow as a stopgap.
Marcus, can you take a look at that and fix it?
> Both the client and the server use the same OpenSG version which I believe is
> no more than one week old. As with the ColorBufferViewport, I have the
> travMask working fine on the client window, just not on the server window and
> the type of viewport has no influence here.
>
> On the client I set the travMask like this:
> beginEdit(vp_left);
> vp_left->setTravMask( MY_LEFT_MASK );
> endEdit(vp_left);
>
> On the server I check:
> window->getPort()[0]->getTravMask(), which just returns some bogus value.
OK, that's a bug. The cluster windows manually copy all the data from
the client's Viewports to the server's, and the mask was missing. I
fixed that and commited it. It will take a day before it shows up in
the dailybuild and anonymous CVS, if you want to try it now, you need to
add
serverPort->setTravMask ( clientPort->getTravMask() );
before the endEditCP(serverPort); in
Source/System/Cluster/*/*Window.cpp.
In the long run we might want to think about a way to make that
automatic, for now this is good enough. I added a comment to the
Viewport docs to make sure we don't forget it next time.
Thanks
Dirk
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users