У меня есть фоновое изображение на холсте 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 в качестве мира. Но никакого успеха. Кто-нибудь может мне помочь, пожалуйста!