我想在 Directx 11 中将屏幕坐标转换为世界坐标。我发现我可以使用 function 轻松完成XMVector3Unproject
。有一个问题,我想选择我自己的 Z 坐标来告诉函数我的点离相机有多远(屏幕坐标是 2d,世界坐标是 3d)。根据我的观察,我必须弄清楚我的点在深度缓冲区上的位置。
我的深度缓冲区范围从 0.0 到 1.0(通常情况下)。我的近平面是 0.1f,远平面是 1000.0f。我知道深度缓冲区上的值不是均匀分布的。事实上,对于我的设置,20.0f 在深度缓冲区中大约为 0.995(接近平面,但在深度缓冲区中几乎一直向下)。我如何找出这些值?