Original Post
I have a point defined on screen, that i captured using Win32 API "GetCursorPos" and transformed it with the "ScreenToClient" in order to know where the click was made on screen. After that i created a PointF variable to keep the values of .X and .Y. I need to use that point (actually its a lot of points created that way) in a variable of type Direct3D.CustomVertex.PositionColored, in order to position the point in my 3d world. Of course that if i do something like: tmp_point = (PointF)m_pontos_coordenadas[key]; // tmp_point is a PointF variable v = new Vector3(tmp_point.X, -tmp_point.Y, 1.0f); vertexColored[internal_counter].SetPosition(v); //vertexColored[internal_counter]is a variable of type Direct3D.CustomVertex.PositionColored this wont work because one is in screen coordinates and the other is in world coordinates. How can i convert the screen coordinates to the world coordinates? my World is defined as: graphics.Transform.View = Matrix.OrthoOffCenterLH(0, screenwidth - 150, screenheight, 0, 1, 10); where screenwidth =800 and screenheight=600 Can you help? my thanks in advanced