空间计算正从可视化转向主动协作,这对XR硬件渲染逼真、物理精确的高保真空间内容提出了更高的GPU需求。同时,开发者必须为每个平台维护独立的代码库,每个平台都有不同的工具链、SDK和流式传输协议。
在NVIDIA GTC 2026上,NVIDIA CloudXR 6.0 推出了基于OpenXR的通用流式运行时,可跨头显、操作系统和浏览器工作——包括原生visionOS集成。下文将介绍CloudXR 6.0架构的工作原理以及如何开始构建。
图1. CloudXR 6.0架构将服务器端OpenXR应用连接到原生Apple客户端和通过CloudXR.js连接的网页浏览器
该版本专注于将某机构RTX驱动的内容扩展到任何空间显示设备,无需受限于本地硬件或手动设备配置。
某机构和某公司合作,利用visionOS 26.4提供的隐私保护注视点流式传输,为Apple Vision Pro构建了高性能桥梁。借助面向CloudXR的visionOS,开发者可以将高保真、高帧率、低延迟的图形密集型PC模拟及专业3D应用——如Autodesk VRED、iRacing和X-Plane——直接流式传输到Apple Vision Pro。
从标准高分辨率流式传输到动态注视点流式传输的转变,代表了空间内容传输方式的重要进步。在标准流式传输架构中,系统必须编码并传输4K分辨率的完整帧,以确保整个视野内的视觉清晰度。这种方法资源消耗大,常常触及网络带宽和客户端处理的极限。
图2. 动态注视点流式传输与标准4K流式传输对比
动态注视点流式传输改变了这一范式:它根据用户注视的大致位置优化内容。系统不再传输统一的4K流,而是在保持中央凹(用户注视中心)相同像素密度的同时,以1K分辨率传输。尽管数据量大幅减少,但系统仍能保持与完整4K流感知上相似的视觉质量,因为高分辨率细节始终位于用户注视的位置。
采用注视点流式传输可为开发者和企业带来四个关键优势:
visionOS与NVIDIA CloudXR的集成遵循隐私与安全设计理念。开发者可以在不访问敏感注视区域数据的情况下受益于注视点流式传输。这确保用户视线保持私密,同时应用获得必要的性能优化。
Xcode提供了一个注视点流式传输应用模板,可在数秒内创建功能完整的多平台应用。开发者只需点击几下即可获得预配置的空间流式传输基础框架。更多信息请访问开发者和文档页面。
CloudXR.js为开发者提供了零安装路径,通过单个网页链接即可访问机器人、某机构Omniverse和OpenXR内容。通过使用WebRTC和WebXR,它消除了在Meta Quest 3和PICO 4 Ultra等设备上安装原生应用的需求。更多信息请访问开发者和文档页面。
CloudXR 6.0 运行时SDK以一组共享库和C头文件的形式分发。推荐的集成路径是直接SDK集成:将CloudXR库链接到应用中,并在Windows和Linux服务器上以编程方式管理服务生命周期。这使应用能够完全控制流式传输的运行时机和方式。
CloudXR运行时SDK提供两个集成接口:OpenXR运行时清单文件 openxr_cloudxr.json 告知OpenXR加载器将应用的XR会话通过CloudXR路由;以及 cxrServiceAPI.h(一个用于管理完整服务生命周期的C API)。
完整的参考实现请参考CloudXR LÖVR示例,它展示了完整的生命周期管理和与客户端的OpenXR会话建立。使用Unreal Engine的开发者可参考专门指南。
集成CloudXR运行时到流式传输应用的高级步骤:
步骤1:从某机构NGC目录下载CloudXR 6.0运行时。软件包包含共享库、OpenXR运行时清单以及将CloudXR嵌入应用所需的集成头文件。
步骤2:将OpenXR加载器指向SDK中包含的 openxr_cloudxr.json 清单文件。这将CloudXR注册为服务器上Windows和Linux的活动运行时,使OpenXR应用自动通过CloudXR路由其会话。注册后,无需修改应用的渲染代码。平台特定的注册步骤请参阅CloudXR运行时文档。
步骤3:将应用链接到CloudXR服务库并包含 cxrServiceAPI.h。这使应用能够以编程方式控制CloudXR服务——启动时机、配置方式以及停止时机——服务作为组件与OpenXR应用一起运行。
步骤4:使用 nv_cxr_service_create() 实例化服务对象,然后在调用 start 之前使用 cxrServiceAPI.h 中的属性设置函数进行配置。属性涵盖字符串、布尔值和数值参数,包括比特率目标等选项。完整的支持属性名称和值列表请参阅CloudXR运行时文档。
步骤5:调用 nv_cxr_service_start() 使服务上线。运行后,在应用循环中轮询事件队列以跟踪连接状态——服务会在OpenXR应用和流式客户端连接或断开时发出事件。这使应用能够智能响应会话变化,例如在无客户端连接时暂停渲染,或记录生命周期事件用于诊断。
步骤6:关闭时,通知服务停止,等待其完全终止,然后释放服务对象。CloudXR运行时API参考文档涵盖了完整的关闭序列。
步骤7:对于需要与视频流一起交换自定义数据(遥测、模拟状态或标准OpenXR操作之外的命令)的应用,CloudXR支持 XR_NV_opaque_data_channel 扩展。这提供了服务器和客户端之间的双向字节通道,由共享UUID标识。集成详情请参阅CloudXR不透明数据通道文档。
对于将运行时管理与应用进程解耦更合理的Windows部署场景,CloudXR SDK还包含Stream Manager。这一独立的Windows服务通过RPC接口管理CloudXR运行时实例。当多个应用需要共享单个流式传输服务时,这特别有用。Stream Manager是与visionOS中的注视点流式传输配合工作所必需的。设置和配置请参阅CloudXR文档。
完成服务器端集成后,根据目标平台选择要集成的客户端SDK。
Apple平台(visionOS、iOS和iPadOS)
CloudXR框架以原生Swift包形式分发。在Xcode项目中添加CloudXRKit作为依赖项,初始化指向服务器的流式会话,框架会处理硬件加速视频解码、通过ARKit进行空间追踪,以及通过RealityKit进行本地场景渲染,同时流式传输RTX渲染的帧。动态注视点流式传输使用某公司的FoveatedStreaming API,将高分辨率内容传送到用户注视区域,同时保护视线数据,在不牺牲感知质量的情况下降低带宽需求。对于从头开始的开发者,CloudXR还提供了一个Xcode项目模板,无需样板代码即可引导创建Apple Vision Pro、iPhone或iPad客户端。完整技术指南请参阅面向Apple平台的空间流式传输以及Apple平台开发者页面。
网页浏览器和独立头显(CloudXR.js)
CloudXR.js是一个JavaScript库,通过单个网页链接支持直接向支持WebXR的设备(Meta Quest 3、Pico 4 Ultra和桌面浏览器)进行流式传输。它使用WebRTC实现低延迟视频传输,使用WebXR设备API进行显示和输入,并与WebGL、Three.js和React Three Fiber兼容。更多详情请参阅CloudXR.js开发者页面。
准备入门的开发者,请将CloudXR运行时SDK集成到现有的OpenXR应用中,注册运行时,并选择适合目标受众的客户端SDK。相同的服务器端集成支持某机构CloudXR提供的所有客户端平台。
资源:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。