Snooket Game Help!!!

Started by
-1 comments, last by sharathm 18 years, 5 months ago
I have setup my screen with the following information for the view and projection matrices. ------------------------------------------------------------------------- D3DXVECTOR3 position(0.0f, 0.0f, -5.0f); D3DXVECTOR3 target(0.0f, 0.0f, 0.0f); D3DXVECTOR3 up(0.0f, 1.0f, 0.0f); D3DXMatrixLookAtLH(&V, &position, &target, &up); D3DXMatrixPerspectiveFovLH( &proj, D3DX_PI/2, // 90 - degree (float)WINDOW_WIDTH / (float)WINDOW_HEIGHT, 1.0f, 7.0f); ------------------------------------------------------------------------- I have used the following formula to convert a mouse point to its corresponding view space co-ordinates. -------------------------------------------- #define WINDOW_WIDTH 800 #define WINDOW_HEIGHT 600 struct Point { Type x; Type y; }; Point<float> p; Point<int> s; p.x=(((2.0f*s.x)/WINDOW_WIDTH)-1.0f)/proj(0,0); p.y=(((-2.0f*s.y)/WINDOW_HEIGHT)+1.0f)/proj(1,1); --------------------------------------------- The problem is that the value computed is not accurate. At point (400,300) of mouse it accurately shows (0,0) as the view space co-ordinate but i have drawn a sphere at (0,0,0) and it doesnt align with this. The sphere seems to be a little above this point. I am unable to convert my mouse co-ordinate to a view space 3D co-ordinate. The basic idea here is that i need to pick a location on the screen so that i can set the direction vector of the cue-ball to that direction. But i am unable to do tat... Is there any way to get a vector from the current location of the cue-ball to the point that i clicked?? Any sort of help in this matter is appreciated...

This topic is closed to new replies.

Advertisement