<div dir="ltr">Hi Antoine,<br><div class="gmail_extra"><br><div class="gmail_quote">On 21 September 2017 at 18:55, Antoine Rennuit <span dir="ltr"><<a href="mailto:antoinerennuit@hotmail.com" target="_blank">antoinerennuit@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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?<br></blockquote><div><br></div><div>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.</div><div><br></div><div>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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>Robert.<br></div><div> </div></div><br></div></div>