Я возился с открытыми окнами на iphone, и сейчас у меня есть несколько кубов на экране. В настоящее время я пытаюсь обнаружить прикосновения к этим кубам. После долгих поисков в Google это то, что у меня есть
- Используйте gluUnProject, чтобы найти x, y-кординаты на ближней плоскости в мировой системе кординатов
- Используйте gluUnProject, чтобы найти x, y кординаты на далекой плоскости в мировой системе кординатов
- Вычтите вектор, полученный в 2, из вектора, полученного в 1, чтобы получить вектор направления
- Нормализовать вектор направления для получения единичного вектора
- Выполните итерацию по всем треугольникам и используйте пересечение луча с треугольником, чтобы проверить, пересекает ли луч этот треугольник
Я думаю, что моя ошибка в шаге 5. У меня такое чувство, что я должен преобразовать свои треугольники с помощью матрицы вида модели? Правильно ли мое предположение? Если да, то есть подсказки, как преобразовать треугольник (массив из 3-х чисел) с помощью матрицы вида модели (массив из 16 чисел)