I've added a camera as a child to the main view camera. This camera renders to 
a texture using a FBO.

I'm trying to get the FBO of this child camera so I can redirect it to 
different textures during runtime.

I'm attempting to get the FBO using this technique but its not working when the 
camera is added as a child camera. It seems to work fine if it is added as a 
slave camera.


Code:
static osg::FrameBufferObject* getFrameBufferObject(osg::RenderInfo& renderInfo)
{
        osg::Camera* camera = renderInfo.getCurrentCamera();
        osgViewer::Renderer* camRenderer = 
(dynamic_cast<osgViewer::Renderer*>(camera->getRenderer()));
        if (camRenderer != nullptr)
        {
                osgUtil::SceneView* sceneView = camRenderer->getSceneView(0);

                if (sceneView != nullptr)
                {
                        osgUtil::RenderStage* renderStage = 
sceneView->getRenderStage();

                        if (renderStage != nullptr)
                        {
                                return renderStage->getFrameBufferObject();
                        }
                }
        }

        return nullptr;
}




The problem is that the renderer returned from getRenderer() does not cast to 
the osgViewer::Renderer and it returns without finding the FBO.

Any idea what I'm doing wrong?

Thank you!

Cheers,
Steven
Code:




------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=66917#66917





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to