Впервые на русском: Документация Oculus для разработчиков. Руководство ПК SDK для разработчика. Интеграция LibOVR

Продолжаем публикацию эксклюзивной информации для разработчиков от Oculus. Новый раздел посвящён руководству ПК SDK для разработчика. 

  1. Документация Oculus для разработчиков:
    1. Введение в рекомендации
    2. Бинокулярное зрение, стереоскопическая визуализация и индикаторы глубины
    3. Поле зрения и масштаб
    4. Методы рендеринга
    5. Движение
    6. Отслеживание
    7. «Болезнь симуляции»
    8. Пользовательский интерфейс
    9. Пользовательский ввод и навигация
    10. Заключение
    11. Введение в SDK для ПК
    12. Руководство разработчика
    13. Руководство по началу работы с ПК SDK
    14. Руководство ПК SDK для разработчика. Интеграция LibOVR
    15. Инициализация и перечень сенсоров
    16. Рендеринг в Oculus Rift
    17. Расширенная настройка рендеринга
    18. Управление связью с виртуальной реальностью
    19. Система безопасности Oculus Guardian
    20. Аудио Oculus Rift
    21. Контроллеры Oculus Touch
    22. Дополнительная информация об Oculus Touch
    23. Примеры использования SDK и геймпада
    24. Оптимизация вашего приложения
    25. Подключение контроллеров Oculus Touch
    26. Асинхронный SpaceWarp
    27. Дополнительная информация о подключении контроллеров Oculus Touch
    28. Справочная информация

Чтобы оставаться в курсе новостей о виртуальной реальности, подписывайтесь на наш Telegram!

В этом руководстве описывается использование пакета SDK для ПК и рассматриваются следующие темы:

  • Инициализация сенсора
  • Рендеринг и продвинутый рендеринг
  • Управление фокусировкой в виртуальной реальности
  • Пространственное аудио
  • Oculus Touch

Кроме того, оно содержит информацию о сэмплах SDK, Oculus Debug Tool и Performance HUD.

Интеграция LibOVR

Oculus SDK разработан таким образом, чтобы его можно было легко интегрировать. В этом руководстве представлена базовая интеграция Oculus с движком или приложением на C/C ++.

Мы обсудим инициализацию LibOVR, перечень шлемов виртуальной реальности, отслеживание головы, синхронизацию кадров и рендеринг для Oculus Rift.

Многие примеры кода, приведенные ниже, взяты непосредственно из исходного кода демо-версии OculusRoomTiny (доступно в Oculus/LibOVR/Samples/OculusRoomTiny). OculusRoomTiny и OculusWorldDemo – отличные возможности для просмотра примера кода для интеграции, если у вас возникают сомнения относительно конкретной системы или функции.

Обзор SDK

При использовании SDK существуют три основные фазы: настройка, игровой цикл и завершение работы.

Чтобы добавить поддержку Oculus в новое приложение, выполните следующие действия:

1. Инициализируйте LibOVR через ovr_Initialize.

2. Вызовите ovr_Create и проверьте возвращаемое значение, чтобы убедиться, что оно выполнено успешно. Вы можете периодически проверять факт присутствия шлема виртуальной реальности с помощью ovr_GetHmdDesc(nullptr).

3. Интегрируйте отслеживания головы в код просмотра и движения вашего приложения. Это включает в себя:

  • Получение прогнозируемой ориентации гарнитуры для фрейма посредством комбинации вызовов GetPredictedDisplayTime и ovr_GetTrackingState calls.
  • Применение ориентации и положения Oculus Rift к обзору камеры в сочетании с другими элементами управления приложениями.
  • Изменение движения и игрового процесса для ориентации головы.

4. Инициализируйте рендеринг для шлема виртуальной реальности.

  • Выберите такие параметры рендеринга как разрешение и поле зрения, которые базируются на возможностях шлема виртуальной реальности.

См. также: ovr_GetFovTextureSize andovr_GetRenderDesc.

  • Настройте рендеринг, создавая наборы D3D/OpenGL-specific для определенных наборов текстур свопинга, чтобы получить данные о шлеме виртуальной реальности.

См. также: ovr_CreateTextureSwapChainDX andovr_CreateTextureSwapChainGL.

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

  • Убедитесь, что ваш движок поддерживает визуализацию стерео.
  • Добавьте логику синхронизации кадров в цикл визуализации для получения правильно прогнозируемых позиций при визуализации глаз.
  • Рендерьте обзор для каждого глаза для достижения промежуточных целей визуализации.
  • Отправьте обработанный кадр в шлем виртуальной реальности, для чего вызовите ovr_SubmitFrame.

6. Настройте экраны пользовательского интерфейса, чтобы они хорошо работали внутри шлема виртуальной реальности.

7. Уничтожьте созданные ресурсы во время отключения.

См. также:  ovr_DestroyTextureSwapChain, ovr_Destroy и ovr_Shutdown.

Более подробное описание деталей рендеринга представлено в разделе «Структура схемы рендеринга».

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

 

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.