我在 Direct3D 画布上有一个背景图像。我正在背景的特定位置画一个圆圈。使用相机(使用世界/视图/投影)缩放/平移画布后,更新背景。
现在的问题是,我在图像上找不到以前的位置来重画圆圈。我正在使用以下函数(DirectX 11.1)来查找坐标。但它不起作用。
XMVECTOR Camera::Unproject(Windows::Foundation::Rect viewPort, Windows::Foundation::Point location)
{
XMFLOAT3 worldPosition(location.X, location.Y, 0.0f);
XMVECTOR worldVector = XMLoadFloat3(&worldPosition);
return XMVector3Unproject(worldVector, viewPort.X, viewPort.Y, viewPort.Width, viewPort.Height, 0.0f, 1.0f, this->Projection(), this->View(), this->World());
}
我什至尝试将 XMMatrixIdentity 作为世界。但没有成功。谁能帮帮我吗?