Contains function definitions for the OpenVR library. Use the openvr
crate, unless you know what you are doing.
git submodule update --init --recursive
(initial checkout only)git submodule foreach git pull origin master
to update the submodulecargo build --features "buildtime_bindgen"
to update the bindings- Apply the workaround for broken OpenVR ABIs, if required
Search for packed structs in headers/openvr.h
, i.e., #pragma pack( push, 4 )
. Currently, that is:
VRControllerState_t
RenderModel_TextureMap_t
RenderModel_t
VREvent_t
Depending on what bindgen did parse, you have to replace a bunch of #[repr(C)]
and #[repr(C, packed(4))]
precending those structs in bindings.rs
with:
#[repr(C)]
#[cfg_attr(unix, repr(packed(4)))]