We figured out that we should use

osg::ref_ptr<osgViewer::GraphicsWindowWin32> gc = new 
osgViewer::GraphicsWindowWin32(traits);
m_graphicsWindow = gc.get();

instead of

osg::ref_ptr<osg::GraphicsContext> gc = 
osg::GraphicsContext::createGraphicsContext(traits.get());
m_graphicsWindow = dynamic_cast<osgViewer::GraphicsWindow*>(gc.get());

as this will supply us with at least a valid GraphicsWindow pointer. However, 
on the ATI machine, the internal GraphicsContext is valid, while on the NVIDIA 
machine it never is...

osgViewer::GraphicsWindow* gw = m_graphicsWindow.get();
if (gw && gw->valid())
{...}

Does anyone know why the NVIDIA card would not have a valid graphics context 
for its window? All OpenGL calls work and the rendering works fine, but it's 
full-screen and I don't know how to resize it to a normal window size without 
acccess to a valid GraphicsContext.

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to