OpenXR OpenXR
Опенкср — это общедоступный Стандарт API из кхронос, предоставляющий модули с собственным доступом к диапазону устройств в разных спектрах смешанной реальности. OpenXR is an open royalty-free API standard from Khronos, providing engines with native access to a range of devices across the mixed reality spectrum.
Вы можете разрабатывать приложения, используя OpenXR с HoloLens 2 или иммерсивную гарнитуру Windows Mixed Reality с компьютером. You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. Если у вас нет доступа к гарнитуре, можно использовать эмулятор HoloLens 2 или симулятор Windows Mixed Reality. If you don’t have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.
Зачем Опенкср? Why OpenXR?
С помощью Опенкср можно создавать модули, предназначенные для таких устройств, как HoloLens 2, и впечатляющие устройства, такие как гарнитуры Windows Mixed Reality для настольных ПК. With OpenXR, you can build engines that target both holographic devices, like HoloLens 2, and immersive devices, like Windows Mixed Reality headsets for desktop PCs. Опенкср позволяет написать код, который затем будет переносимым на широком диапазоне аппаратных платформ. OpenXR lets you write code once that’s then portable across a wide range of hardware platforms.
API Опенкср использует загрузчик для подключения приложения непосредственно к собственной поддержке платформы вашей гарнитуры. The OpenXR API uses a loader to connect your application directly to your headset’s native platform support. Конечные пользователи получают максимальную производительность и минимальную задержку независимо от того, используете ли они Windows Mixed Reality или другие гарнитуры. End users get maximum performance and minimum latency, whether they’re using a Windows Mixed Reality or any other headset.
Что такое OpenXR? What is OpenXR?
API Опенкср предоставляет основные функции прогнозирования, работы с кадрами и пространственного ввода. вам потребуется создать подсистему, которая может ориентироваться на как holographic, так и впечатляющие устройства. The OpenXR API provides the core pose prediction, frame timing, and spatial input functionality you’ll need to build an engine that can target both holographic and immersive devices.
Чтобы узнать об API Опенкср, ознакомьтесь со спецификациейопенкср 1,0, справочником по APIи кратким справочником. To learn about the OpenXR API, check out the OpenXR 1.0 specification, API reference, and quick reference guide. Дополнительные сведения см. на странице Кхронос опенкср. For more information, see the Khronos OpenXR page.
Чтобы ориентироваться на полный набор функций HoloLens 2, вы также будете использовать расширения Опенкср, относящиеся к поставщику и поставщику, которые предоставляют дополнительные функции за пределами ядра Опенкср 1,0, такие как отслеживание, отслеживание глаз, пространственное сопоставление и пространственные привязки. To target the full feature set of HoloLens 2, you’ll also use cross-vendor and vendor-specific OpenXR extensions that enable additional features beyond the OpenXR 1.0 core, such as articulated hand tracking, eye tracking, spatial mapping, and spatial anchors. Дополнительные сведения см. в разделе «планы » ниже на расширениях, которые появятся позже в этом году. For more information, see the Roadmap section below on the extensions coming later this year.
Опенкср не является механизмом смешанной реальности. OpenXR isn’t itself a mixed reality engine. Вместо этого Опенкср позволяет использовать такие модули, как Unity и Нереал, для написания переносимого кода, который затем может получить доступ к функциям собственной платформы в holographic или иммерсивное устройство пользователя, независимо от поставщика, созданного этой платформой. Instead, OpenXR enables engines like Unity and Unreal to write portable code once that can then access the native platform features of the user’s holographic or immersive device, whatever vendor built that platform.
Схема действий Roadmap
Спецификация Опенкср определяет механизм расширения, позволяющий разработчикам среды выполнения предоставлять дополнительные функциональные возможности за пределами основных функций , определенных в базовой спецификации опенкср 1,0. The OpenXR specification defines an extension mechanism that enables runtime implementers to expose additional functionality beyond the core features defined in the base OpenXR 1.0 specification.
Существует три вида расширений Опенкср: There are three kinds of OpenXR extensions:
- Расширения поставщика (например, MSFT ): включает инновации для каждого поставщика в аппаратных или программных функциях. Vendor extensions (for example, MSFT ): Enables per-vendor innovation in hardware or software features. Любой поставщик среды выполнения может в любое время внедрить и поставлять расширение поставщика. Any runtime vendor can introduce and ship a vendor extension at any time.
- Экспериментальные расширения поставщиков (например, MSFT_preview ): экспериментальные расширения поставщиков, которые можно просмотреть для сбора отзывов. Experimental vendor extensions (for example, MSFT_preview ): Experimental vendor extensions being previewed to gather feedback. MSFT_preview расширения предназначены только для устройств разработчика и будут удалены при поставке настоящего расширения. MSFT_preview extensions are for developer devices only and will be removed when the real extension ships. Чтобы поэкспериментировать с ними, можно включить расширения предварительного просмотра на устройстве разработчика. To experiment with them, you can enable preview extensions on your developer device.
- Расширения кросс-поставщика EXT : расширения кросс-поставщика, которые определяются и реализуются несколькими компаниями. Cross-vendor EXT extensions: Cross-vendor extensions that multiple companies define and implement. Группы заинтересованных компаний могут в любое время внедрять расширения EXT. Groups of interested companies can introduce EXT extensions at any time.
- Официальные KHR расширения: официальные расширения кхронос ратифицирован в рамках основной версии спецификации. Official KHR extensions: Official Khronos extensions ratified as part of a core spec release. Расширения КХР охватываются той же лицензией, что и Основная спецификация. KHR extensions are covered by the same license as the core spec itself.
По состоянию на июль 2020 среда выполнения Windows Mixed Reality поддерживает набор MSFT EXT расширений и, которые переносят полный набор функций HoloLens 2 в приложения опенкср: As of July 2020, the Windows Mixed Reality OpenXR Runtime supports a set of MSFT and EXT extensions that brings the full set of HoloLens 2 features to OpenXR applications:
Область применения компонента Feature area | Доступность расширения Extension availability |
---|---|
Системы + сеансы Systems + sessions | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrInstance , XrSystemId , XrSession XrInstance , XrSystemId , XrSession |
Справочные пространства (Просмотр, локальный, этап) Reference spaces (view, local, stage) | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrSpace |
Просмотр конфигураций (моно, стерео) View configurations (mono, stereo) | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrView. |
Цепочек переключений + время кадров Swapchains + frame timing | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrSwapchain. + xrWaitFrame |
Слои композиции Composition layers (проекция, четыре) (projection, quad) | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrCompositionLayer. + xrEndFrame |
Входные и хаптикс Input and haptics | Базовая спецификация Опенкср 1,0: OpenXR 1.0 core spec: XrAction. |
Интеграция Direct3D 11 Direct3D 11 integration | KHR Выпущено официальное расширение: Official KHR extension released: XR_KHR_D3D11_enable |
Интеграция Direct3D 12 Direct3D 12 integration | KHR Выпущено официальное расширение: Official KHR extension released: XR_KHR_D3D12_enable |
Несвязанное пространство ссылок (возможности мирового масштаба) Unbounded reference space (world-scale experiences) | MSFT выпущенное расширение: MSFT extension released: XR_MSFT_unbounded_reference_space |
Пространственные привязки Spatial anchors | MSFT выпущенное расширение: MSFT extension released: XR_MSFT_spatial_anchor |
Взаимодействие с рукой (захват/AIM, воздушный нажим, посвятка) Hand interaction (grip/aim pose, air-tap, grasp) Только HoloLens 2 HoloLens 2 only | MSFT выпущенное расширение: MSFT extension released: XR_MSFT_hand_interaction |
Сетка руки артикулатион + Hand articulation + hand mesh Только HoloLens 2 HoloLens 2 only EXT расширение, выпущенное в среде выполнения 102: EXT extension released in runtime 102: MSFT расширение, выпущенное в среде выполнения 102: MSFT extension released in runtime 102: | |
Отслеживание глаз Eye gaze Только HoloLens 2 HoloLens 2 only | EXT выпущенное расширение: EXT extension released: XR_EXT_eye_gaze_interaction |
Взаимодействие с другими пакетами SDK для HoloLens Interop with other HoloLens SDKs (например, QR) (for example, QR) Только HoloLens 2 HoloLens 2 only MSFT расширение, выпущенное в среде выполнения 102: MSFT extension released in runtime 102: Только HoloLens 2 HoloLens 2 only | MSFT расширения, выпущенные в среде выполнения 102: MSFT extensions released in runtime 102: XR_MSFT_secondary_view_configuration XR_MSFT_first_person_observer |
Взаимодействие с API CoreWindow UWP Interop with UWP CoreWindow API (например, для клавиатуры или мыши) (for example, for keyboard/mouse) | MSFT расширение, выпущенное в среде выполнения 103: MSFT extension released in runtime 103: XR_MSFT_holographic_window_attachment |
Профили взаимодействия контроллера движения (Samsung Одиссэй и HP REVERB G2) Motion controller interaction profiles (Samsung Odyssey and HP Reverb G2) | MSFT расширения, выпущенные в среде выполнения 103: MSFT extensions released in runtime 103: XR_EXT_samsung_odyssey_controller XR_EXT_hp_mixed_reality_controller |
Модели отрисовки контроллера движения Motion controller render models | MSFT расширение в среде выполнения предварительной версии 104: MSFT extension in preview runtime 104: XR_MSFT_controller_model |
Основные сведения о сцене (плоскости, сетки) Scene understanding (planes, meshes) Только HoloLens 2 HoloLens 2 only MSFT_preview расширение в будущей среде выполнения предварительной версии (запланированное) MSFT_preview extension in future preview runtime (planned) | |
Другие расширения кросс-поставщика Other cross-vendor extensions |