From Mathias Froehlich, Fixed FrameBufferObject attachement code to handle cases

where no texture or image is attached
This commit is contained in:
Robert Osfield
2008-05-12 11:39:02 +00:00
parent 1d2bd834a4
commit 7a074acd49

View File

@@ -340,7 +340,10 @@ void RenderStage::runCameraSetUp(osg::RenderInfo& renderInfo)
osg::Camera::BufferComponent buffer = itr->first;
osg::Camera::Attachment& attachment = itr->second;
fbo->setAttachment(buffer, osg::FrameBufferAttachment(attachment));
if (attachment._texture.valid() || attachment._image.valid())
fbo->setAttachment(buffer, osg::FrameBufferAttachment(attachment));
else
fbo->setAttachment(buffer, osg::FrameBufferAttachment(new osg::RenderBuffer(width, height, attachment._internalFormat)));
if (buffer==osg::Camera::DEPTH_BUFFER) depthAttached = true;
else if (buffer==osg::Camera::STENCIL_BUFFER) stencilAttached = true;