Hi H
On Thu, Mar 19, 2009 at 2:38 PM, James Killian <[email protected]>wrote:
> > Behaviours:
> > Cache management is delegate to osgDB::Registry, but cache
> > coherence (load a file with option then reuse it, deactivate the
> > cache when load a specific file or don't cached the loaded file)
> > is user's responsibility.
>
> I actually ran into a similar issue... let me explain here:
>
> Looking at the latest rev 9884 of Registry.cpp around line 1641 in the
> readImplementation() we see
> else
> {
> ObjectCache tmpObjectCache
> swap
> read
> swap
> return
> }
>
> I would dare to submit to remove the swaps, but first ask if they were
> removed what would be broken as this has been this way for a long time.
>
> Stress that breaks _objectCache:
> As of now if I have 2 threads loading where some object types are cached
> and
> others are not (e.g. cached images but not nodes)... what happens is that
> the line 1631 addEntry() adds to the tmpOjectCache, and therefore the real
> _objectCache never gets populated. :(
>
> If someone can at least explain why the swaps were added I would be
> eternally grateful.
>
>
>
> ----- Original Message -----
> From: "David Callu" <[email protected]>
> To: "OpenSceneGraph Submissions" <[email protected]
> >
> Sent: Friday, February 27, 2009 8:47 AM
> Subject: [osg-submissions] Text3D fix
>
>
> > Hi Robert
> >
> > Problem:
> > osgText::Text and osgText::Text3D use the same font file.
> > The first really load the file and obtain an osgText::Font object,
> > the second use the cache created during the first load of the
> > font file, and so obtain an osgText::Font object instead of
> > osgText::Font3D object. To obtain an osgText::Font3D object,
> > osgText::Text3D call osgDB::readObjectFile(...) with an option
> > to specify the plugin we want an osgText::Font3D instead of
> > osgText::Font.
> >
> > Generalised Problem:
> > In osgDB::Registry, loaded file cache is referenced by the name
> > of this file, so if I load a file with some options, and the cache
> > already contain object for this filename, I obtain an object
> > potentially not loaded with my options.
> >
> > Behaviours:
> > Cache management is delegate to osgDB::Registry, but cache
> > coherence (load a file with option then reuse it, deactivate the
> > cache when load a specific file or don't cached the loaded file)
> > is user's responsibility.
> >
> > Text3D solution:
> > Postfix the font file name by .text3d or something similar and then
> have
> > the freetype plugin return
> > osgText::Font3D when it detects this.
> > This operation is done by osgText::readFont3DFile() which unsure the
> > filename have .text3d as extension.
> > This is totaly transparent for user, and backward compatible.
> >
> >
> > BTW, I fix the bug about the Normal of 3D text. Currently, the front and
> > wall face have
> > the same normal (0,0,1) in the Text3D object coordinate. Now the wall
> face
> > have its own
> > normal array computed by the plugin.
> >
> > BTW 2, I implement
> > - void Text3D::accept(osg::Drawable::ConstAttributeFunctor& af) const
> > - void Text3D::accept(osg::PrimitiveFunctor& pf) const
> > so now statistics are well reported.
> >
> > I join modified file in osgText3D.tgz and a the original test in
> > testText3D.tgz
> >
> > Cheers
> > David Callu
> >
>
>
>
> ----------------------------------------------------------------------------
> ----
>
>
> > _______________________________________________
> > osg-submissions mailing list
> > [email protected]
> >
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
> >
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org