Отображение 2D-проекции обратно в 3D-облако точек

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

Вопрос в том, как я могу определить соответствие между пикселем из плана 2D-проекции и его соответствующей вершиной (или гранью) из исходной 3D-модели.

А именно,
Каковы ближайшие вершины в 3D-модели для данного пикселя из 2D-проекции?
Похоже на проблему выбора в openGL или трассировки лучей. Однако есть ли какое-нибудь простое решение?

Идея трассировки лучей фактически сводится к нахождению первой вершины / грани, пересекающейся с лучом с точки обзора. Может кто-нибудь показать мне какой-нибудь учебник или примеры? Я хотел бы найти алгоритм, независимый от использования OpenGL.

5
задан Phrogz 4 April 2011 в 22:07
поделиться