Hi bjoern,

 

did you call 

 

osg::ChangeList::setReadWriteDefault();

 

before OSG::osgInit ?

 

I was stuck in a hang process some time ago for 

I was forgetting to init the change list.

 

Hope it helps,

E.

 

 

Da: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Per conto di "Björn
Zehner"
Inviato: venerdì 7 settembre 2007 15.53
A: [email protected]
Oggetto: [Opensg-users] Problem with setting up/rendering in a multi display
window

 

Dear OpenSG Users,
 
I want to set up a multi display window from an application that uses a gui
(wxWidgets). I have checked with the ClusterClient/ClusterServer tutorials
and the testDynamicClusterClient from the CVS that my hardware-setup seems
to be correct. When I call MyMultiDisplayWindow->init() the log of the
server says that the connection was accepted and the log of the client says
that it found the server.
When I then call MyMultiDisplayWindow->render((RenderAction*)
MySimpleSceneManager->getAction()) the process hangs ..... 
 
Does somebody have an Idea what I am doing wrong? Thanks in advance for any
help or hints .....
Below I append the functions which should do the switch.
Kind regards,
Bjoern

 

void COpenSGCanvas::SwitchToClientServerMode(COsgServerConfiguration
config){

if (m_posgMultiDisplayWindow != NullFC) return;

ViewportPtr clientvp = m_posgPassiveWindow->getPort()[0];

ViewportPtr vp = Viewport::create();

beginEditCP(vp);

vp->setCamera (m_posgMgr->getCamera());

vp->setBackground(clientvp->getBackground());

vp->setRoot (clientvp->getRoot());

vp->setSize (0,0, 1,1);

endEditCP(vp);

m_posgMultiDisplayWindow = MultiDisplayWindow::create();

beginEditCP(m_posgMultiDisplayWindow);{

m_posgMultiDisplayWindow->getServers().push_back("test1");

m_posgMultiDisplayWindow->setSize(300, 300);

m_posgMultiDisplayWindow->addPort(vp);

};endEditCP(m_posgMultiDisplayWindow);

// now store all changes and clear current change list.

RemoteAspect::storeChangeList(Thread::getCurrentChangeList());

Thread::getCurrentChangeList()->clearAll();

// merge all fieldcontainers in the scene to the current changelist.

RemoteAspect::restoreChangeList(Thread::getCurrentChangeList());

m_posgMultiDisplayWindow->init();

CDebugFrame::Instance()->AppendText("rendering ...\n");

m_posgMultiDisplayWindow->render((RenderAction*) m_posgMgr->getAction());

CDebugFrame::Instance()->AppendText("... done, clearing changelist ....\n");

Thread::getCurrentChangeList()->clearAll();

CDebugFrame::Instance()->AppendText("...done\n");

}


  

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to