У меня есть 3D-модель, состоящая из точечных вершин (XYZ) и, в конечном итоге, треугольных граней. Используя OpenGL или проекцию матрицы вида камеры, я могу спроецировать 3D-модель на 2D-плоскость, то есть в окно просмотра или изображение с разрешением m * n.
Вопрос в том, как я могу определить соответствие между пикселем из плана 2D-проекции и его соответствующей вершиной (или гранью) из исходной 3D-модели.
А именно,
Каковы ближайшие вершины в 3D-модели для данного пикселя из 2D-проекции?
Похоже на проблему выбора в openGL или трассировки лучей. Однако есть ли какое-нибудь простое решение?
Идея трассировки лучей фактически сводится к нахождению первой вершины / грани, пересекающейся с лучом с точки обзора. Может кто-нибудь показать мне какой-нибудь учебник или примеры? Я хотел бы найти алгоритм, независимый от использования OpenGL.