Delphi - GLScene如何获取拾取对象的x,y,z

时间:2012-01-31 19:34:12

标签: delphi opengl directx glscene

我有一个带有基本几何体的场景(选择演示)我想在选择任何对象时返回鼠标光标的x,y和z,否则返回-1

1 个答案:

答案 0 :(得分:4)

一般的OpenGL技术是使用gluUnProject(),它取屏幕x,y和深度缓冲区的z值,并将其反转换为世界(或视图)坐标。

  

gluUnProject将指定的窗口坐标映射到对象中   使用模型,项目和视图进行坐标。结果存储在objX中,   objY,和objZ。 GLU_TRUE的返回值表示成功;回报   GLU_FALSE的值表示失败。

有关如何在常规OpenGL应用中使用它,请参阅NeHe's tutorial。它应该有助于您使用Delphi应用程序开始正确的方向。