Original Post
We spent almost the whole day tring to figure out how to use the Vector3.Project() and browsing the web for help :-(( The idea is to draw a line between 2 3D objects. To do so, we understood that we have to use the Vector3.Project() method. Here is a sample of what we tried: 1) we draw a ball at position (0,0,-200) 2) we used the code snippet below to draw a line starting at position (0,0,-200) [ball position]. To do so, we used the Vector3.Project() passing the (0,0,-200) value to get a coordinate in screen space so as to feed the Direct3D.Line()) --> The rendered line does not (AT ALL) start at the ball position.... We are lost ... and the MS documentation, on this subject, is by far the worste we have seen so far. Thanks for any help, José Code snippet: -------------- translationX = 0.0f; translationY = 0.0f; translationZ = -200.0f; UpdateTranslationAndRotation(); // Update the Device.Transform.World equalizerlightTest.Render(device, true, false); // Render mesh in the 3D environment // Get the 2D represention Vector3 v3D = new Vector3(translationX, translationY, translationZ); v3D.Project(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World); // Draw a line (using Direct3D.Line) Vector2[] v = new Vector2[2]{new Vector2(v3D .X, v3D .Y), new Vector2(v3D .X + 300, v3D .Y+ 300)}; _lin.Begin(); _lin.Draw(v, Color.Red); _lin.End();