From Colin McDonald, "Add test for GL_EXT_framebuffer_object extension : osg uses osg::FBOExtensions to check if Frame Buffer Objects are

available.  But this just checks if the fbo functions can be called.
It doesn't check if the OpenGL renderer supports fbos.  For indirect
rendering on linux the client side capability may be different from
the display server, which can lead to mipmapped textures failing to
render.  I've added a fbo extension check.
"
This commit is contained in:
Robert Osfield
2013-09-09 13:33:13 +00:00
parent b20a74b017
commit e9697859bd
2 changed files with 6 additions and 4 deletions

View File

@@ -105,7 +105,8 @@ FBOExtensions::FBOExtensions(unsigned int contextID)
#if !defined(OSG_GLES1_AVAILABLE) && !defined(OSG_GLES2_AVAILABLE)
_supported = _supported &&
glFramebufferTexture1D != 0 &&
glFramebufferTexture3D != 0;
glFramebufferTexture3D != 0 &&
isGLExtensionOrVersionSupported(contextID, "GL_EXT_framebuffer_object",3.0f);
#endif
LOAD_FBO_EXT(glBlitFramebuffer);