We have had this issue as well and simply converting our textures to dds fixed everything. We can now load 100x what we could before in terms of number of models. I would look at that type of option first.
From: [email protected] [mailto:[email protected]] On Behalf Of Robert Osfield Sent: Thursday, September 12, 2013 11:04 AM To: OpenSceneGraph Users Subject: Re: [osg-users] detected OpenGL error 'out of memory' at AfterRenderer::compile Hi Andrew, If you have too much data for OpenGL to handle it will report an error. What you have to do is work out how to work with small models or create the models in such a way that they don't have such a large OpenGL footprint. You say nothing about what your models contain, or what type of application behavior you want when managing these models, given this there really isn't much we can advice, it's simply too open ended. Robert. On 5 September 2013 13:59, Andrew Nie <[email protected]> wrote: Hi, I load several model files and encountered the following warning: "detected OpenGL error 'out of memory' at After Renderer::compile". Here is my code: int main() { osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer(); osg::ref_ptr<osg::Group> root = new osg::Group(); osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("E:\\Scene\\Background.ive"); osg::ref_ptr<osg::Node> node2 = osgDB::readNodeFile("E:\\Scene\\N_0.ive");// osg::ref_ptr<osg::Node> node3 = osgDB::readNodeFile("E:\\Scene\\Q_0.ive");// osg::ref_ptr<osg::Node> node4 = osgDB::readNodeFile("E:\\Scene\\TH_0.ive");// osg::ref_ptr<osg::MatrixTransform> mt = new osg::MatrixTransform(); mt->setMatrix(osg::Matrix::rotate(osg::PI_2,osg::Vec3d(1.0,0.0,0.0))); mt->addChild(node1); mt->addChild(node2); mt->addChild(node3); mt->addChild(node4); // root->addChild(mt); // osgUtil::Optimizer optimizer ; optimizer.optimize(root.get()) ; osg::ref_ptr<osgGA::TrackballManipulator> tb = new osgGA::TrackballManipulator(); tb->setTrackballSize(0.9); viewer->setCameraManipulator(tb); viewer->setSceneData(root.get()); viewer->realize(); viewer->run(); return 0 ; } The four ive files (Background.ive,N_0.ive,Q_0.ive,TH_0.ive) are 400M,260M,211M,410M respectively. I found that,if I only load the first two files, the warning did't appear, but if load one more file of the other two, the warning show up. Has anyone encountered such a problem?Any advice and suggestion will be appreciated... ... Thank you! Cheers, Andrew ------------------ Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=56121#56121 _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

