Где находится камера по умолчанию? - PullRequest
0 голосов
/ 14 апреля 2020

Я читал, что если я не инициализирую его, OpenGL использует камеру по умолчанию.

В какой конфигурации эта камера? Я пробовал с некоторыми базовыми c треугольниками, и похоже, что камера находится в 0,0,1 лицом к 0,0,0, я предполагаю, что вектор Up равен 0,1,0.

Может кто-нибудь сказать мне, если это правильно? И есть ли способ изменить настройки камеры по умолчанию?

1 Ответ

2 голосов
/ 14 апреля 2020

OpenGL не имеет «камеры». Если вы не используете какие-либо преобразования (или все матрицы преобразования являются Identity matrix ), то вам необходимо указать координаты вершины в нормализованном пространстве устройства.
Нормализованное пространство устройства представляет собой уникальный куб с слева, снизу, рядом с (-1, -1, -1) и справа, сверху, далеко от (1, 1, 1).
Следовательно, первый компонент координаты вершины (x) определяет положение слева (-1) направо (1). 2-й компонент (y) определяет положение от нижней части (-1) до верхней части (1), а 3-й компонент (z) определяет форму глубины от (-1) до дальней (1).
Таким образом, " up-vector "is (0, 1, 0).

В общем, каждое me sh сцены преобразуется матрицей модели, матрицей вида и матрицей проекции. Наконец, проецируемая сцена отображается в окне просмотра.

Проекция, вид и матрица модели взаимодействуют друг с другом, чтобы представить объекты (сетки) сцены в окне просмотра. Матрица модели определяет ориентацию положения и масштаб одного объекта (me sh) в мировом пространстве сцены. Матрица вида определяет положение и направление просмотра наблюдателя (зрителя) в пределах сцены. Матрица проекции определяет область (объем) относительно наблюдателя (зрителя), который проецируется на область просмотра.

Если вы говорите о «камере», то имеете в виду матрицу вида. Матрица представления преобразует координату вершины из мирового пространства в пространство просмотра. Если вам нужна другая мировая система координат, вам нужно определить подходящую матрицу вида.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...