From 9aba89c88d02d3b9d72eb4fd4f22291bbeca7240 Mon Sep 17 00:00:00 2001 From: scrawl Date: Sun, 6 Dec 2015 14:08:49 +0100 Subject: [PATCH] Check for presence of occlusion query extension --- src/osg/OcclusionQueryNode.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/osg/OcclusionQueryNode.cpp b/src/osg/OcclusionQueryNode.cpp index cc3a7627f..2af3a1b31 100644 --- a/src/osg/OcclusionQueryNode.cpp +++ b/src/osg/OcclusionQueryNode.cpp @@ -243,7 +243,7 @@ public: virtual void deleteGLObject(GLuint globj) { const GLExtensions* extensions = GLExtensions::Get(_contextID,true); - if (extensions->isGlslSupported) extensions->glDeleteQueries( 1L, &globj ); + if (extensions->isOcclusionQuerySupported || extensions->isARBOcclusionQuerySupported) extensions->glDeleteQueries( 1L, &globj ); } }; @@ -285,6 +285,10 @@ QueryGeometry::drawImplementation( osg::RenderInfo& renderInfo ) const { unsigned int contextID = renderInfo.getState()->getContextID(); osg::GLExtensions* ext = renderInfo.getState()->get(); + + if (!ext->isARBOcclusionQuerySupported && !ext->isOcclusionQuerySupported) + return; + osg::Camera* cam = renderInfo.getCurrentCamera(); // Add callbacks if necessary.