我正在研究一个项目,我需要选择网格的两个顶点并计算它们之间的最短路径。我使用GL_ARRAY_BUFFER和GL_ELEMENT_ARRAY_BUFFER来绑定OpenGL缓冲区并通过glDrawElements绘制它们。如何在现代OpenGl(3.3以上)中选择网格的顶点或三角形?
找到最短路径在这里不是问题。问题在于顶点选择。我需要通过点击鼠标来选择顶点并存储它们的ID以用于进一步处理。我有一些函数返回鼠标位置,但我找不到可以获取顶点ID或三角形ID的方法。
我还发现了有关rayPicking方法,但那个用于选择网格本身而不是它的一个元素。
我明白任何帮助或想法
更新:,我要对付的网格,有大量的顶点和三角形的,所以如应用独特的颜色给每个顶点的方法是不是正确的解决方案。同样为每个顶点或三角形添加一个球体,并计算出射线与球体的交点也不合适。
您可以使用以每个网格点为中心的球体进行光线拾取。 – 2015-01-27 16:52:34