Okay, more details on this:
the problem comes from the helper structure "VertexAttribComparitor" in the function VertexAttribComparitor::compare(unsigned int lhs, unsigned int rhs) we call the template array compare(unsigned int lhs, unsigned int rhs) function, and there we just use regular comparisons: virtual int compare(unsigned int lhs,unsigned int rhs) const { const T& elem_lhs = (*this)[lhs]; const T& elem_rhs = (*this)[rhs]; if (elem_lhs<elem_rhs) return -1; if (elem_rhs<elem_lhs) return 1; return 0; } here we don't take any "precision" into account at all... whereas my vertices are given in meter units and may have a little resolution of about 0.1 millimeter ! So this implementation won't fit for my needs (and I think there is an high chance it may not fit the needs for many other people no ?) maybe we should add a "precision" parameter at some point, but for now I just don't have the time to deal with this properly :-) Cheers, Manu. 2009/11/23 Emmanuel Roche <roche.emman...@gmail.com> > Hi Robert, > > Actually, I've noticed that the problem doesn't come from the underlying > tristripper library: > > instead, it seems that the indice array generated from my vertices is > incorrect: I suspect that the comparison function to find if too vertices > are the same or not is too precise in my case. Do you have a clear idea > where this is done ? (otherwise, I will just read more code and find it...) > > cheers, > > Manu. > > > > 2009/11/23 Emmanuel Roche <roche.emman...@gmail.com> > > Actually, I also noticed that OSG v2.8.1 uses version 1.0 of the >> tristripper library. >> >> As I'm quite in an hurry, I think I will re-implement my own >> tristripvisitor with the latest version of tristripper and check if this >> makes a difference. Will let you know what's the result of this test. >> >> But I believe this could really be a generic issue (it happens with all >> the models I tested) and thus would mean many people are currently using >> "not so well tri-stripped" geometries if they use this optimiser feature ! >> (it is the case for instance in the OSGExp export plugin for 3DS max as I've >> noticed this issue there for the first time). >> >> regards, >> Manu. >> >> >> >> 2009/11/23 Robert Osfield <robert.osfi...@gmail.com> >> >> Hi Manu, >>> >>> If the tristripper doesn't connect the triangles together well then it >>> can result on few tristrips and lots of unconnected traingles that it >>> has to put into a single list of triangles to avoid lots of separate >>> primitive calls. >>> >>> As to why your model is not being stripped well I can't say. We've >>> used 3rd party code to do the tri-stripping so I'm not best placed to >>> answer the low level questions, but... the original author of the cdoe >>> Tanguy Fautre is now an OSG user and I believe still on the list so >>> perhaps he'll be able to chip in ;-) >>> >>> Robert. >>> >>> On Mon, Nov 23, 2009 at 11:08 AM, Emmanuel Roche >>> <roche.emman...@gmail.com> wrote: >>> > Hi everyone, >>> > >>> > I have a strange problem with the TryStripVisitor: >>> > >>> > When I use it on a model (with about 6000 triangles, described as >>> TRIANGLES >>> > [thus using 18000 vertices]) I get trip strip primitive sets indeed.... >>> BUT >>> > actually I get a few TRIANGLE_STRIP primitive sets with 4 vertices in >>> each, >>> > and then a single big TRIANGLES primitive set with about 17950 vertices >>> !!!! >>> > >>> > So, most of the model is just not stripped at all ! any idea what I >>> could be >>> > doing wrong ??? >>> > >>> > Moreother, I've noticed that the geometry is then transformed as an >>> indexed >>> > geometry... correct me if I'm wrong but indexed geometries are slower >>> that >>> > simple vertices ordered arrays. If there a way to switch this or am I >>> on my >>> > own on this ? >>> > >>> > Regards, >>> > Manu. >>> > >>> > >>> > >>> > _______________________________________________ >>> > 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