Вы проверяете каждый треугольник против луча. Если луч попадает в треугольник, и если он ближе, чем ближайший известный удар, вы запомните эту точку. Цикл, пока у вас больше нет треугольников.
http://www.lighthouse3d.com/tutorials/maths/ray-triangle-intersection/
Если вы используете много треугольников, это может быть медленно, поэтому вы можете построить структуру столкновений сетки b-дерева, октри, KD-дерева или сетки с множественным разрешением и сначала выполнить коллизию с широкой фазой перед тестированием треугольников, содержащихся в лист строения.