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

Attachment: testConflictShaderOk.osg
Description: Binary data

Attachment: testConflictShaderFail.osg
Description: Binary data

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

Reply via email to