К чему повторяться: метод рендеринга YORO делает стерео из моно


Новый метод стереорендеринга с шуточным названием You Only Render Once (YORO) экономит вычислительные ресурсы систем виртуальной реальности за счёт синтеза изображения для второго глаза вместо отрисовки классическими средствами. Как и с фовеальным рендерингом, ресурсы можно перенаправить на повышение частоты кадров или просто не использовать.

YORO — это каламбур с выражением You Only Live Once, англоязычным фразеологизмом «Живём лишь раз». Здесь же для стереоскопического изображения «лишь раз» нужно рендерить моноскопическое изображение. Дальше за дело берутся системы репроецирования и патчинга. Важно отметить, что в процессе не участвуют нейронные сети, а значит, в нём не будет галлюцинаций.

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

Далее в дело вступает патчинг. Лёгкий шейдер изображения применяет фильтр с учётом глубины к перекрытым пикселям, отмеченным на этапе репроекции, размывая фон.

Исследователи утверждают, что YORO снижает нагрузку на графический процессор более чем на 50%, а синтетика в большинстве случаев работает «без заметных потерь».

В реальном тесте на Quest 2 с образцом VR Beginner: The Escape Room YORO увеличивает частоту кадров на 32%, с 62 до 82 кадров в секунду.

Проблемой остаётся экстремально ближнее поле зрения. Стереодиспаратность естественным образом растёт по мере приближения объекта к глазам, поэтому в какой-то момент подход YORO просто перестаёт работать. В таких случаях исследователи предлагают просто возвращаться к обычному стереорендерингу. Это можно делать даже для отдельных объектов, расположенных очень близко к глазам, а не для всей сцены.

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

Исходный код YORO для Unity есть на GitHub под лицензией GNU General Public License (GPL). Разработчики приложений уже могут применять технологию.

Авторами исследования выступили сотрудники Калифорнийского университета в Сан-Диего, Колорадского университета в Денвере, Университета Небраски в Линкольне и Гуандунского технологического университета из Китая.

Не пропускайте важнейшие новости о дополненной и виртуальной реальности — подписывайтесь на Голографику в Telegram, ВК и Twitter! Поддержите проект на Boosty.

Далее: Новый Помощник в редакторе миров Horizon Worlds может генерировать интерактивные объекты по описанию