Hi Antoine,

On 21 September 2017 at 18:55, Antoine Rennuit <[email protected]>
wrote:

> Now for the suggestion to use a custom technique, are you thinking about
> using GL_SELCT with glRenderMode() and the glInitNames() / glPushName()
> functions? If so, do you know any example code implementing this?
>

Using GL to do picking is possible but I generally wouldn't recommend it as
it requires a round trip to the graphics hardware so you have a large
overhead associated with the operation.

When I'm thinking of a custom approach I'm thinking of a user implementing
something like a intersection scheme that uses a hierarchy of osg::Plane to
break the volume into half spaces.  So you end up with a graph of
osg::Plane rather than a single osg::Plane list like you have in a
osg::Polytope.    Another approach would be to create a graph of Polytope
to break up your volume.

FYI, osg::Polytope was originally written for view frustum culling and has
been expanded to be used elsewhere, in your case you it sounds like you are
pushing a bit beyond the tradeoff in design it's adopted - it's built
around performing view frustum culling as quick as possible.

Robert.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to