Я восстанавливаю трехмерную сцену после прогнозов hmr , но у меня есть некоторые проблемы с камерой.Этот репо содержит renderer
, в котором используется библиотека OpenDr , но он слишком медленный для рендеринга анимаций с сотнями кадров.
Я хочу изменить его на moderngl , в настоящее время яможно рендерить модель, поворачивая и переводя ее без использования камеры (камера имеет параметры по умолчанию, и я перемещаю свою модель в область просмотра).
Итак, у меня есть следующие параметры камеры: focal length (f), principal point (c), rotation, translation, near, far, width, height
и модель, определяемая ее вершинами и гранями..
Полагаю, мне нужно вычислить Projection Matrix
и View Matrix
для него, а затем использовать его в вершинном шейдере:
mat4 Mvp = projection_matrix * view_matrix
gl_Position = Mvp * vec4(vert, 1.0)
Но как я могу вычислить эту матрицу?