OQN is used by VE-Suite, which is a VR Juggler-based app, so VR Juggler
doesn't inhibit OQN usage. But your app will need to take responsibility to
perform operations normally done by osgViewer and not done by VR Juggler.

You'll need to debug this to determine what's going wrong, so make a very
simple test case, then set some breakpoints down where OQN makes calls into
the extension. You might also instrument the OQN code to call glGetError(),
for example.
   -Paul


> Paul,
> 
> See my responses below.  I wonder if I am running into issues 
> because my application uses VR Juggler?
> 
> Thanks,
> Todd
> 
> Paul Martz wrote:
> > Wow, suddenly everyone is using OQN. :-)
> 
> It is a very cool feature!
> 
> > OSG performs two cull/draw pairs in the situation you describe, and 
> > OQN is designed to perform separate queries for each active 
> context, 
> > so is designed for just this case. There is nothing special or 
> > additional you need to do to make OQN work for 
> multidisplay. Indeed, 
> > this works fine on multidisplay Windows and Mac OS X platforms.
> > 
> > Your stack trace doesn't tell me much.
> 
> Let me know if there is more info that would help.
> 
> > Some things to try:
> > 
> > 1) If you set OSG_NOTIFY_LEVEL=DEBUG and look at the 
> displayed list of 
> > OpenGL extensions, is occlusion query supported?
> 
> Yes, it is.
> 
> > 2) Do you have an up-to-date OpenGL driver?
> 
> Yes, Nvidia driver 169.12 for x86_64 Linux.
> 
> > 3) What happens if you force OSG_THREADING=SingleThreaded?
> 
> Same results.
> 
> > Paul Martz
> > Skew Matrix Software LLC
> > http://www.skew-matrix.com
> > +1 303 859 9466
> > 
> > 
> > 
> >> My OSG App renders to two screens (:0.0 & :0.1) of  Linux 
> system.  If 
> >> I use an OcclusionQueryNode as my root, it crashes in this 
> >> configuration.
> >>
> >> First I get these messages:
> >>
> >> Warning: detected OpenGL error 'invalid operation' after
> >> RenderBin::draw(,)
> >> Warning: detected OpenGL error 'invalid operation'
> >>
> >> Then a series of these:
> >>
> >> Warning: detected OpenGL error 'invalid operation' at start of
> >> State::apply()
> >>
> >> Then a crash:
> >>
> >> *** glibc detected *** ./app.bin: malloc(): memory 
> corruption (fast): 
> >> 0x00002aaab0190e66 ***
> >> ======= Backtrace: =========
> >> /lib64/libc.so.6[0x3a0f8725e0]
> >> /lib64/libc.so.6(__libc_malloc+0x7d)[0x3a0f872e8d]
> >> /usr/lib64/libGLcore.so.1[0x3488fd8114]
> >>
> >> I assume that I need separate instances per GL context to 
> make this 
> >> work, but I am looking for advice as to how to implement?
> >>
> >> Thanks,
> >> Todd
> 
> --
> Todd J. Furlong
> Inv3rsion, LLC
> http://www.inv3rsion.com
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce
negraph.org

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

Reply via email to