2011-04-09 88 views
2

我有一個TGLHeightField與從它的OnGetHeight加載點的GLScene。GlScene鼠標指向TGLHeightField

我想要解決的是MouseFove鼠標當前在Mousemove事件中的HeightField上的三維點。

的灰階高度的HIGHT(Y)是不是真的需要只是在平面(X,Z)

香港專業教育學院試圖GLSceneViewer1.Buffer.OrthoScreenToWorld(x, y)但那只是在相機平面上的點的點。

回答

4

查看hfpick演示(在Demos \ Interface中)。它演示瞭如何使用PixelRayToWorld來做到這一點。

基本上,你做的是:

var 
    v: TAffineVector; 

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

優秀三江源 – 2011-04-12 06:27:05