OSVR Viewer / Глаза / Поверхности
Может кто-нибудь просветить меня об архитектуре osvr?
Почему у нас больше двух глаз?
Концепция поверхностей создана, если на гарнитуре несколько экранов?
Спасибо за ваши ответы
2 ответа
Есть 2 глаза, чтобы включить будущее расширение без изменений кода. В игре для двух пользователей у вас будет 4 глаза. Если вы хотите окно предварительного просмотра из головы (между двумя глазами), это приведет к 3 глазам. Когда отслеживание глаз используется для рендеринга рендеринга со слоями, фоновые слои могут быть визуализированы из канонического вида глаза и вставки с высоким разрешением из определенных ориентаций глаза (проекция фактически проходит через узловую точку глаза, которая находится перед центр глаза, поэтому сдвигается при вращении глаза).
Несколько поверхностей на глаз также будут включать рендеринг рендеринга и поддерживать рендеринг для HMD, которые имеют сильно непрямоугольные области просмотра до применения коррекции искажения.
Я думаю, что это в основном для целей конвенции, что число является произвольным. Такого не будет в реале. Если у вас есть несколько зрителей, каждый из них будет иметь глаз "0" и глаз "1".
При использовании в качестве идентификатора / индекса он начинается с нуля, поэтому значения варьируются от 0 до (количество 1) включительно для данного средства просмотра. Использование в качестве идентификатора / индекса не имеет смысла, кроме как в сочетании с идентификатором соответствующего средства просмотра. (то есть не существует общего "глаза 0", но "зритель 0, глаз 0" имеет смысл.)
svr:: clientkit:: Описание класса Eye
Если бы у вас было несколько экранов, это, скорее всего, было бы несколькими зрителями, поскольку Surface - это концепция, которая связана с Viewer и Eye:
Оболочка для зрителя, глаза и поверхности, привязанная к конфигурации дисплея.
osvr:: clientkit:: Справочник классов поверхностей
Класс Surface содержит информацию, такую как projectionMatrix и distortion.