[osg-users] TriStripVisitor issue

Stephan Kussmaul stephan.kussmaul at triangraphics.de
Mon Nov 23 06:31:16 PST 2009


Hi Manu,

We found a bug those days in TriStripVisitor.cpp. I didn't really read 
your latest email, but this might be related to your precision issues:

class WriteValue : public osg::ConstValueVisitor
{
    ...
        // add those 3 lines
        virtual void apply(const Vec2d& v) { _o << v; }
        virtual void apply(const Vec3d& v) { _o << v; }
        virtual void apply(const Vec4d& v) { _o << v; }
    ...
}

class RemapArray : public osg::ArrayVisitor
{
    ...
        // add those 3 lines
        virtual void apply(osg::Vec2dArray& array) { remap(array); }
        virtual void apply(osg::Vec3dArray& array) { remap(array); }
        virtual void apply(osg::Vec4dArray& array) { remap(array); }
    ...
}

Hope this helps.

Regards,

Stephan

Emmanuel Roche schrieb:
> 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.emmanuel at gmail.com 
> <mailto:roche.emmanuel at 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.osfield at gmail.com
>     <mailto:robert.osfield at 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.emmanuel at gmail.com <mailto:roche.emmanuel at 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 at lists.openscenegraph.org
>         <mailto:osg-users at lists.openscenegraph.org>
>         >
>         http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>         >
>         >
>         _______________________________________________
>         osg-users mailing list
>         osg-users at lists.openscenegraph.org
>         <mailto:osg-users at lists.openscenegraph.org>
>         http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>   

-- 
-------------------------------------
Stephan Kussmaul
Geschaeftsfuehrender Gesellschafter / Managing Director
TrianGraphics GmbH
Schoenhauser Allee 45
10435 Berlin
Germany
Tel: +49 (0)30 48495565   FAX: +49 (0)30 48495581
Email: stephan.kussmaul at triangraphics.de
Web: www.triangraphics.de
-------------------------------------
Sitz der Gesellschaft / Corporate Headquarters:
TrianGraphics GmbH, Berlin
Registereintragung / Registration:
Amtsgericht Berlin-Charlottenburg HRB 93807 B
Geschaeftsfuehrer / Managing Directors:
Stephan Kussmaul, Mirco Nierenz, Volker Walkiewicz 




More information about the osg-users mailing list