Projection matrix in D3D
матрица вида (настраивается на основе того, где и как раположен наблюдатель). Устанавливается при помощи функции SetTransform(D3DTS_VIEW)
матрица проекции (угол обзора, aspect ratio, ближнаяя и дальняя видимые плоскости). Устанавливается при помощи функции SetTransform(D3DTS_PROJECTION)
Так вот, представьте себе, что пользователь кликнул мышой в каком либо месте экрана. Как мне расчитать на основе вышеуказанных матриц вектор, один конец которого совпадает с наблюдателем, а второй конец направлен в точку, куда кликнулся пользователь?
Цитата:
Originally posted by S_T
Так вот, представьте себе, что пользователь кликнул мышой в каком либо месте экрана. Как мне расчитать на основе вышеуказанных матриц вектор, один конец которого совпадает с наблюдателем, а второй конец направлен в точку, куда кликнулся пользователь?
Так вот, представьте себе, что пользователь кликнул мышой в каком либо месте экрана. Как мне расчитать на основе вышеуказанных матриц вектор, один конец которого совпадает с наблюдателем, а второй конец направлен в точку, куда кликнулся пользователь?
Нужно уточнение: тебе нужен именно вектор или обьект на который кликнул юзер? Вектор: три кординаты в пространстве, и здесь тяжело(если не сказать "не реально") будет определить "глубину" клика мышей, думаю легче найти обьект на который юзер кликнул, используя буфер проекции. Если это то что тебе надо - кину код.