我正在使用
worldview_inverse * (projection_inverse * vector)
将屏幕空间坐标转换为世界空间坐标。我以为
(x,y,1,1)
将转换为远平面上的一个点,而
(x,y,-1,1)
转换为近平面上的一个点,并连接线我可以查询与线相交的视锥体中的所有对象。转换后,我将结果点除以它们各自的 .w 分量。这适用于远平面,但近平面上的点不知何故被转换为世界空间原点。
我认为这与我输入逆投影的 1 的 w 分量有关,因为通常它在投影之前是 1,而不是之后,我正在做逆投影。我究竟做错了什么?