Hello, there is a bug when we use an osg file to create a scene including osgParticle system and a geode using a shader. If the geode and shader code are read before the particle system, it's ok. But if the particle system is read before the geode and the shader, the shader is not read.
In fact, the problem seems located in osgdb registry.cpp file. In the function bool Registry::writeObject(const osg::Object& obj,Output& fw) , we can see a call to loadLibrary(pluginLibraryName) (line 1256) to load all IO informations about osgParticle library which updates "_objectWrapperMap". But in this map osg::Program informations is replaced by osgParticle::Program's. So, in the osg file, if osg::program description is read after the particle system, osg can't call the right read function and the shader is not loaded. I join 2 osg files to show the bug. Any idea to solve that ? Thanks in advance Pierre Haritchabalet
testConflictShaderOk.osg
Description: Binary data
testConflictShaderFail.osg
Description: Binary data
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

