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
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org