【发布时间】:2016-02-25 01:27:41
【问题描述】:
在过去的 6 个小时里,我一直在尝试在我的 webgl 应用程序中实现点击,但我找不到任何关于这个主题的足够清楚的信息。
到目前为止,我想出的是伪代码:
screenSpace = mousePosition;
normalizedScreenSpace = (screenSpace.x/screen.width, screenSpace.y/screen.height);
camSpace = invertProjectionMatrix * normalizedScreenSpace;
worldSpace = invertViewMatrix * camSpace;
打印出世界空间坐标,不对应场景中的其他物体。我做错了什么?
【问题讨论】:
-
@LJ 这个问题的答案并不令人满意。一个链接到他的实现与非常糟糕的命名和评论,如果你还不理解它,这将毫无意义。或者对该主题进行非常高水平的评论的论文。还有一个 Three.js 版本,根本不回答这个问题。
-
接受的答案链接到the glu unproject implementation,恕我直言,它具有描述性。您的归一化在 0-1 范围内,而它应该是 -1,+1,此外您似乎没有应用透视划分。
标签: javascript math 3d webgl clicking