Hello,

I have been testing in VirtualBox recently, and encountered two problems that I was hoping someone might recognize. Note: The problems do not occur outside of a virtual environment.

1. I have geometry in my model where I call osg::Geometry::setUseVertexBufferObjects(true), but the virtual environment only supports OpenGL 1.1. An access violation occurs shortly after calling glDrawElements() from DrawElementsUInt::draw().

The last portion of the call stack is as follows (access violation in memcpy() trying to access 0x4fbc):

 msvcrt.dll!memcpy()  + 0x31 bytes

 opengl32.dll!__gllc_ReducedElementsHandler()  + 0x285 bytes

 opengl32.dll!ReduceDrawElements()  + 0x1cb bytes

 opengl32.dll!__gllc_DrawElements()  + 0x121 bytes

 osg92-osg.dll!osg::DrawElementsUInt::draw(osg::State & state={...}, bool 
useVertexBufferObjects=false)

 osg92-osg.dll!osg::Geometry::drawImplementation(osg::RenderInfo & 
renderInfo={...})


Taking out the call to setUseVertexBufferObjects() seems to fix the problem. Do I have to detect the OpenGL version explicitly, or is the OSG library supposed to fallback to a non-VBO mode of operation automatically?

Also, prior to the crash, I get various "Error: glBufferData not supported by OpenGL driver" notifications. Also a glGenBuffers() and glBindBuffer() error notification, and a Windows error #127 that mentions wglChoosePixelFormatARB ext not found.

2. If I enable 3D acceleration in VirtualBox, there is no crash, but the scene ends up opening as a separate window and takes up the entire screen. I am not sure how much this issue relates to OSG though. Spy++ shows a window class of "OSG Graphics Window for Win32 [{with cursor}]", that is not visible in Spy if the window opens as a child window with a non-null parent as expected.

Has anyone had success viewing their models using VirtualBox? or VMWare?

Thanks,

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

Reply via email to