[osg-users] System requirements for OpenSceneGraph

Robert Osfield robert.osfield at gmail.com
Fri Jan 6 08:28:01 PST 2017


Hi Nikita,

On 6 January 2017 at 15:18, Nikita Petrov <nikitapetroff at gmail.com> wrote:
> D:\OSG\build\OSG\bin>osgviewer.exe cow.osg
> _forceVertexArrayObject = 0
> _forceVertexBufferObject = 0
> ViewerBase::configureAffinity() numProcessors=1
> SetThreadAffinity() : affinity.activeCPUs.size()=0, numprocessors=1
>    Fallback setting affinityMask : 0x1
> Warning: detected OpenGL error 'invalid enumerant' at Before Renderer::compile

Most of the output is debug information for some newly developed
features found in git master, the values are all correct, once we get
closer to the next stable release this information will be removed or
quietened down.  For the purpose of tracking down what is going wrong
you can safely ignore this part of the output.

The "Warning: detected OpenGL error 'invalid enumerant' at Before
Renderer::compile" does suggest that some OpenGL state is being passed
from the OSG that isn't passed in a way that the driver is happy with,
either a feature that isn't supported by the driver that the OSG is
assuming is that will be supported, or a bug in either the driver or
the OSG.

The line that is triggering the "Warning: detected OpenGL error
'invalid enumerant' at Before Renderer::compile" can be found in
OpenSceneGraph/src/osgViewer/Renderer.cpp (see the Renderer::compile()
method) with the line:

    sceneView->getState()->checkGLErrors("Before Renderer::compile");

This occurs before any of the scene graph related GL object
compilation and since the Renderer::compile() by default is called on
the first frame that is renderer it's likely that no scene graph
related state has been passed to OpenGL by the OSG yet.  The only
state that will have been passed will have been during graphics
context set up.  I have just run through the
src/osgViewer/GraphicsWindow32.cpp but can't see any OpenGL calls so
I'm stumped at where to look for the OpenGL calls that might have put
the driver into the error state.

Do you see anything on screen with any of the examples of models
passed to osgviewer?  Cow.osgt should work with just OpenGL 1.1. so
all your hardware should be able to handle.

I do wonder if there is some change to GraphicsWindowWin32.cpp that
has caused a regression for older hardware.

Unfortunately I'm not a Windows developer myself so will have to defer
to Windows users in the community to pitch in with platform specific
expertise. Hopefully some will be tracking this thread and be able to
pitch in.

Robert.



More information about the osg-users mailing list