From: Mike H. <mho...@gr...> - 2005-01-31 23:45:57
|
Brian Paul wrote: > Mike Houston wrote: > >> Okay, if I explicitly setup the default visuals everywhere to match >> the crutserver, I can get crut_fan.conf to work. After the changes >> to visbits and getting psubmit to create it's own window, we now get >> an app window and a render spu window. If I set render_to_app_window >> for the applications, everything gets routed to the crutwindow and I >> get trash rendered. > > > I'm not sure I understand. Could I see your .conf file? import sys sys.path.append( "../server" ) from mothership import * Demo = 'psubmit_crut' Demo = os.path.join(crbindir, Demo) # Can render/readback windows by dynamically resized? resizable = '1' # Set up the server node servernode1 = CRNetworkNode( ) # Note: each client has the -swap flag and we tell the server to only # do one SwapBuffers here. servernode1.Conf( 'only_swap_once', 1 ) servernode1.Conf( 'shared_windows', 1 ) renderspu = SPU( 'render' ) renderspu.Conf( 'window_geometry', [500, 500, 400, 400] ) renderspu.Conf('resizable', resizable) renderspu.Conf('render_to_app_window', 1 ) renderspu.Conf('render_to_crut_window', 1 ) renderspu.Conf('default_visual', 'rgb, double, depth, stencil') # only specifying visual to work-around ATI FireGL problem servernode1.AddSPU( renderspu ) #create a crutserver crutserver = CRUTServerNode( ) crutserver.Conf('window_geometry', [100, 100, 400, 400] ) # Set up first app/client node appnode1 = CRApplicationNode( ) appnode1.SetApplication( '%s -rank 0 -size 2 -clear -swap' % Demo ) appnode1.StartDir( crbindir ) spu = SPU('readback') spu.Conf('window_geometry', [0, 0, 400, 400]) spu.Conf('use_glxchoosevisual', 0) spu.Conf('extract_depth', '1') spu.Conf('resizable', resizable) spu.Conf('render_to_app_window', 1) spu.Conf('default_visual', 'rgb, double, depth, stencil') appnode1.AddSPU( spu ) spu = SPU('pack') appnode1.AddSPU( spu ) spu.AddServer( servernode1, 'tcpip' ) #let's define a CRUTserver as anything that will feed us events #this way we can create either a ring or a fan configuration appnode1.AddCRUTServer( crutserver , protocol='tcpip', port=9000 ) # Set up second app/client node appnode2 = CRApplicationNode( ) appnode2.SetApplication( '%s -rank 1 -size 2 -clear -swap' % Demo ) appnode2.StartDir( crbindir ) spu = SPU('readback') spu.Conf('window_geometry', [420, 0, 400, 400]) spu.Conf('use_glxchoosevisual', 0) spu.Conf('extract_depth', '1') spu.Conf('resizable', resizable) spu.Conf('default_visual', 'rgb, double, depth, stencil') spu.Conf( 'render_to_app_window', 1 ) appnode2.AddSPU( spu ) spu = SPU('pack') appnode2.AddSPU( spu ) spu.AddServer( servernode1, 'tcpip' ) appnode2.AddCRUTServer( crutserver, protocol='tcpip', port=9000 ) cr = CR() cr.MTU( 10*1024*1024 ) # Note: adding nodes in the order in which they must be started! cr.AddNode( appnode1 ) cr.AddNode( appnode2 ) cr.AddNode( crutserver ) cr.AddNode( servernode1 ) cr.Go() |