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