netlib.narod.ru | < Назад | Оглавление | Далее > |
Порт просмотра (viewport) — это термин, используемый в Direct3D для камеры. Порт просмотра определяет местоположение зрителя и направление просмотра сцены. Порт просмотра может применяться для настройки параметров поля зрения, переднего и заднего отсечения и перспективных преобразований. Порт просмотра можно анимировать, чтобы имитировать перемещение пользователя в виртуальном окружении.
Порт просмотра представляется интерфейсом Direct3DRMViewport и создается функцией CreateViewport() интерфейса Direct3DRM:
d3drm->CreateViewport(device, camera, 0, 0, device->GetWidth(), device->GetHeight(), &viewport);
Переменная d3drm является указателем на интерфейс Direct3DRM. Переменная device указывает на интерфейс Direct3DRMDevice. Переменная camera — это фрейм, определяющий местоположение и ориентацию порта просмотра. Мы подробнее обсудим фреймы далее в этой главе.
Параметры поля зрения (field-of-view, FOV) могут настраиваться посредством функции SetField(). Значение FOV по умолчанию равно 0.5. Меньшие значения сужают угол зрения, подобно длиннофокусному объективу. Большие значения увеличивают угол зрения, имитируя эффект широкоугольного объектива. Отрицательные значения не допускаются.
Порт просмотра управляет передней и задней плоскостями отсечения. Для определения области перед камерой, в которой объекты будут видимы, можно использовать функции SetFront() и SetBack(). Объекты, расположенные за этой областью, не будут визуализироваться. Заданные по умолчанию значения для передней и задней плоскостей отсечения равны 1 и 100 соответственно.
netlib.narod.ru | < Назад | Оглавление | Далее > |