#vr #vive #steamvr

sys openvr_sys

openvr 的原始不安全系统绑定

9 个版本 (稳定)

使用旧的 Rust 2015

2.0.3 2019 年 6 月 29 日
2.0.2 2018 年 8 月 25 日
2.0.1 2017 年 12 月 22 日
2.0.0 2017 年 10 月 8 日
0.1.2 2016 年 5 月 11 日

#875硬件支持

Download history 50/week @ 2024-03-11 38/week @ 2024-03-18 21/week @ 2024-03-25 58/week @ 2024-04-01 26/week @ 2024-04-08 32/week @ 2024-04-15 42/week @ 2024-04-22 28/week @ 2024-04-29 29/week @ 2024-05-06 38/week @ 2024-05-13 35/week @ 2024-05-20 34/week @ 2024-05-27 31/week @ 2024-06-03 20/week @ 2024-06-10 44/week @ 2024-06-17 24/week @ 2024-06-24

每月 126 次下载
用于 openvr

MIT 许可证

1MB
25K SLoC

Rust 14K SLoC // 0.0% comments C++ 7K SLoC // 0.1% comments C# 4.5K SLoC // 0.0% comments

openvr-sys

包含 OpenVR 库的功能定义。除非你知道自己在做什么,否则请使用 openvr 包。

更新 OpenVR 的说明

  1. git submodule update --init --recursive (仅初始化检查)
  2. git submodule foreach git pull origin master 更新子模块
  3. cargo build --features "buildtime_bindgen" 更新绑定
  4. 如果需要,应用 OpenVR ABIs 故障的解决方案

OpenVR ABIs 故障的解决方案(仅限 Linux/macOS)

headers/openvr.h 中搜索打包结构体,例如,#pragma pack( push, 4 )。目前是这样的

VRControllerState_t
RenderModel_TextureMap_t
RenderModel_t
VREvent_t

根据 bindgen 解析的内容,您必须将这些结构体前面的 #[repr(C)]#[repr(C, packed(4))] 替换为 bindings.rs 中的

#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]

无运行时依赖