(Компьютерная графика) Получение координаты мыши после перевода и поворота мировой матрицы

#c# #directx #direct3d #managed-directx

#c# #directx #direct3d #управляемый -directx

Вопрос:

Привет, есть ли какой-либо способ получить X, Y, Z мыши в direct3d после перевода и поворота мировой матрицы?

Ответ №1:

Мышь не имеет координаты Z, потому что это не трехмерное указывающее устройство.

Лучшее, что вы можете сделать, это спроецировать координату мыши (x, y) на экран через усеченную область просмотра, чтобы определить, какая часть усеченной области просмотра соответствует положению пикселя под курсором мыши.

Ответ №2:

DirectX совершенно не знает о мыши и любых других устройствах ввода. Это просто не то, о чем он заботится.

Для получения x и y координат вы вызываете функции Win32 API (это зависит от используемой вами платформы)

Чтобы получить z координату, необходимо реализовать выбор луча. Единого способа не существует, поскольку это зависит от того, как реализованы выбранные объекты. Вот несколько руководств по выбору XNA.