Hello,
unfortunately this does not work for me.
Maybe I have to do something special in the FirstPass_ or setup the camera in a
special way -- I don't know.
Can someone clarify is here something special missed or what is right way to
exchange the FBO render target the light-way (without triggering heavy
setCameraRequiresSetup()) ?
I do it exactly the same way:
Code:
if (cam && cv)
{
mImage= mRttTarget->getImage(osg::Texture::FRONTFACE);
if (mImage)
{
if (mInitialFrame) {
mInitialFrame= false;
cam->attach( osg::Camera::COLOR_BUFFER, mImage);
}
else {
#if 0
cam->attach(osg::Camera::COLOR_BUFFER, mImage);
// heavy way, TODO: light-weight FBO render target exchange
possible?
cv->getCurrentRenderBin()->getStage()->setCameraRequiresSetUp(
true);
#else
// cheap fbo-target exchange will not work.
osg::FrameBufferObject* fbo =
cv->getCurrentRenderBin()->getStage()->getFrameBufferObject();
if (fbo) {
fbo->setAttachment(osg::Camera::BufferComponent(osg::Camera::COLOR_BUFFER),
osg::FrameBufferAttachment(static_cast<osg::Texture2D*>(mRttTarget)));
}
#endif
}
}
}
Cheers,
Alexej
J.P. Delport wrote:
> Hi Alexej & Sergey,
>
> also note that if you only want to change a texture attachment and the
> formats and sizes stay the same, you can in the cull callback change it.
> Like so:
>
>
> Code:
> void KeepHistoryPass::CameraCullCallback::operator()(osg::Node* node,
> osg::NodeVisitor* nv)
> {
> osg::Camera* fboCam = dynamic_cast<osg::Camera*>( node );
> osgUtil::CullVisitor* cv = dynamic_cast<osgUtil::CullVisitor*>(nv);
>
> if (fboCam && cv && !hp_->FirstPass_)
> {
> osg::FrameBufferObject* fbo =
> cv->getCurrentRenderBin()->getStage()->getFrameBufferObject();
> if (fbo) {
>
>
> fbo->setAttachment(osg::Camera::BufferComponent(osg::Camera::COLOR_BUFFER),
>
>
> osg::FrameBufferAttachment(hp_->OutTextures_[hp_->OverwriteIndex_].get()));
> }
> }
> traverse(node, nv);
> }
>
>
>
> cheers
> jp
>
>
> --
> This message is subject to the CSIR's copyright terms and conditions, e-mail
> legal notice, and implemented Open Document Format (ODF) standard.
> The full disclaimer details can be found at
> http://www.csir.co.za/disclaimer.html.
>
> This message has been scanned for viruses and dangerous content by
> MailScanner,
> and is believed to be clean.
>
> _______________________________________________
> osg-users mailing list
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
> ------------------
> Post generated by Mail2Forum
Code:
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=47658#47658
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org