From Farshid Lashkari, "The drawInner() method of osgUtil::RenderStage ignores the

checkForGLErrors flag of the osg::State object. The attatched file
fixes this."
This commit is contained in:
Robert Osfield 2006-05-09 09:47:26 +00:00
parent 83722dc064
commit 8af7b04c5b

View File

@ -629,12 +629,15 @@ void RenderStage::drawInner(osg::State& state,RenderLeaf*& previous, bool& doCop
RenderBin::draw(state,previous); RenderBin::draw(state,previous);
if(state.getCheckForGLErrors()!=osg::State::NEVER_CHECK_GL_ERRORS)
{
GLenum errorNo = glGetError(); GLenum errorNo = glGetError();
if (errorNo!=GL_NO_ERROR) if (errorNo!=GL_NO_ERROR)
{ {
osg::notify(osg::NOTICE)<<"RenderStage::drawInner(,) OpenGL errorNo= 0x"<<std::hex<<errorNo<<std::endl; osg::notify(osg::NOTICE)<<"RenderStage::drawInner(,) OpenGL errorNo= 0x"<<std::hex<<errorNo<<std::endl;
if (fbo_ext) osg::notify(osg::NOTICE)<<"RenderStage::drawInner(,) FBO status= 0x"<<std::hex<<fbo_ext->glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)<<std::endl; if (fbo_ext) osg::notify(osg::NOTICE)<<"RenderStage::drawInner(,) FBO status= 0x"<<std::hex<<fbo_ext->glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT)<<std::endl;
} }
}
// state.checkGLErrors("After RenderBin::draw"); // state.checkGLErrors("After RenderBin::draw");
// now copy the rendered image to attached texture. // now copy the rendered image to attached texture.