[osg-users] bug report : conflict between osgParticle::Program and osg::Program in osg file

2008-10-24 Thread pierre haritchabalet
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
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] bug report : conflict between osgParticle::Program and osg::Program in osg file

2008-10-24 Thread Robert Osfield
Hi Pierre,

Thanks for the simple file examples, with these I'm able to reproduce
the problem.  I've tracked the bug down to the lack of osgParticle::
qualifiers in from of the Program entry in the osgParticle plugin,
adding the qualifier fixes the problem.

I have checked the fix into svn/trunk, could you please try it out.

Robert.

On Fri, Oct 24, 2008 at 9:41 AM, pierre haritchabalet
[EMAIL PROTECTED] wrote:
 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





 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] bug report : conflict between osgParticle::Program and osg::Program in osg file

2008-10-24 Thread pierre haritchabalet
It's ok now, thank you

Pierre Haritchabalet


2008/10/24 Robert Osfield [EMAIL PROTECTED]

 Hi Pierre,

 Thanks for the simple file examples, with these I'm able to reproduce
 the problem.  I've tracked the bug down to the lack of osgParticle::
 qualifiers in from of the Program entry in the osgParticle plugin,
 adding the qualifier fixes the problem.

 I have checked the fix into svn/trunk, could you please try it out.

 Robert.

 On Fri, Oct 24, 2008 at 9:41 AM, pierre haritchabalet
 [EMAIL PROTECTED] wrote:
  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
 
 
 
 
 
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
 
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org