(XR导航网资讯)日前,Khronos正式发布了OpenXR 1.1规范。这个版本将广泛使用的API扩展整合到核心规范中,从而减少了碎片化,并添加了新功能来简化更强大、更高效的XR应用程序的开发。
特别是,OpenXR 1.1整合了关键功能的多个供应商扩展,减少了多个平台应用代码的差异,同时依然保持灵活性和可扩展性,以在快速增长和发展的市场中促进创新。接下来,OpenXR工作组将继续专注于管理扩展管道,以开发和寻求对新功能的反馈,同时主动将经过验证的技术集成到核心规范中,从而为开发者提供强大的跨平台XR功能。
如今,大多数主要的XR平台已经过渡到使用OpenXR来展示当前和未来的设备功能。具有一致OpenXR实现的供应商包括宏碁、字节跳动、佳能、HTC、Magic Leap、Meta、微软、索尼、XREAL、高通、Valve和Varjo等等。
OpenXR同时受到所有主要游戏和渲染引擎的支持,包括Autodesk VRED、Blender、Godot、英伟达的Omniverse、StereoKit、Unreal和Unity。
OpenXR将以前通过扩展提供的以下功能集成到核心规范中:
Local Floor(从XR_EXT_Local_Floor升级而来)为站立比例内容提供了一个新的参考空间,其具有与重力对齐的世界锁定原点,无需校准程序即可在按下按钮时将其重新定位到当前用户位置。它同时内置了估计的楼层高度。
Stereo with Foveated Rendering(从XR_VARJO_quad_views升级而来)提供了一种主视图配置,可在多个图形渲染API中实现XR头显的眼动追踪渲染或固定注视点渲染。它的使用对于高效渲染高像素数显示器尤其有。最初的供应商扩展已在Unity、Unreal和Omniverse中原生采用。
Grip Surface(从XR_EXT_palm_pose升级而来)提供了一个标准姿势标识符,可以可靠地将视觉内容固定在用户的物理手。
XrUuid(从XR_EXT_uuid升级而来)提供了一种通用数据类型来保存遵循IETF RFC 4122的通用唯一标识符。
xrLocateSpaces(及其相应的扩展等效XR_KHR_locate_spaces)提供了一个定位空间函数,通过允许应用程序在填充AoS的单个函数调用中定位空间数组,而不是局限于每个函数调用定位单个空间,这提高性能并简化应用代码。
除了整合扩展之外,OpenXR 1.1同时为开发者提供了一系列新功能和说明。
首先是改进了交互配置文件,开发者现在可以利用新的标准:
交互配置文件路径:OpenXR 1.1核心规范中添加了13个新的交互配置文件
标准标识符:包括thumb_resting_surfaces、stylus、trigger_curl和trigger_slide
标准组件:增加接近度
输出路径:haptic_trigger和haptic_thumb
OpenXR 1.1的改进为开发者提供了一套扩展的通用工具,可用于构建增强的XR体验:
XrDuration:明确负持续时间的行为
Event Polling:明确轮询的运行时和应用程序行为
Two-Call Idiom:“buffer size/缓冲区大小”的精确解释
New Structures::添加了不带alpha通道的颜色(XrColor3f)、矩形棱镜(XrExtent3Df)、定向球体(XrSpheref)、定向长方体(XrBoxf)和截头体(XrAfrustum)
团队同时提供了新错误代码。新的错误代码XR_error_INSUFFICIENT PERMISSIONS和XR_error_DEPENDENCY_NOT_ENABLED有助于应用程序调试。
另外,工作组进一步细化了规范。OpenXR 1.1为规范意图提供了更清晰的解释,同时消除了歧义,加强了规范语言的准确性。受影响的章节包括:
Spaces:OpenXR 1.1添加了指向Reference Spaces的链接,以便在文本中轻松识别它们。它同时加强了运行时和应用程序开发人员的规范语言
Rendering:XR_COMPOSITION_LAYER_CORRECT_CHROMATIC_ABERRATION_BIT不推荐使用,因为它不用于任何运输运行时
Input:删除了对“Default Binding”的提及,并明确了读取输入操作状态的时间要求
Appendix:更新了贡献者名单
Versions:显示了版本之间的升级扩展
在GitHub免费提供的OpenXR一致性测试套件(CTS)包括已集成到OpenXR 1.1核心规范中的功能的更新和增强,从而实现在所有一致平台的一致实施。团队表示,第二季度将发布一个开发版本,并提供一个经批准的一致性提交版本。
团队表示:“OpenXR工作组欢迎并鼓励XR开发者社区就他们使用OpenXR的体验提供反馈。这样的反馈对于在OpenXR路线图优先考虑未来的开发至关重要,并且满足开发者不断发展的现实需求。例如,工作组目前正在探索多个功能领域,例如将手部追踪扩展到包括全身追踪,以及增强对空间实体的处理,以在高级空间计算应用中提供与用户环境交互的标准化方法。”
对于反馈,具体请访问OpenXR Discord频道、OpenXR论坛或GitHub Issue Tracker。