[osg-users] OSG with Haptics

Robert Osfield robert.osfield at gmail.com
Mon Jul 14 00:24:26 PDT 2008

Hi Matt,

There is the osgUtil::InterserctionVisitor/PolytopIntersector that
could help you with selecting what parts of the scene you want to pass
on to the haptics collision detection.  You might want to your own
specialist tool for it though, as you'd probably best not culling
against individual polygons rather just to select the geometry leaves,
and pass these one whole.  To do this culling effectively you'd need
to break your scene up into small chunks, otherwise the leaves would
be too large and not enable effective culling.

The other route you could take is to leave the scene graph intact, but
use the new KdTree feature that I checked at the end of last week.
This functionality is currently only working with linesegment
intersections but could easily be generalised.  Have a look at the
KdTree thread from over the weekend.  The key thing for you would be
the fact that the KdTree breaks up the geometry leaves into a
hierachy, with small sets of leaves - making it ideal for CPU based
intersection testing.


On Mon, Jul 14, 2008 at 1:17 AM, Matt Sutton <Matt.Sutton at padtinc.com> wrote:
> Hi Folks,
>   I'm brand new to osg, so I wanted to get some feedback from more
> experienced users regarding a tactic I am considering for a haptic
> application I am developing.  Haptics are 3d force feedback devices.  One of
> the challenges with them is that they require update speeds at approximately
> 1000Hz.  The model that I will be working with is approximately 1,000,000
> triangles, so collision detection is challenging at these rates.  The tactic
> I am considering in a nut shell is to use a second scene graph for haptic
> culling purposes.  I want to create an artificial viewing frustum near the
> haptic probe so I can cull away triangles that cannot come into contact with
> the probe.  I would then use the haptic rendering software with this smaller
> subset of triangles.  The cull doesn't need to process at 1000Hz, but rather
> needs to maintain a window around the probe such that the "visible"
> triangles include all that can potentially contact the probe while the probe
> is moving and before the next cull frame.  Does this sound reasonable?  If
> so, what form should I use for my haptic scene graph?  That is, does the
> cull work best with a series of nodes representing smaller patches of the
> geometry?  Are there any issues, beyond the extra book-keeping with two
> separate scene graphs in a single application?  Is there any benefit in
> maintaining two separate graphs, or would alternate traversals of a master
> graph be sufficient?  Sorry if these are too elementary.  Please feel free
> to point me to a piece of documentation if I am missing something.
> Thanks for any help.
> Matt Sutton
> www.padtinc.com
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

More information about the osg-users mailing list