Камера против видового экрана

23

У меня нет четкого понимания, в чем именно разница между координатами камеры и координатами области просмотра. Кто-нибудь может уточнить, пожалуйста?

Код Вейдер
источник

Ответы:

40

Камера похожа на камеру, с которой снимается фильм о Бэтмене. Он существует в виртуальном мире и может перемещаться, ориентируясь на разные сцены, изменяя фокусное расстояние и другие свойства камеры. Вы можете иметь много камер и переключаться между ними. Вы даже можете снимать на несколько камер одновременно.

Типичные координаты камеры: положение в виртуальном мире, направление взгляда, вектор вверх, поле обзора и т. Д.

Viewport - это экран кинотеатра. Это место, где отображается изображение, записанное камерой. В мире ПК это область на экране в каком-либо окне или полноэкранное изображение. Вы можете показывать каналы с нескольких камер одновременно (как в тех играх с консольными гонками между 2-4 игроками).

Типичные координаты области просмотра: позиция на дисплее, высота и ширина.

Кромстер говорит, что поддерживает Монику
источник
0

Координаты области просмотра - это координаты места, где он находится на экране. (Например, внутри окна win32).

Координаты камеры - это положение камеры ВНУТРИ области просмотра, которая находится внутри 2D / 3D-пространства, установленного в приложении OpenGL. Камера не может выйти за пределы этого окна, потому что она находится в том пространстве, которое вы установили, где opengl может выполнять свою работу, в окне Win32.

Dries
источник
Это не совсем точно. Окно просмотра определяет отображение из пространства NDC в пространство окна для преобразования вершин. В более старых версиях GL это отображение также применялось к преобразованию положения растра (но оно было удалено). Тем не менее, существует много операций GL, которые не ограничиваются преобразованием вершин, и, таким образом, вы можете делать такие вещи, как очистка цветового буфера за пределами области просмотра. Фактически, единственный способ ограничить очистку буфера определенной областью кадрового буфера - это использовать совсем другое, называемое ножничным боксом ( glScissor (...)).
Андон М. Коулман