Bastiaan Olij
9042ddf19f
Improvements to VRS/Foveated rendering
2024-05-03 17:20:30 +10:00
Bastiaan Olij
527c30c594
Add support for OpenXR hand interaction extension
2024-05-02 19:15:02 +10:00
Bastiaan Olij
cbab7dc049
OpenXR: Change timing of xrWaitFrame and add thread safety features to OpenXR
2024-05-01 14:24:41 +10:00
Malcolm Nixon
e00e5c0386
Remove the Hand enum from XRHandTracker to fix name-collision with the hand property of the base class.
...
Co-Authored-By: David Snopek <191561+dsnopek@users.noreply.github.com>
2024-04-25 19:38:57 -04:00
Rémi Verschelde
8c474ddd49
Merge pull request #90710 from m4gr3d/fix_jstring_leaks
...
Fix leakage of JNI object references
2024-04-22 12:52:16 +02:00
Malcolm Nixon
823ae7b3fa
Rework XR Trackers to have a common ancestor. Allow creation of XRNode3D to drive node positions and visibility.
2024-04-18 20:04:01 -04:00
Fredia Huya-Kouadio
f291a4ed3a
Fix leakage of JNI object references
...
Fixes https://github.com/godotengine/godot/issues/87548
2024-04-15 10:30:18 -07:00
Bastiaan Olij
c388fe2ba7
OpenXR: Improve swapchain logic and fix swapchain update when render target multiplier is changed.
2024-04-09 16:56:39 +10:00
Rémi Verschelde
0c6b5efab3
Merge pull request #90391 from AThousandShips/xr_bind_fix
...
[XR] Fix binds for composition layer virtuals
2024-04-08 18:42:44 +02:00
Rémi Verschelde
0fd440e95f
Merge pull request #90374 from BastiaanOlij/openxr_refresh_rate_signal
...
OpenXR: Add refresh rate signal support
2024-04-08 18:42:38 +02:00
A Thousand Ships
730cfdde66
[XR] Fix binds for composition layer virtuals
2024-04-08 17:28:26 +02:00
Bastiaan Olij
148ff6a47f
OpenXR: Add refresh rate signal support
2024-04-08 12:36:17 +10:00
David Snopek
fddf6dc651
Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node
2024-04-05 07:18:32 -05:00
David Snopek
0f2b804059
Add support for OpenXR composition layers
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-04-04 09:20:23 -05:00
David Snopek
308a6a4734
OpenXR: Allow GDExtensions to provide multiple, ordered composition layers
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2024-03-13 17:53:15 -05:00
Bastiaan Olij
6fd897973f
OpenXR: Register eye gaze even when disabled
2024-02-24 17:32:58 +11:00
Rémi Verschelde
41f39cfa04
Merge pull request #88724 from AThousandShips/xr_build_fix
...
[XR] Fix building on MinGW
2024-02-23 22:19:28 +01:00
David Snopek
2184fa9698
Provide generic interface for XR hand tracking
2024-02-23 12:20:22 -06:00
A Thousand Ships
efeb6be084
[XR] Fix building on MinGW
...
Destructor was defined in multiple places due to multiple inheritance
2024-02-23 19:10:33 +01:00
Logan Lang
3ee258effe
enable getting suggested tracker names from OpenXR extensions
2024-02-13 18:33:41 -06:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
David Snopek
e74a0f4b09
OpenXR: Allow moving vendor passthrough extensions to GDExtension
2024-02-03 12:40:41 -06:00
Rémi Verschelde
1c916c3d5b
Merge pull request #87546 from dsnopek/openxr-hand-tracking-vendor-extensions
...
OpenXR: Make it possible to implement vendor extensions to hand tracking from GDExtension
2024-01-31 10:54:55 +01:00
Riteo
7e0f7d3abd
Add Wayland support
...
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:
- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.
- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.
- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.
- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.
- The cursor doesn't yet support fractional scaling.
- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).
- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.
This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.
Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
David Snopek
3d2cbb216e
OpenXR: Make it possible to implement vendor extensions to hand tracking from GDExtension
2024-01-25 10:24:39 -06:00
Bastiaan Olij
82a36cf31b
Cleanup of OpenXR module scons config
2024-01-25 23:28:13 +11:00
David Snopek
a8690cbeed
Add support for OpenXR local floor extension
2024-01-23 09:19:09 -06:00
Rémi Verschelde
0a7579b161
Fix #if *_ENABLED
inconsistencies, should check if defined
...
Co-authored-by: Caroline Joy Bell <halotroop2288@proton.me>
2024-01-17 10:30:15 +01:00
Rémi Verschelde
4b305cd903
Merge pull request #86982 from BastiaanOlij/openxr_touch_plus
...
OpenXR: Add Meta touch plus interaction profile
2024-01-11 17:41:26 +01:00
Bastiaan Olij
f2ef41b853
Add Meta controller extension
2024-01-11 15:29:38 +11:00
Bastiaan Olij
4c806c03df
OpenXR: Add support for hand tracking source extension
2024-01-10 16:58:40 +11:00
Rémi Verschelde
373c4b22d3
Fix various typos with codespell
...
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
Bastiaan Olij
50693a5420
OpenXR - add access to hand joint validity flags
2023-10-05 13:37:26 +11:00
Bastiaan Olij
c60ef33175
OpenXR Fix small hand tracking issues
2023-10-04 13:18:31 +11:00
Bastiaan Olij
9e56e7a3ce
Add support for the OpenXR Eye gaze interaction extension
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-10-02 14:02:23 -07:00
Bastiaan Olij
d7d334158a
Implement OpenXR Foveated rendering support
2023-09-25 17:12:20 +10:00
bruvzg
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
...
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
Rémi Verschelde
0b9ffdfc02
Merge pull request #81414 from akien-mga/codestyle-get-back-in-das-Auto
...
Codestyle: Don't use auto where not warranted
2023-09-07 16:33:17 +02:00
Rémi Verschelde
11518665b7
Codestyle: Don't use auto where not warranted
...
We allow using auto for lambdas or complex macros where a return type
may change based on the parameters. But where the type is clear, we
should be explicit.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-09-07 16:15:18 +02:00
Bastiaan Olij
58df9bd8a4
Expose OpenXR raw hand tracking data
2023-09-07 22:55:21 +10:00
Bastiaan Olij
3a89bb388d
Change to new PICO interaction profiles
2023-08-30 10:25:35 +10:00
A Thousand Ships
c23bd8b143
Ensure OpenXR classes are declared properly
...
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-08-28 09:37:04 +02:00
Gabor Koncz
61455ff87e
Fix casts of XR handles in OpenXRExtensionWrapperExtension
...
On 32-bit systems, XR handles are defined as uint64_t, so conversion from XR handles to uint64_t requires C-style casts.
2023-08-15 14:55:19 +02:00
Yuri Sizov
37c3e2e55b
Merge pull request #68259 from konczg/openxr_extension_wrapper_gdextension
...
Add GDExtension support for OpenXR extension wrappers
2023-07-27 15:22:22 +02:00
Gabor Koncz
d600e6eb1b
Add GDExtension support for OpenXR extension wrappers
...
This commit adds the classes OpenXRExtensionWrapperExtension and OpenXRAPIExtension
that can be used in GDExtensions to define OpenXR extension wrappers.
It modifies extension wrapper registration so that they can be registered
before OpenXRAPI instantiation (e.g. in core level initialization of GDExtensions).
Developed by Migeran (https://migeran.com )
2023-07-26 10:27:14 +02:00
Yuri Sizov
52784188bf
Merge pull request #78817 from BastiaanOlij/fix_startup_issue_hand_tracking
...
Fix issue with accessing hand tracking without timing info
2023-07-17 09:59:51 +02:00
Yuri Sizov
661c3954a6
Merge pull request #73443 from akien-mga/unbundle-openxr
...
Allow unbundling OpenXR (for Linux distros)
2023-07-12 17:15:25 +02:00
Bastiaan Olij
72bd997fe8
Fix issue with accessing hand tracking without timing info
2023-06-29 10:05:39 +10:00
Rémi Verschelde
fa7f8e34f2
Merge pull request #78135 from BastiaanOlij/fix_openxr_passthrough
...
Fix OpenXR Passthrough mode
2023-06-23 11:59:16 +02:00
Bastiaan Olij
2bc85f9ac6
Fix incorrect depth buffer option in OpenXR
2023-06-22 19:03:08 +10:00