diff --git a/include/osg/CameraNode b/include/osg/CameraNode index 7a6c2fd67..b5be86014 100644 --- a/include/osg/CameraNode +++ b/include/osg/CameraNode @@ -214,9 +214,17 @@ class OSG_EXPORT CameraNode : public Transform, public CullSettings enum BufferComponent { - COLOR_BUFFER, DEPTH_BUFFER, - STENCIL_BUFFER + STENCIL_BUFFER, + COLOR_BUFFER, + COLOR_BUFFER0 = COLOR_BUFFER, + COLOR_BUFFER1 = COLOR_BUFFER+1, + COLOR_BUFFER2 = COLOR_BUFFER+2, + COLOR_BUFFER3 = COLOR_BUFFER+3, + COLOR_BUFFER4 = COLOR_BUFFER+4, + COLOR_BUFFER5 = COLOR_BUFFER+5, + COLOR_BUFFER6 = COLOR_BUFFER+6, + COLOR_BUFFER7 = COLOR_BUFFER+7 }; void attach(BufferComponent buffer, GLenum internalFormat); diff --git a/src/osgUtil/CullVisitor.cpp b/src/osgUtil/CullVisitor.cpp index f92feb4f9..d07b7248f 100644 --- a/src/osgUtil/CullVisitor.cpp +++ b/src/osgUtil/CullVisitor.cpp @@ -1198,7 +1198,7 @@ void CullVisitor::apply(osg::CameraNode& camera) } default: { - fbo->setAttachment(GL_COLOR_ATTACHMENT0_EXT, osg::FrameBufferAttachment(attachment)); + fbo->setAttachment(GL_COLOR_ATTACHMENT0_EXT+(buffer-osg::CameraNode::COLOR_BUFFER0), osg::FrameBufferAttachment(attachment)); colorAttached = true; break; }