Skip to main content

Что такое камера OpenGL®?

«Камера OpenGL®» - это имя, присвоенное виртуальной позиции зрителя в сцене Open Graphics Library® (OpenGL®). Он определяется положением зрителя в сцене, а затем местоположением или направлением, в котором смотрит зритель. Положение камеры в сцене OpenGL® будет определять, какая часть сцены будет отображаться на устройстве отображения и под каким углом. Для описания камеры OpenGL® используются две матрицы: матрица вида модели и матрица проекции, которые описывают положение камеры и способ визуализации объектов, на которые она смотрит, соответственно. Камера может перемещаться в пределах сцены, чтобы показывать различные области или моделировать движение, хотя во многих случаях легче или эффективнее перемещать объекты в сцене вместо камеры.

При изучении OpenGL® некоторым программистам трудно понять относительно абстрактные свойства камеры OpenGL®. Во многом это связано с тем, что некоторые преобразования и другие функции не работают на камере таким же образом, как на стандартном объекте OpenGL®. Кроме того, сложные операции с камерой OpenGL® обычно требуют знания математики математиков и понимания конвейера преобразования OpenGL®. Есть несколько удобных функций в поддержке библиотек OpenGL®, хотя в более интерактивных приложениях бывает сложно полагаться исключительно на вспомогательные инструментарии.

Положение камеры OpenGL® определяется с использованием матрицы вида модели. Камеру можно расположить в любом месте сцены и переместить или повернуть вдоль любой оси. Во многих приложениях, особенно в приложениях, которые содержат только несколько объектов, может быть проще применять обратные преобразования к объектам в сцене, чтобы создать видимость движения. По сути, в этом случае вся сцена движется вокруг статической камеры. Для больших сцен может быть проще справиться со сложностями конвейера и математической математики, чтобы свободно перемещать камеру, оставляя сцену неподвижной.

Атрибуты камеры OpenGL® контролируются проекционной матрицей. Чтобы использовать аналогию с камерой, проекционная матрица может рассматриваться как тип используемого объектива. Матрица проекций часто модифицируется для создания ортографических проекций, которые не имеют регулировки перспективы, и перспективных проекций, которые учитывают расстояние при определении размера объектов. Другие эффекты, такие как объектив «рыбий глаз», фокусное расстояние или другие пропорции, могут быть установлены с помощью проекционной матрицы.