Hi Dženan, The osgViewer library by default will create RGB framebuffers unless there are hints to do otherwise. You don't mention anything about how you create your graphics windows so I can't give you further guidance. See osgcamera example.
Robert. 2010/8/16 Dženan Zukić <[email protected]>: > Hi, > > I am using the following code to save contents of the framebuffer into a file: > [code]vis->getCamera()->setClearColor(osg::Vec4(0.5f,0.5f,1.0f,0.0f)); //in > constructor > > class MyPostDrawCallback : public osg::Camera::DrawCallback > { > private: > int _w, _h; > std::string fn; > public: > MyPostDrawCallback(int w, int h, std::string filename): _w(w), _h(h), > fn(filename) {} > void operator () ( const osg::Camera& cam ) const > { > osg::ref_ptr<osg::Image> rImage = new osg::Image; > rImage->readPixels( 0, 0, _w, _h, GL_RGBA, GL_UNSIGNED_BYTE ); > osgDB::writeImageFile( *rImage, fn ); > } > }; > > void MainLogic::screenshot(std::string filename) > { > mainForm.vis->getCamera()->setPostDrawCallback( > new MyPostDrawCallback(mainForm.vis->width(), > mainForm.vis->height(), filename)); > mainForm.vis->frame(); > mainForm.vis->getCamera()->setPostDrawCallback(0); > }[/code] > > I expected that setting the clear color alpha to 0 would result in > transparent background in the saved .png file. It is not so. Is that even > possible, and if it is, how? > > Thank you! > > Cheers, > Dženan[/code] > > ------------------ > Read this topic online here: > http://forum.openscenegraph.org/viewtopic.php?p=30778#30778 > > > > > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

