繁体   English   中英

从任意角度进行3D拾取

[英]3d picking from arbitrary viewpoint

我创建了一个3d场景,其中包含许多不同颜色和材料的管道(阀门,人孔)。 现在,我想使用鼠标来选择它们并获取它们的属性(颜色,材料)。 我尝试使用OpenGL API提供的方法glupushmatrix,它在视点几乎位于管道正前方时有效。但是,从不同的视点(例如,从(0,1,1)到(0, 0,0),则无法执行。 而且,在glupushmatrix之前,我没有找到glulookat函数的任何投影设置。 我还尝试通过数学使用基于光线跟踪的拾取,但是我发现使用蛮力很难对每个管道进行相交测试。

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

要实现它,您必须:

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

编辑了链接:

遵循本教程...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM