6 Months Ago
Move from SteamVR over to Facepunch.XR Remove direct OpenXR bindings Pass debug callback to Facepunch.XR, make a session Move OpenXR requirements into Facepunch.XR Requirements are done automatically now, make instance/device extension format consistent Hack around extension-related crash for now Events Pass vulkan-related stuff in as structure Fetch rendering recommendations from fpxr Remove silly hack hard-coding all our extensions, fetch them properly Bind fpxr compositor and add everything we should need to start submitting FPXR: Session now handled by Compositor, Instance is now a class Delete all OpenVR files & references, stub out anything that required them Initial FPXR presentation logic Fetch display info from compositor Submit texture, render loop, etc. Use Facepunch.XR provided logging levels Pass bounds to texture submit info Default IPD (for testing with null driver) Facepunch.XR works out bounds for us, gives us full render target size separately from eye render target size Do BeginFrame() and EndFrame() on render thread Native to managed bindings cleanup, sync manually Sync cleanup, fpxr update Update fpxr FPXR returns error codes for various functions now, doesn't use builder pattern for instances FPXR enum update Initial XR input support Port SteamVR actions over to Facepunch.XR format, update fpxr lib Clean up When fetching extensions, check if we want to initialise rather than if we have initialised Clean up structs Digital, float, vector2 input state fetching DigitalAction -> BooleanAction, strip down input stuff, remove unnecessary refresh rate calculations Strip down input stuff, we can just do everything by path New actions manifest format FPXR update, new actions manifest path format, temporarily remove knuckles bindings Remove references to menu chord We don't have to worry about action sets right now Store controller bindings in separate files Use input sources for controller differentiation Fetch controller poses (position & orientation) InputSource as enum, only include public fpxr headers Coordinate system fixes