Hey.

Now comes a non-trivial one... :-)

A while ago I added support for primitive restart to our internal
build to stitch triangle strips - this greatly improved performance
and VRAM usage for our very heavy CAD data. As primitive restart was
included in GL core a while a ago I suppose this feature has a chance
to be included in OSG.

I havn't prepared a patch yet (mostly because I don't want to waste
the time in case this isn't going to be integrated anyway), so I'll
just outline what I did:

 - osg::DrawElements and friends got two new attributes,
PrimitiveRestart (bool) and PrimitiveRestartIndex (unsigned integer)
 - osg::State was extended to allow setting the respective GL attributes
 - The osg::PrimitiveFunctor and osg::PrimitiveIndexFunctor interfaces
were extended by a primitiveRestart() and setPrimitiveRestart(bool,
unsigned int) method
 - osg::TriangleIndexFunctor was extended to implement the new functionality

... and all other PrimitiveFunctor / PrimitiveIndexFunctor
implementations everywhere were extended to support primitive restart.

(I also have a visitor stitching strips which are contained in
seperate primitive sets but I did that outside of OSG ... if PS
support is included I suspect it might be useful to have a visitor to
do this in osgUtil somewhere too)

So... should I prepare a patch?

Cheers,

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

Reply via email to