Hi,
I've dug a little into osg ::clone operator and I think it is broken for Geodes
since the Geode/Geometry change.
If a cloning is done on a Geode with the flag DEEP_COPY_DRAWABLES,
The clone function of osg::Group will be called, wich is correct to my
understanding, but for childs (Drawables), the osg::Node cloning operator is
called instead of Drawable/Geometry one.
The offending code :
osg::Geode *pCopiedOsgGeode =
static_cast<osg::Geode*>(pOsgGeode->clone(osg::CopyOp::DEEP_COPY_DRAWABLES));
pCopiedOsgGeode is NOT a deep copy of pOsgGeode
Robert, do you have an idea how it should work or be repaired ?
Luc
De : osg-users [mailto:[email protected]] De la part
de Luc Frauciel
Envoyé : lundi 17 novembre 2014 10:52
À : [email protected]
Objet : [osg-users] Dae plugin, textures not visible (related to Geode/Geometry
changes ?)
Hi,
I've got a set of collada files that don't load anymore (no textures), see
attachment.
I've tracked the problem down to daeReader.cpp / void
daeReader::processBindMaterial
The geometry is cached and then texture coordinates arrays are copied to a
clone geometry.
However, before copying, a call to getTexCoordArrayList().clear() is done on
the clone geometry.
What is strange is that this call also clear the texcoordarray from the cached
geometry, which invalidate the code following.
The cloned geometry is supposed to be a deep copy of cached geometry but share
the same pointers.
I don't know if the deep copy mechanism is broken or what but something wrong
here.
I'm using OSG 3.2.
Command line : osgviewer CubeSport.dae -O daeUseSequencedTextureUnits
This was working a few month ago (before I updated to the new Geode/Geometry
logic).
Are you able to reproduce the problem ?
Do someone know the logic/expected behavior behind this cloning mechanism ?
Regards
Luc Frauciel
Responsable R&D
R&D Manager
T +33 (0)1 71 33 01 48
<http://1spatial.com/fr/event/club-des-utilisateurs-francophones-1spatial>[Image
supprimée par
l'expéditeur.]<http://1spatial.com/fr/event/club-des-utilisateurs-francophones-1spatial><http://1spatial.com/fr/event/club-des-utilisateurs-francophones-1spatial>
________________________________
1Spatial France SAS
Les informations contenues dans cet e-mail sont confidentielles et uniquement
adressées au destinataire. Les opinions qui y sont exprimées peuvent être
celles de l'auteur et ne représentent pas nécessairement celles du Groupe
1Spatial. Cet e-mail a été scanné et est garanti sans aucun virus. 1Spatial
France SAS est une société de droit français, membre du Groupe 1Spatial. Siège
Social : Immeuble AXEO2, 23-25 Avenue Aristide Briand, 94110 Arcueil, France.
RCS CRETEIL 334 416 336
[X]<http://www.1spatial.com>
[http://www.1spatial.com/wp-content/themes/1spatial/images/youtube.png]<http://www.youtube.com/user/1SpatialGroup>
[http://www.1spatial.com/wp-content/themes/1spatial/images/facebook.png]
<https://www.facebook.com/1Spatial>
[http://www.1spatial.com/wp-content/themes/1spatial/images/linkedIn.png]
<http://www.linkedin.com/company/1spatial>
[http://www.1spatial.com/wp-content/themes/1spatial/images/twitter.png]
<http://www.twitter.com/1spatial>
________________________________
1Spatial France SAS
Les informations contenues dans cet e-mail sont confidentielles et uniquement
adressées au destinataire. Les opinions qui y sont exprimées peuvent être
celles de l'auteur et ne représentent pas nécessairement celles du Groupe
1Spatial. Cet e-mail a été scanné et est garanti sans aucun virus. 1Spatial
France SAS est une société de droit français, membre du Groupe 1Spatial. Siège
Social : Immeuble AXEO2, 23-25 Avenue Aristide Briand, 94110 Arcueil, France.
RCS CRETEIL 334 416 336
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org