Hi, I've got some experience doing 3D programming, but it's OLD experience, when I did all the math, transformations and projections manually.

Now I'm writing some software for the iPhone, using Open GL ES 2.0.. I have learned a lot about managing my objects, rendering, and all that, but now I'm trying to create some interaction.

I know how to detect the touch events, and can determine where a touch starts/stops on the screen, but I'm having a hard time finding a way of determining if a touch is 'on' a given object in the scene. I assume there is some function to determine if a touch 'collides' with the an element in the space, based on what was rendered there, but I can't seem to find it.

I guess I could write an algorithm to work it out, but that seems both redundant, and slow.

Please let me know if there is a function for this, and I can probably figure it out from there, although any examples/further instruction would be appreciated.