   Object Selection
  What is the best way to determine when a mouse click lands on an object in a 3d world?  In OpenGl, is using gluUnProject() a viable option? (And then using the object coordinates it returns to determine which object the coordinates are closest to)As another option, creating a ray, modifying it by the projection matrix and tracing it through the scene to find the nearest collision. But this doesn't seem like it would perform as well as the first method.Are there any other methods?   
  The methods I'm familiar with (in OpenGL at least) are:- Using OpenGL feedback mode- Using color buffer tricks- Using a pick ray (as you mentioned)I don't know of any data comparing performance between the methods, but my guess would be that the last would perform as well or better than the others since it doesn't require any extra rendering passes.Also note that unprojecting a single point probably won't work, since a mouse click corresponds to a ray, not a point. So I'd recommend the ray-tracing method. You can use gluUnproject() to build the ray, and then intersect it with the bounding volumes of your objects. Depending on the number of objects in your scene, you might also add a broad-phase pass to improve performance.   