我有一个带有TGLHeightField的GLScene,它的点从它的OnGetHeight加载。
我想知道的是鼠标当前在HeightField事件中位于哪个3d点上。
HeightField上的高度(Y)并不是真正需要的,只需要平面(x,z)上的点
我试过GLSceneViewer1.Buffer.OrthoScreenToWorld(x, y),但那只是相机平面上的一个点。
发布于 2011-04-10 02:40:35
查看hfpick演示(在Demos\Interface中)。它演示了如何使用PixelRayToWorld来实现这一点。
基本上,你要做的是:
var
v: TAffineVector;
...
v := GLSceneViewer.Buffer.PixelRayToWorld(x, y)
v := HeightField.AbsoluteToLocal(v);https://stackoverflow.com/questions/5603830
复制相似问题