Hi Judson,
On 20/03/13 09:57, Judson Weissert wrote:
> Has anyone had success viewing their models using VirtualBox?
I can confirm textured static and animated models work fine in my app
under VirtualBox. I use it as a test environment in my development setup
semi-regularly.
- Host: Debian Linux 6.0.6
- Guest: Windows XP
- OpenSceneGraph 3.0.1 (with some small custom patches)
- VirtualBox 4.2.4 r81684 with 3D acceleration enabled
- Host hardware is nVidia-based.
If more detail on the above would help, just let me know.
I run my app windowed, in a small window. Never tried it fullscreen.
It's not fast. My demands on it aren't too high.
Be careful of shadows though- I've had issues. Sorry that I can't be
more specific, but consider disabling shadows as a test if you're having
problems.
Personally, I don't bother with the non-3D-accelerated setup with
VirtualBox any more, because almost everything 3D-related breaks or is
unusably slow. If you're developing, you control the hardware. For
users, I'd imagine the cases where someone expects to run VirtualBox as
a user *and* wants to disable 3D acceleration for a 3D app are very
rare. For this reason, I just stick with the enabled setup.
Since the 3D acceleration mode works as a pass-through to the host of
sorts, having well-behaved 3D hardware on the host is essential. I've
mostly stuck with nVidia cards for this purpose. I don't know about ATI,
but they'd probably be fine.
It's been a while since I've used VMware for this purpose, but I *think*
OSG was one of the few engines that could cope with it. I haven't used
VMware for a few years now though.
I hope this helps.
Cheers,
Garth
On 20/03/13 09:57, Judson Weissert wrote:
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
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org