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

Reply via email to