I was always afraid of making objects pickable, like they had an effect on performance like mesh intersects do. Mesh picking is just something that comes for free when calculating z-buffer, isn't it?
Effectively, yeah.. the erndering needs to know what's where in relation to the camera and what's in between will get filled in with the z-buffer, so the result is that picking can identify the drawn object in the screen representation of 3-D space, and therefore, the coords of that 3-D object.
Otherwise you'll just have a vector of infinate length.
Precisely :D If there's nothing in the way, this is exactly what you would get anyway :D - Chances are, though, you'd hit the skybox or something.