On 31 May 2012 17:17, Andrew Cunningham <andr...@mac.com> wrote:

> When running a Windows OSG 3.0.1 application under Windows Remote Desktop
> the OpenGL driver defaults to the (ancient) software MS OpenGL GDI renderer
> v1.1.  Unfortunately, I need to make the basics of our app work under RDC.
>
> I am finding that glDrawElements ( called from void
> DrawElementsUInt::draw) crashes every time inside the MS OpenGL driver when
> given a geometry with say, 3000 elements. With smaller numbers of elements
> there are no problems.
>
> This is code that works perfectly when running under accelerated drivers
> such as nVidia/ATI etc. I experimented with breaking up the drawing of
> elements into blocks of size GL_MAX_ELEMENTS_INDICES_WIN with no luck. It
> seems that repeated calls to glDrawElements in a loop even with a small
> number of elements cause the same issue.
>
> This is almost certainly a bug in the driver, but I am wondering if anyone
> has a workaround that can be done at the OSG level.
>
> Thanks
>

You can use mesa instead when running under RDC.

http://www.mesa3d.org, works well and even supports shaders.

If you can create an install specifically for RDC users then you can just
put the mesa version of opengl32.dll in with your app and you are done.

If you need to dynamically chose between mesa/hardware renderer, you'll
need to do some monkeying about though,
either loading osg/opengl via LoadLibrary or you'll have to create a little
launcher program to modify the current PATH so
the mesa dlls are/are not found as appropriate.

BTW, don't try and delay load opengl32. I tried that when I wanted to
dynamically chose the open gl version and it causes odd problems.

-- 
http://www.ssTk.co.uk
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to