void GetPickRay2(int x, int y, DX::Vector3 %orig, DX::Vector3 %dir){ DX::Matrix proj = device->Transform->Projection; DX::Vector3 nearVec(x, y, 0), farVec(x, y, 1); nearVec.Unproject(viewport, proj, device->Transform->View, device->Transform->World); farVec.Unproject(viewport, proj, device->Transform->View, device->Transform->World); orig = nearVec; farVec.Subtract(orig); dir = farVec; }
Here x and y are in client co-ordinates.
CLIENT.
CO-ORDINATES.
DON'T.
EVER.
FORGET.
THAT.
No comments:
Post a Comment