1个不稳定版本
0.0.0 | 2022年4月25日 |
---|
#7 in #open-vr
5.5MB
576 行
ovr_overlay
是openvr
库的替代品,它使用autocxx
而不是bindgen,并专注于提供对叠加层的支持。
目标
新应用程序可能应该寻求使用OpenXR
而不是OpenVR
。然而,在OpenXR
中你无法做到的事情,你可以在OpenVR
中做到,即创建叠加层。
此绑定允许你使用rust创建OpenVR叠加层,但并不一定提供对OpenVR API其余部分的绑定。如果你发现缺少功能(你肯定会发现缺少的功能),提交一个PR!
为什么不基于C API构建绑定?
C API在官方仓库中直接损坏。最新版本甚至无法编译,已经有一年多时间了。[链接](https://github.com/ValveSoftware/openvr/issues/1642)。更糟糕的是,C绑定没有与C++ API相同的保护功能,放弃了使用const
等。此外,C API是从C++自动生成的,并且不像C++那样有文档。
为什么不使用现有的openvr
库?
该库已经超过两年没有更新了。我不怪他们,时间应该花在为Rust提供OpenXR的一等支持上,因为OpenVR正在走向淘汰。
不幸的是,该库缺少所有的叠加层功能,由于我目前主要专注于叠加层,我需要一个替代品。
语义版本控制
在我们达到0.1.0或更高版本之前,我们不提供语义版本控制保证。在此之前,一切和任何东西都可能以破坏性的方式改变。
构建
我们将OpenVR库作为git子模块进行打包。所以你可以使用--recursive
克隆,或者克隆后运行git submodule update --init
。
你还需要安装libclang
,因为它是cxx
和autocxx
库生成绑定所必需的。
许可证
此仓库中的所有代码都根据你的选择,在以下许可证下双许可:
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
- Apache许可证2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
这意味着你可以选择你喜欢的许可证!这种双许可方法在Rust生态系统中被视为标准,并且包含两者有很好的理由。
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交以包含在作品中的任何贡献,应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~1.5–6MB
~113K SLoC