I remove the useless camera node and it works without any troubles

Code:

class ImageReadBackNode:public osg::Geode{

void ImageReadBackNode::setTexture(osg::Texture*tex){
        //assert(tex->getImage());
        class ImageReadBackNodeCallback : public osg::Drawable::DrawCallback
        {
                osg::Texture *_texture; osg::Node *_n;
        public:
                ImageReadBackNodeCallback(osg::Texture *texture, 
osg::Node*toremove) :_texture(texture), _n(toremove){ };
 virtual void drawImplementation(osg::RenderInfo& renderInfo,const 
osg::Drawable* drawable) const
        {
                        // get OpenGL driver to create texture from image.
                        //via stateset _texture->apply(*renderInfo.getState());
///BAD

(                       
osg::Texture2D*(_texture))->getImage()->readImageFromCurrentTexture(renderInfo.getContextID(),true,_texture->getSourceType());



///Node self removal in drawthread (dirty but seams to works:/ ..) THREADSAFE?
                        std::list<osg::Group*> gr;
                        for (int i = 0; i < _n->getNumParents(); 
i++)gr.push_back((_n->getParent(i)));
                        for (std::list<osg::Group*>::iterator it = gr.begin(); 
it != gr.end(); it++)
                                (*it)->removeChild(_n);

                }
        };
     getOrCreateStateSet()->setTextureAttributeAndModes(0, tex, 
osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE);
        //cam->setFinalDrawCallback(new ImageReadBackNodeCallback(tex,this));

                osg::ref_ptr<osg::Geometry> geom=new osg::Geometry();
                geom->setUseVertexBufferObjects(true);
                geom->setUseDisplayList(false);

    geom->setDrawCallback(new ImageReadBackNodeCallback(tex,this));
                this->addDrawable(geom);

}
};




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





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to