branchsbox/vr-managedcancel

10 Commits over 0 Days - ∞cph!

Yesterday
OpenVR update 1.10.20 -> 1.16.8, resolve deprecated crap Add internal managed code bindings for OpenVR interfaces to Sandbox.Engine VROverlay class in managed, do basic render & input for main menu. These transparently handle the differing coordinate systems from Source to OpenVR. Add VROverlayPanel<T> where T : RootPanel, acts like a normal VROverlay but automatically renders UI to it Render VR menu from menu addon using VROverlayPanel, render in 4K so it doesn't look shit Store VROverlays with WeakRef, sort out IDisposable to delete VROverlayPanel.RootPanel VROverlay input system for UI using input data from OpenVR Handle scroll events on vr overlays, turn it into InputData for UI Custom OpenVR interop bindings, grab the OpenVR interfaces from engine Lets us cut out loads of bullshit making things way simpler and neater. Restore viewport after rendering in VROverlayPanel Simulate VR overlay mouse position properly from scale Make engine construct OpenVR texture handles instead since they're graphics API specific Update MouseScale properly on vr panel overlays Update vr overlay panel render texture when panel bounds change Hide vr overlays if vr dashboard is open Document on when you should use an overlay vs a worldpanel Dispose of all vr overlays on game end that may not have been picked up by GC yet Prevent redundant calls to OpenVR in property setters Expose TriggerLaserMouseHapticVibration for VR overlays, add quick test case to pulse when hovering panels tidy up, unfuck namespaces / class names / docs Fix vr overlays crashing from wrong thread by using a device thread callback ( even though we were in a render thread anyway? ) Make VR overlays work in-game, hide them when the main menu overlay is showing Fix interop issues from rebase/squash Decide if VROverlayPanel does input from pointer-events Allow absolute overlay transforms from seated or standing origins Add relative overlay transforms from other overlays (they inherit visibility too) Add Overlay.SetHudTransform( Transform ), set it relative to system.HeadsetView overlay view Start exposing IVRInput to the managed engine, let us interact with actions internally ( shit like /user/hand/right ) Add relative overlays to tracked devices misc mark shit as internal, fixes, tidy up
2 Days Ago
tidy up, unfuck namespaces / class names / docs Fix vr overlays crashing from wrong thread by using a device thread callback ( even though we were in a render thread anyway? ) Make VR overlays work in-game, hide them when the main menu overlay is showing
5 Days Ago
Dispose of all vr overlays on game end that may not have been picked up by GC yet Prevent redundant calls to OpenVR in property setters Expose TriggerLaserMouseHapticVibration for VR overlays, add quick test case to pulse when hovering panels
5 Days Ago
Make engine construct OpenVR texture handles instead since they're graphics API specific Update MouseScale properly on vr panel overlays Update vr overlay panel render texture when panel bounds change Hide vr overlays if vr dashboard is open Document on when you should use an overlay vs a worldpanel
7 Days Ago
Use our own interop bindings for OpenVR, grab interface from engine Refactor VROverlay, just set stuff once in property setters instead of in render thread No need for a separate MainMenuPanel impl for VR, just make a VROverlayPanel of it Restore viewport after rendering in VROverlayPanel Simulate VR overlay mouse position properly from scale
9 Days Ago
Store VROverlays with WeakRef, sort out IDisposable to delete VROverlayPanel.RootPanel VROverlay input system for UI using input data from OpenVR Handle scroll events on vr overlays, turn it into InputData for UI Make vr controllers scroll UI the right way and consume the delta after it's used VR mainmenu, split out the lobby bar into a seperate offset overlay
9 Days Ago
VROverlay: handle key management automatically internally Add VROverlayPanel<T> where T : RootPanel, acts like a normal VROverlay but automatically renders UI to it Render VR menu from menu addon using VROverlayPanel, render in 4K so it doesn't look shit
12 Days Ago
OpenVR update 1.10.20 -> 1.16.8, resolve deprecated crap Add internal managed code bindings for OpenVR interfaces to Sandbox.Engine VROverlay class in managed with rendering props and render update loop Basic VROverlay in Sandbox.Menu with a render target texture of the menu UI - probably a shit place for it but can be moved easily. https://files.facepunch.com/matt/1b1811b1/vrmonitor_A6tO3ufJP9.png Iterate on VROverlay API, make the coordinate system match engine, poll events and simulate input in the menu.
14 Days Ago
Basic VROverlay in Sandbox.Menu with a render target texture of the menu UI - probably a shit place for it but can be moved easily. https://files.facepunch.com/matt/1b1811b1/vrmonitor_A6tO3ufJP9.png
14 Days Ago
OpenVR update 1.10.20 -> 1.16.8, resolve deprecated crap Add internal managed code bindings for OpenVR interfaces to Sandbox.Engine VROverlay class in managed with rendering props and render update loop