作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 TGLHeightField 的 GLScene,它的点是从 OnGetHeight 加载的。
我想要弄清楚鼠标当前在 mousemove 事件中位于 HeightField 上的哪个 3d 点。
HeightField 上的高度 (y) 并不真正需要,只需要平面上的点 (x,z)
我尝试过GLSceneViewer1.Buffer.OrthoScreenToWorld(x, y)
,但这只是相机平面上的一个点。
最佳答案
查看 hfpick 演示(在 Demos\Interface 中)。它演示了如何使用 PixelRayToWorld 执行此操作。
基本上,你要做的是:
var
v: TAffineVector;
...
v := GLSceneViewer.Buffer.PixelRayToWorld(x, y)
v := HeightField.AbsoluteToLocal(v);
关于delphi - GlScene 鼠标指向 TGLHeightField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5603830/
我有一个带有 TGLHeightField 的 GLScene,它的点是从 OnGetHeight 加载的。 我想要弄清楚鼠标当前在 mousemove 事件中位于 HeightField 上的哪个
我是一名优秀的程序员,十分优秀!