Hi Reed, Are you talking about doing indices with osg::Geometry vertex indices or DrawElement*() primitive set. Vertex indices are deprecated because they perform very poorly w.r.t OpenGL as it forces the OSG to send everything to OpenGL via slow paths. It's far far more efficient to use DrawElemenet*() primitive sets.
osgUtil::IntersectVisitor is also a deprecated, and only kept around for compatibility with OSG-1.x code. The modern and more flexible version is osgUtil::IntersectionVisitor. However, both approaches still be are slow because the vertex index data to be expanded before being passed to the generic triangle intersection code. Please port your code across to use DrawElementUShort or DrawElementUInt(), this will solve rendering issues as well as intersections issues. Robert. On Fri, Jan 23, 2009 at 7:44 PM, Reed McKenna <[email protected]> wrote: > I generate large drawables using indices (UIntArray) that point to the > actual vertices (Vec3Array). When an IntersectVisitor visits this drawable, > it takes at least four times the amount of processing time as that used for > the same drawable created without indices. What is the huge difference? It > seems that the one level of indirection for indices should only have a minor > impact. I would appreciate any feedback to help me understand how to get the > memory savings gained by using indices yet maintain the efficiency of the > IntersectVisitor. Thanks. > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

