Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi GlScene鼠标指向TGLHeightField_Delphi_Opengl_Fpc_Glscene - Fatal编程技术网

Delphi GlScene鼠标指向TGLHeightField

Delphi GlScene鼠标指向TGLHeightField,delphi,opengl,fpc,glscene,Delphi,Opengl,Fpc,Glscene,我有一个GLScene,有一个TGLHeightField,其中的点是从长光加载的 我想弄清楚的是,在mousemove事件中,鼠标当前在高度场上的3d点是什么 高度场上的高度(y)实际上并不需要,只需要平面上的点(x,z) 我尝试了GLSceneViewer1.Buffer.OrthoScreenToWorld(x,y),但那只是相机平面上的一个点。查看hfpick演示(在演示\界面中)。它演示了如何使用PixelRayToWorld执行此操作 基本上,你要做的是: var v: TAf

我有一个GLScene,有一个TGLHeightField,其中的点是从长光加载的

我想弄清楚的是,在mousemove事件中,鼠标当前在高度场上的3d点是什么

高度场上的高度(y)实际上并不需要,只需要平面上的点(x,z)

我尝试了
GLSceneViewer1.Buffer.OrthoScreenToWorld(x,y)
,但那只是相机平面上的一个点。

查看hfpick演示(在演示\界面中)。它演示了如何使用PixelRayToWorld执行此操作

基本上,你要做的是:

var
   v: TAffineVector;

...
      v := GLSceneViewer.Buffer.PixelRayToWorld(x, y)
      v := HeightField.AbsoluteToLocal(v);