   Selecting a point on a map in a 3D world
  I have a 3D world and in it a 2D map layed out so I am looking down on it. I want to use the mouse and click on a certain location on this map. But I can't figure out how to translate screen coordinates to world coordinates. I still need a 3D world for other things, but selecting things on the map is done only in 2D obviously.I thought I would do it by calculating the ratio between how big the viewport is and how much of the world I am seeing with field of view and height of the camera, but failed.Any ideas how I could do this?   
Picking is what you want.   ;  There is also a Pick example in one of the SDKs, as I remember.If you want to use D3DXIntersect, it requires that what you're picking is a mesh. I don't know if your world is a vertex buffer or a mesh.Also, depending on your need for speed, D3DXIntersect is s..l..o..w.In general, the principle involved is, when the mouse is clicked, grab the mouse position and "unproject" it. Setup a direction vector = unprojected point - eye position to use with D3DXIntersect.;  Picking hehe, now I'll remember that word.I have a problem tho. In the first google link there is some source code and one line reads:D3DXMatrixInverse( &m, NULL, &matView );But working in c#, I have a m.Invert() function, but it doesn't take any parameters like the one above does with matView?edit nevermind, figured it out![Edited by - markookram on February 26, 2008 1:25:45 PM];  Hi,not sure if this solves your problem but have you tried Vertex3.Project(...) and Vertex3.Unproject(...). This should help you to convert between the screen and the 3D world space.Jirka (George)