#open-vr #vr #vive #steamvr

sys openvr_sys_bindings

OpenVR的原始不安全系统绑定(https://github.com/rust-openvr/rust-openvr-sys的更新分支)

1个稳定版本

使用旧Rust 2015

2.0.3 2023年12月14日

#478硬件支持

MIT 许可证

1.5MB
32K SLoC

Rust 16K SLoC // 0.0% comments C++ 8K SLoC // 0.1% comments C# 8K SLoC // 0.0% comments Python 1K SLoC // 0.5% comments

openvr-sys

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

更新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解析的内容,您需要在bindings.rs中替换那些结构体前面的以下内容:

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

无运行时依赖