Add OpenXR XR_EXTX_overlay extension support#87522
Add OpenXR XR_EXTX_overlay extension support#87522CheesecakeCG wants to merge 8 commits intogodotengine:masterfrom
Conversation
1692938 to
32eede3
Compare
55b0364 to
47f17dd
Compare
|
Setting to zero places it on the same layer as the base in the compositor, whatever comes active lastly shows on top if two values are the same.
LOVR engine is now separating the toggle and the layer height values. Really good time to specify because of how the layering works, it's more likely than not you want the application end user to be able to configure this int as it can very easily not be set to a preferable setting by the developer. |
|
Cool! thanks for working on this @CheesecakeCG , I need to find some time to properly dive into it but looks like a good start. |
|
I also had planned to implement this (but life got in the way), gonna have a look at this. |
|
So, I now had some time to look at this, for now I also haven't been able to show the actual overlay, will try some more though. |
47f17dd to
8a3cd07
Compare
|
I've pushed some of the changes I made a few weeks ago, and rebased it so I could check if it still works with OpenXR composition layers enabled at the same time (it does). I'm still figuring out how to restart the OpenXR interface with a different layer placement, but I haven't had much time to work on this. |
Make sure you're using an OpenXR runtime that implements the extension, so far I think Monado is the only one that does natively, but there's an API Layer for it: In my test project, I set the environment set to have a transparent sky and I have script that runs: get_viewport().transparent_bg = true
get_viewport().use_xr = true |
This adds support starting OpenXR sessions in overlay mode with the Monado OpenXR runtime. Co-authored-by: A Thousand Ships <[email protected]>
0303886 to
6682716
Compare

I took a shot at adding support for the XR_EXTX_overlay extension based on GodotVR/godot_openxr_for_godot_3.x#101. This should allow Godot to be used to create overlays for Monado (and maybe other OpenXR runtimes?).
I was not able to get it working, Monado still treats Godot games as normal apps when using this.This also still needs:This is my first time adding a feature to Godot or really writing C++, so I've probably missed something else too.