我正在使用 glDrawElements 绘制三角形网格,并且希望能够使用鼠标单击来选择/选择三角形。三角形的网格可以非常大。
在固定功能的 OpenGL 中,有可能使用 GL_SELECT: http ://content.gpwiki.org/index.php/OpenGL:Tutorials:Picking .. 但是我只对使用 OpenGL 核心配置文件感兴趣。
另一种可能性是使用“颜色编码”:
http://www.lighthouse3d.com/opengl/picking/index.php?color1
http://www.opengl.org/resources/faq/technical/selection.htm
..但据我所知,在使用 glDrawElements 时还不能指示每个三角形的信息?
最后,我可以通过鼠标位置拍摄拾取射线来进行基于 CPU 的拾取,但这会很慢,因为我想我必须在 CPU 上转换三角形,所以我更喜欢基于 GPU 的解决方案。
有没有人建议在 OpenGL 核心配置文件中使用 glDrawElements 时最好的选择方法是什么?