[osg-users] Using osgViewer::GraphicsWindowEmbedded Was: Renderer and SceneView classes

Doug McCorkle mccdo at iastate.edu
Mon Nov 9 07:52:54 PST 2009


Hello Robert,

After looking at both of the suggested examples (osgviewerSDL and  
osgviewerGLUT) I have a couple of questions. First, with SceneView we  
handed off the context ID to OSG, now it looks like we provide context  
information to osgViewer through the window's initial position? Is  
this correct? Is there anyway to hand off the context ID instead of  
using the setUpViewerAsEmbeddedInWindow interface? Second, what is the  
appropriate way to handle multiple contexts with the   
GraphicsWindowEmbedded interface? Third, currently we do our update  
traversal and cull/draw on two separate threads, what is the  
appropriate way to handle this? I do not see a way to separate these  
two operations with the examples provided that use the frame call.  
Fourth, we currently make calls to SceneView like:

         sv->setViewport( );
         sv->setProjectionMatrix( );
         sv->setViewMatrix( );

are these same calls made on the osgViewer camera just like in  
SceneView? Fifth, we currently setup the OpenGL matrix stack with  
calls like:

     glPushAttrib( GL_ALL_ATTRIB_BITS & ~GL_TEXTURE_BIT );
     glPushAttrib( GL_TRANSFORM_BIT );
     glPushAttrib( GL_VIEWPORT_BIT );

     glMatrixMode( GL_MODELVIEW );
     glPushMatrix();

     glMatrixMode( GL_PROJECTION );
     glPushMatrix();

    //do cull/draw

     glMatrixMode( GL_PROJECTION );
     glPopMatrix();

     glMatrixMode( GL_MODELVIEW );
     glPopMatrix();

     glPopAttrib();
     glPopAttrib();
     glPopAttrib();

is this still required or is osgViewer hiding this somewhere? Thanks  
for the help.

Doug



More information about the osg-users mailing list