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