从任意观点采摘的3d

时间:2014-04-28 08:42:33

标签: opengl graphics

我创造了许多不同颜色和材料的管道(阀门,人孔)的三维场景。现在我想用鼠标来挑选它们并获得它们的属性(颜色,材质)。我尝试使用了由OpenGL API提供的方法glupushmatrix,它在视点几乎就在管道前面时起作用。但是当从不同的视点观察时,例如从(0,1,1)到(0, 0,0),它做不到。更重要的是,我没有在glupushmatrix之前找到glulookat函数的任何投影设置。我还尝试使用基于光线跟踪的数学拾取,但我发现很难使用蛮力对每个管道进行相交测试。

1 个答案:

答案 0 :(得分:0)

OpenGL提供了一种特殊的渲染模式(GL_SELECT)来帮助实现拾取。

要实现它,你必须:

  • Name您的可选原语
  • 使用GL_SELECT模式添加渲染通道。

编辑了链接:

关注this tutorial...