1 Year Ago
[Squash] Initial managed VR code, delete VR project [Squash] Add `IsLeftHandDominant`, `Enabled` properties + `TriggerHapticVibration` [Squash] Document TrackedDevice, remove unused, update skeletal data Submit all the info we need to camera renderer + start rewriting stereo rendering [Squash] Initial managed VR / stereo rendering logic [Squash] Poll events & get poses correctly [Squash] Don't do blit copy for each eye (works as long as `r_aoproxy_enable 00`), submit for DX11 https://files.facepunch.com/alexguthrie/1b1311b1/qrenderdoc_wLfY06ol2a.png [Squash] Bind GetLastPoses, clean up Update OpenVR from 1.16.8 to 1.26.7 (latest) [Squash] Fix IPD calc, camera positioning, fix InchToMillimeter that was converting from mm to inch [Squash] Dispatch submit func from scenesystem, do submit on render thread [Squash] Digital / skeletal / pose action data + helper funcs for retrieving all action data Remove unused (mostly legacy stuff) # Conflicts: # engine/Sandbox.Engine/EngineLoop.cs Revert "Remove unused (mostly legacy stuff)" This reverts commit ab8ea1a69e47ddff1367df4d5f00a1975def5d99. Vulkan - explicit timing/post present handoff, submit logic # Conflicts: # engine/Sandbox.Engine/EngineLoop.cs Remove runtime VR enable/disable Doesn't work for vulkan which is what we're aiming to eventually primarily support - ideally we want something like this issue describes: ValveSoftware/openvr/issues/993 I did try re-creating the render device whenever VR was enabled/disabled but couldn't get this working and I think fixing it is out-of-scope here. [Squash] Refactor HMD-specific tracking code [Squash] Finish VR analog/digital input, clean up [Squash] Vulkan submit tweaks, log compositor errors