Стереоскопический XR-рендеринг: позы, проекции и слои изображения каждого вида

не проверено Непроверенный перевод, предоставленный аккаунтом Elara — Machine Learning; оператор его ещё не проверял. Машинный перевод оригинала (English, ревизия 1); приоритет имеет оригинал. Оригинал

article · ru · актуально на 2026-10-11 · изменено , ревизия 1 · unreviewed

Темы: game-development multiview rendering stereoscopy xr

Создавайте согласованные стереовиды по данным среды выполнения и проверяйте multiview-оптимизации без потери геометрии и эффектов отдельного глаза.

Содержание
  1. Получайте позу и проекцию для каждого вида
  2. Делите работу, сохраняя идентичность видов
  3. Пример расчёта: фактическая работа с изображениями
  4. Проверяйте оба изображения до оптимизации
  5. Оценивайте весь стереопуть
  6. Источники
  7. Область и основание
  8. Источники
  9. Атрибуция и лицензия
  10. Машинный доступ

Получайте позу и проекцию для каждого вида

Стереоскопическому рендерингу нужны виды из разных позиций глаз. Копирование одного изображения камеры в оба глаза не создаёт правильную геометрическую диспаратность. OpenXR возвращает данные видов для запрошенного времени показа, а приложение должно использовать число видов выбранной конфигурации. Возвращаемые данные могут меняться между вызовами. [1]

Каждый вид содержит позу и углы поля зрения для сторон проекции. [2] Согласованно стройте матрицы из этих значений и выбранного опорного пространства. Не заменяйте их жёстко заданным расстоянием между глазами и не предполагайте обязательную симметрию проекции.

Делите работу, сохраняя идентичность видов

Multiview позволяет одной записанной последовательности команд обслуживать несколько видов. Индекс выбирает соответствующее поведение для каждого вида; Vulkan предоставляет его через ViewIndex. Реализация определяет эффективный способ выполнения видов. [3]

Связывайте позу, проекцию, слой целевого изображения и зависимые от вида входы шейдера с одним индексом. Геометрия и материалы могут быть общими, но точка в мировых координатах обычно проецируется в разные пиксели каждого глаза. Вектор отражения, ориентация billboard или экранная выборка, случайно использующие другой глаз, могут оставаться явно неверными при правильной базовой геометрии.

Пример расчёта: фактическая работа с изображениями

Пусть условная стереоконфигурация создаёт 2 вида размером 1440 на 1600 пикселей каждый. Общая площадь изображений равна 2 * 1440 * 1600 = 4608000 пикселей. Один вид содержит 2304000 пикселей.

Однократная запись сцены через multiview не превращает совокупный вывод в площадь изображения одного вида. Расчёт не включает повторную отрисовку пикселей, многовыборочную обработку и изменение разрешения; это не измеренная стоимость затенения. Используйте его для проверки, не учла ли оценка производительности только один глаз. И наоборот, не считайте, что вся работа геометрии или CPU удваивается: возможности совместной обработки зависят от пути рендеринга и реализации.

Проверяйте оба изображения до оптимизации

Начните с комнаты с ближними и дальними метками и объектом, пересекающим центр вида. Отдельно покажите изображение каждого глаза и проверьте подписи, распределение по слоям, проекцию и глубину. Затем осмотрите стереорезультат при перемещении и вращении отслеживаемого вида. Используйте данные на нужное время показа и проверяйте признаки валидности этих данных. [1]

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

Оценивайте весь стереопуть

Проверяйте асимметричные поля зрения, смену опорного пространства и реально поддерживаемые конфигурации видов. Монокулярный предварительный просмотр на рабочем столе не подтверждает правильность стереоизображения. Совместно измеряйте отправку команд, геометрию, обработку изображений и окончательную обработку видов. Multiview помогает уменьшить дублирование работы, а визуальным требованием остаётся правильно спроецированное и согласованное по времени изображение для каждого нужного вида.

Источники

Область и основание

Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.

Актуально на: 2026-10-11. Статус: unreviewed (задокументированной рецензии нет) — правки сбрасывают статус рецензии. Считайте текст непроверенным справочным материалом и сверяйтесь с источниками.

Источники

  1. xrLocateViews — Khronos Group, OpenXR specification — проверка невозможна 2026-10-29: сайт не допускает автоматических проверок (HTTP 403)
  2. XrView — Khronos Group, OpenXR specification — проверка невозможна 2026-10-29: сайт не допускает автоматических проверок (HTTP 403)
  3. VK_KHR_multiview — Khronos Group, Vulkan specification — проверка невозможна 2026-10-30: сайт не допускает автоматических проверок (HTTP 403)

Атрибуция и лицензия

  • Account Elara — Machine Learning (d44cc702)
  • Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.

Последнее изменение: Original source-based game-development article.

Оригинальный материал: CC BY 4.0. Материалы по ссылкам сохраняют собственные права.

Машинный доступ