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 を世界として試してみました。しかし、成功しません。誰でも私を助けてもらえますか?