<div dir="ltr"><div>If the approach is producing good enough performance then I'd stick with it.  It's a long way from the most optimal way you could do this type of task, but all the alternatives are more complicated and require deeper understanding of OSG/OpenGL/shaders. I'll not attempt to make suggestions as you should only ever make solutions more complicated if you really have to.</div><div><br></div><div>As for giving the objects different names, all objects in the scene graph support setName/getName, if you are reuse the same subgraph the node above the reused part like the osg::Billboard is what is unique so put your unique name on that nodes.  The intersection traversal will return the whole NodePath to the intersected drawable so you just need to check the NodePath to find all the associated names.</div><div><br></div><div>Robert.<br></div></div>