A Thousand Ships
a1846b27ea
Improve use of `Ref.is_null/valid`
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying
33817b186f
Remove unused header in drivers and modules.
...
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2024-12-24 00:40:47 +08:00
David Snopek
d9ad5d1cd4
OpenXR: Fix hiding/showing composition layers using hole punching
2024-12-23 08:01:19 -06:00
Bastiaan Olij
65bb72261b
OpenXR: Make sure wedge on DPad modifier is expressed in degrees.
2024-12-21 20:59:24 +11:00
Haoyu Qiu
bf4e5cca3f
Make editor's shortcut names translated on-site
2024-12-18 13:00:30 +08:00
Thaddeus Crews
4364ed6ccd
Merge pull request #100471 from dsnopek/openxr-xrsim-composition-layer-crash
...
OpenXR: Fix crash with composition layers in non-dev builds
2024-12-16 12:10:08 -06:00
Thaddeus Crews
02e196eb41
Merge pull request #98132 from aaronfranke/editor-plugin-get-plugin-icon-name
...
Rename internal EditorPlugin icon/name to match exposed methods
2024-12-16 12:09:57 -06:00
Thaddeus Crews
d51fae25a7
Merge pull request #98872 from BastiaanOlij/openxr_khr_metal_enable
...
OpenXR: Add Metal support
2024-12-16 12:09:47 -06:00
David Snopek
20d8bddd38
OpenXR: Fix crash with composition layers in non-dev builds
2024-12-16 08:44:49 -06:00
Aaron Franke
0ab3dc273e
Rename internal EditorPlugin icon/name to match exposed methods
2024-12-15 17:31:01 -08:00
Thaddeus Crews
bfc66f0608
Merge pull request #100282 from devloglogan/motion-vectors-openxr
...
Add renderer motion vectors API for use with OpenXR
2024-12-12 16:13:36 -06:00
Bastiaan Olij
0a61ebdcea
OpenXR: Add support for binding modifiers
2024-12-12 09:46:19 +11:00
devloglogan
3deb5884d7
Renderer agnostic motion vector rendering/OpenXR changes
2024-12-10 15:59:17 -06:00
Bastiaan Olij
08ced813a9
OpenXR: Add Metal support
2024-12-10 11:41:59 +11:00
Lukas Tenbrink
b5c31ebb41
Add contains_char() for single-character 'contains' calls.
2024-12-06 20:23:35 +01:00
MBCX
6bc80effbb
Make Godot compile on FreeBSD
2024-12-05 12:33:55 -04:00
Bastiaan Olij
3de62b8b1b
OpenXR: Fix pose recenter signal to be omitted properly
2024-11-13 14:20:06 +11:00
Micky
eaebb3f864
Fix more miscellaneous oddities around the class reference
2024-11-12 17:44:45 +01:00
Thaddeus Crews
925b690c98
Core: Integrate `Ref::instantiate` where possible
2024-11-10 12:41:26 -06:00
Micky
5c5460b026
Fix many untagged true/false/null in the documentation
2024-11-10 11:26:39 +01:00
Thaddeus Crews
1559645112
Merge pull request #98831 from dsnopek/openxr-gdextension-pre-post-draw-viewport
...
OpenXR: Allow GDExtensions to implement `_on_pre_draw_viewport()` and `_on_post_draw_viewport()`
2024-11-05 18:36:12 -06:00
David Snopek
c72eb04adb
OpenXR: Allow GDExtensions to implement `_on_pre_draw_viewport()` and `_on_post_draw_viewport()`
2024-11-05 08:16:29 -06:00
Thaddeus Crews
bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
...
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
Thaddeus Crews
89a311205f
Style: Apply `clang-tidy` fixes
...
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Thaddeus Crews
696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
...
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Thaddeus Crews
23f03a7cce
Merge pull request #98589 from juanjp600/openxr-no-wayland-build-fix
...
Fix OpenXR module failing to build on Linux when Wayland is disabled
2024-10-29 19:25:41 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Aaron Franke
562c666e3d
Rename internal Button icon to button_icon to match exposed methods
2024-10-29 16:23:03 -07:00
Juan Pablo Arce
1803fe0cd5
Fix OpenXR module failing to build on Linux when Wayland is disabled
2024-10-27 14:03:03 -03:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
...
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Clay John
7ebb3a4d68
Merge pull request #98471 from dsnopek/openxr-composition-layers-visibility-bug
...
Fix bug with OpenXR composition layers added after OpenXR is running
2024-10-24 18:45:23 -07:00
David Snopek
e2386de505
Fix bug with OpenXR composition layers added after OpenXR is running
2024-10-23 15:34:05 -05:00
Bastiaan Olij
3e36f52524
OpenXR: change bindings to 'flatten' source paths
2024-10-22 10:31:11 +11:00
David Snopek
256699ee31
OpenXR: Add support for Wayland on Linux
2024-10-04 11:44:05 -05:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Rémi Verschelde
5d5cdc02c5
Merge pull request #97392 from BastiaanOlij/xr_cleanup_action_map_dialogs
...
Cleanup of action map dialogs
2024-09-25 12:39:25 +02:00
Rémi Verschelde
b030638863
Merge pull request #97252 from dsnopek/gdext-android-surface-swapchain
...
OpenXR: Allow extending Android surface swapchain creation from GDExtension
2024-09-23 12:28:07 +02:00
Alistair Leslie-Hughes
daa4704c44
openxr: Correct set the Depth swapchain name
...
Introduced in 08ffa5d89e .
2024-09-21 10:00:08 +10:00
David Snopek
f7e5e7a400
OpenXR: Allow extending Android surface swapchain creation from GDExtension
2024-09-20 15:42:27 -05:00
Rémi Verschelde
b1b4c5da4b
Merge pull request #96928 from dsnopek/rename-and-expose-texture-create-external
...
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 17:13:27 +02:00
David Snopek
7d56b09f23
Expose a function to create textures from a native handle in the compatibility renderer
2024-09-19 09:05:32 -05:00
Bastiaan Olij
660ba0578d
Cleanup of action map dialogs
2024-09-18 10:55:36 +10:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Rémi Verschelde
55f1ae0d41
Merge pull request #96868 from dsnopek/android-editor-launching-xr-app-fix
...
Fix launching XR apps from the Android editor
2024-09-12 09:25:46 +02:00
David Snopek
3afa26834a
OpenXR: Support composition layers based on Android surfaces
2024-09-11 21:15:22 -05:00
David Snopek
30a63396e5
Fix launching XR apps from the Android editor
2024-09-11 14:31:54 -05:00
Fredia Huya-Kouadio
9dc0543da7
Improve support for XR projects
2024-09-06 00:35:50 -07:00
Bastiaan Olij
08ffa5d89e
Add support for the debug utils extension in OpenXR
2024-08-27 12:07:01 +10:00
Rémi Verschelde
fe15f47e22
Merge pull request #95929 from BastiaanOlij/openxr_fix_tracking_bit
...
OpenXR: Check correct status bit for hand tracking
2024-08-25 22:24:21 +02:00
David Snopek
11dd1f52ae
Fix crash when calling OpenXRAPI::get_hand_tracker() and hand-tracking is disabled
2024-08-22 13:03:05 -05:00
Bastiaan Olij
1925d1e6f9
OpenXR: Check correct status bit for hand tracking
2024-08-22 11:57:56 +10:00
Rémi Verschelde
d9e458515b
Merge pull request #91750 from BastiaanOlij/openxr_visibility_mask
...
OpenXR: Add support for visibility mask
2024-08-20 11:03:54 +02:00
Bastiaan Olij
a8c5117777
Change hand tracking project settings and finetune show_when_tracked
2024-08-20 11:12:52 +10:00
Bastiaan Olij
d9ab2c3195
OpenXR: Add support for visibility mask
2024-08-20 10:47:17 +10:00
Rémi Verschelde
6c76be2389
Merge pull request #95658 from akien-mga/openxr-fix-system-package
...
OpenXR: Fix support for building against distro package
2024-08-19 12:09:06 +02:00
Rémi Verschelde
63f4186f97
Merge pull request #95253 from Kimau/claire/logitech
...
OpenXR - Add Logitech Mx Ink Stylus Support
2024-08-19 12:09:01 +02:00
Rémi Verschelde
5cb01a0e09
Merge pull request #95227 from BastiaanOlij/openxr_1_1_38
...
Update OpenXR thirdparty library to 1.1.38
2024-08-17 00:46:27 +02:00
Rémi Verschelde
2206f5c6a4
OpenXR: Fix support for building against distro package
2024-08-16 22:51:09 +02:00
Rémi Verschelde
0f9925c0f9
Merge pull request #95542 from KoBeWi/go_bind_yourself
...
Remove empty `bind_methods()`
2024-08-16 14:35:51 +02:00
kobewi
065dd099dd
Remove empty bind_methods()
2024-08-15 08:24:32 +02:00
David Snopek
dfcff4ef46
OpenGL: Unconditionally do `glDisable(GL_FRAMEBUFFER_SRGB)` because we do our own sRGB conversion
2024-08-12 12:40:38 -05:00
Claire Blackshaw
19c7afee07
OpenXR - Support for the Logitech MxInk Stylus
...
In future work we may want to expose an isStylus or similar for
XR Trackers, though that is likely outside the scope of this commit
which is the core extension work.
Vendor Ref: https://logitech.github.io/mxink/OpenXR.html
2024-08-08 11:09:29 +01:00
Bastiaan Olij
1371b35b6e
Update OpenXR thirdparty library to 1.1.38, changed OpenXR init to stay on 1.0.x
2024-08-07 13:58:05 +10:00
Haoyu Qiu
7cf9ed5f65
Fix several typos in the documentation
2024-08-02 08:42:20 +08:00
David Snopek
22a6303fa0
OpenXR: Fix enabling passthrough via environment blend mode in project settings
2024-07-19 19:04:51 -05:00
Rémi Verschelde
1e81a946cc
Merge pull request #94412 from dsnopek/xr-always-render
...
Always render when XR is enabled, even if no OS windows can draw
2024-07-18 15:38:14 +02:00
David Snopek
7a5a8597eb
Always render when XR is enabled, even if no OS windows can draw
2024-07-17 08:19:21 -05:00
Bastiaan Olij
9e658e29d2
Fixed creating default action map
2024-07-17 12:04:06 +10:00
Rémi Verschelde
b6434f2ac7
Merge pull request #94158 from BastiaanOlij/fix_action_map
...
OpenXR: Couple of small fixes on the action map
2024-07-11 23:16:51 +02:00
Bastiaan Olij
95b72631aa
Couple of small fixes on the action map: now saves when CTRL-S is pressed/project is run, no longer looses content if OpenXR is not enabled, and a small documentation fix.
2024-07-11 20:06:46 +10:00
Bastiaan Olij
bf8c85e13b
Remove our ERR_ON_RENDER_THREAD guard, it is not reliable
2024-07-09 18:48:00 +10:00
David Snopek
06e81d9fe4
[OpenXR] Fix LOCAL_FLOOR emulation on HTC Vive XR Elite
2024-06-27 14:12:11 -05:00
A Thousand Ships
fbb879debd
[Scene] Add `SceneStringNames::text/value_changed`
2024-06-19 09:44:38 +02:00
A Thousand Ships
d9e2fc74c7
[Scene] Add `SceneStringNames::item_selected`
2024-06-19 09:39:05 +02:00
Bastiaan Olij
8eb130fdf0
OpenXR: Add HTC/MSFT hand interaction profiles
2024-06-12 19:16:43 +10:00
Logan Lang
a64b0d3830
Set XRHandTracker property has_tracking_data to true only when palm joint is tracked
2024-06-05 17:22:45 +02:00
A Thousand Ships
926afccbd8
[Scene] Add `SceneStringNames::panel`
2024-05-30 22:54:50 +02:00
devloglogan
6a8f2f00ac
Apply reference frame transform to OpenXRCompositionLayer nodes
2024-05-29 07:52:54 -05:00
Rémi Verschelde
4c0d5e59bf
Merge pull request #92200 from devloglogan/composition-layer-viewport-fix
...
Allow `OpenXRCompositionLayer` property `layer_viewport` to always be assigned `nullptr`
2024-05-21 23:19:03 +02:00
devloglogan
3d7b712c86
Allow OpenXRCompositionLayer property layer_viewport to be assigned to nullptr
2024-05-21 07:52:40 -05:00
Bastiaan Olij
6582be0c50
OpenXR: Fix updating swapchain for foveation
2024-05-20 12:23:56 +10:00
Rémi Verschelde
4971b71899
Merge pull request #91952 from dsnopek/openxr-composition-layer-sample-count
...
Fix sample count on OpenXR composition layers
2024-05-14 18:10:14 +02:00
David Snopek
45a02c28cd
Fix sample count on OpenXR composition layers
2024-05-14 10:43:44 -05:00
A Thousand Ships
ee79386f7b
[Scene] Add SceneStringNames::pressed
2024-05-14 15:51:28 +02:00
David Snopek
a8a7110b90
Fix `layer_viewport` getting cleared on `OpenXRCompositionLayer` in editor
2024-05-09 14:05:20 -05:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
David Snopek
de654d9846
OpenXR: Fix composition layers not having correct play space
2024-05-07 20:49:46 -05:00
Rémi Verschelde
316b87dc5f
Merge pull request #91485 from dsnopek/openxr-composition-layers-hole-punch
...
OpenXR: Allow composition layers to enable hole punching
2024-05-07 21:52:49 +02:00
David Snopek
666bf60e36
OpenXR: Allow composition layers to enable hole punching
2024-05-07 10:02:32 -05:00
Rémi Verschelde
4b070e8031
Fix various typos with codespell
...
Using 2.2.7.dev217+g10c2abcf.
Had to add `colour` to the ignore list as we used it as an alias/keyword for the
documentation of color-related APIs.
Also ignore recommendations to change `thirdparty` to either `third-party` or
`third party`, which are correct but we use the former fairly consistently.
2024-05-07 10:08:42 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
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
Aaron Franke
1bcbbe96c4
Organize existing code for editor plugins
2024-04-27 11:59:58 -07: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
Rémi Verschelde
bffaa98b13
Merge pull request #90645 from Malcolmnixon/unified-xr-trackers
...
Rework XR Trackers to have a common ancestor
2024-04-22 12:52:07 +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
Rémi Verschelde
d06cb2e57d
Merge pull request #90761 from dsnopek/openxr-composition-layers-experimental
...
Mark `OpenXRCompositionLayer` and its children as experimental
2024-04-18 12:24:40 +02:00
David Snopek
a094ff377d
Mark `OpenXRCompositionLayer` and its children as experimental
2024-04-16 11:02:44 -05:00
David Snopek
dfca388d75
Revert `OpenXRHand` to its pre-`SkeletonModifier3D` state
2024-04-16 10:36:43 -05: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
b67eba8399
OpenXR: apply fix for reverse Z
2024-04-10 10:35:19 +10: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
Rémi Verschelde
ad1993455a
Merge pull request #90286 from dsnopek/openxr-composition-layers-intersects-ray
...
Add `intersects_ray()` method to `OpenXRCompositionLayer`
2024-04-08 11:21:18 +02:00
Rémi Verschelde
59cfa0ef75
Merge pull request #90237 from dsnopek/openxr-composition-layers-extension-properties
...
Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node
2024-04-08 11:21:05 +02:00
Bastiaan Olij
148ff6a47f
OpenXR: Add refresh rate signal support
2024-04-08 12:36:17 +10:00
David Snopek
025f2b8e7c
Add `intersects_ray()` method to `OpenXRCompositionLayer`
2024-04-06 08:37:30 -05:00
David Snopek
fddf6dc651
Allow OpenXR extensions to add properties to the OpenXRCompositionLayer node
2024-04-05 07:18:32 -05:00
Rémi Verschelde
0ff056ea2e
Merge pull request #90218 from Repiteo/do-while-false-cleanup
...
Update lingering `do/while(0)` defines
2024-04-05 12:16:34 +02:00
Thaddeus Crews
bbb3eb3a1a
Update lingering `do/while(0)` defines
2024-04-04 14:17:22 -05:00
Silc Lizard (Tokage) Renew
04dd299cba
Skeleton3D: Add SkeletonModifier / Deprecate Override / Separate PB
2024-04-05 01:28:26 +09:00
Rémi Verschelde
0c71ba7801
Merge pull request #89880 from dsnopek/openxr-composition-layers-node3d-drs
...
Add support for OpenXR composition layers
2024-04-04 17:09:07 +02: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
Rémi Verschelde
1469db5e58
Merge pull request #89968 from Calinou/xr-startup-alert-windows
...
Tweak OpenXR alert to mention WMR only on Windows
2024-04-04 14:35:37 +02:00
Haoyu Qiu
91204f6f3f
Fix missing i18n for some editor strings
2024-04-03 16:42:28 +08:00
Hugo Locurcio
e334bf6df4
Tweak OpenXR alert to mention WMR only on Windows
...
WMR isn't supported on non-Windows platforms, so there's no point
in mentioning it in the error message as it's not a possible
cause for OpenXR not initializing.
2024-03-28 06:17:54 +01: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
A Thousand Ships
24c9d442e9
[Doc] Fix some incorrect uses of `a/an`
2024-03-13 21:20:28 +01:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05:00
Hugo Locurcio
8221e7546b
Add editor shortcuts to toggle bottom panel visibility
...
Default shortcuts use the first or second letter of each word.
This also adds a new shortcut to toggle the last opened bottom panel.
On editor startup, this defaults to the first panel in the list
(which is the Output panel).
2024-03-05 15:53:15 +01:00
Micky
c54e09a5a3
Overhaul some "uncommon" wording in class reference
2024-03-01 15:32:38 +01: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
Rémi Verschelde
0d83267923
Merge pull request #88639 from dsnopek/xrserver-hand-tracker
...
Provide generic interface for XR hand tracking
2024-02-23 22:19:05 +01:00
Rémi Verschelde
4582ee1a0f
Merge pull request #87760 from kitbdev/extract-bottom-dock
...
Extract BottomPanel from EditorNode
2024-02-23 22:18:50 +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
David Snopek
713ea0629a
Fix crash when using OpenXR extension wrappers from GDExtension
2024-02-22 16:50:39 -06:00
kit
eb6ca91ba6
Extract BottomPanel from EditorNode
2024-02-20 15:09:07 -05:00
Logan Lang
74413f5609
expose OpenXR hand tracker handles
2024-02-19 16:31:10 -06:00
Rémi Verschelde
482473aee6
Merge pull request #88311 from devloglogan/xr-suggested-tracker-names
...
Enable getting suggested tracker names from OpenXR extensions
2024-02-14 10:59:52 +01:00
Logan Lang
3ee258effe
enable getting suggested tracker names from OpenXR extensions
2024-02-13 18:33:41 -06:00
David Snopek
c82d0ea6a2
Fix type-o in `OpenXRAPIExtension` docs for `is_environment_blend_mode_alpha_supported()`
2024-02-13 14:51:22 -06:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
A Thousand Ships
684752e75b
Replace error checks against `size` with `is_empty`
2024-02-09 12:50:15 +01:00
Rémi Verschelde
673f1614c4
Merge pull request #87630 from dsnopek/openxr-passthrough-from-gdextension
...
OpenXR: Allow moving vendor passthrough extensions to GDExtension
2024-02-03 23:19:24 +01:00
David Snopek
e74a0f4b09
OpenXR: Allow moving vendor passthrough extensions to GDExtension
2024-02-03 12:40:41 -06:00
Rémi Verschelde
fb5f34a75a
Merge pull request #87745 from dsnopek/openxr-change-reference-space
...
OpenXR: Allow changing play area mode during active session
2024-02-02 12:03:09 +01:00
David Snopek
5935bfa860
OpenXR: Allow changing play area mode during active session
2024-01-31 12:58:22 -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
Bastiaan Olij
afd1dcf1b1
OpenXR: Add runtime selection dropdown
2024-01-18 15:59:22 +01:00
Yuri Sizov
b6a2c78033
Merge pull request #87286 from akien-mga/fix-preprocessor-if-ENABLED-checks
...
Fix `#if *_ENABLED` inconsistencies, should check if defined
2024-01-17 18:53:33 +01:00
Yuri Sizov
cf76f3df03
Merge pull request #87240 from Malcolmnixon/bone-update-mode
...
Add bone update option to OpenXRHand to allow preserving original hand scale
2024-01-17 18:53:15 +01: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
Yuri Sizov
95b27fe8c7
Reorganize code related to editor theming
...
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.
Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.
All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Malcolm Nixon
c316eee929
Add bone update option to OpenXRHand to allow preserving original hand scale.
...
This is useful if the hand model is not weighted to support re-scaling to the users hands; or the hand is scaled to non-human sizes.
2024-01-15 23:55:13 -05: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
Rémi Verschelde
087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
...
Update deferred calls to use Callables
2024-01-11 17:36:29 +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
kobewi
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
Rémi Verschelde
c6671d9961
Merge pull request #86906 from Malcolmnixon/avatar-capable-openxrhand
...
Add ability to drive full-body avatars using OpenXRHand
2024-01-08 14:53:20 +01:00
Malcolm Nixon
5b8b2a4e70
Add ability to drive full-body avatars using OpenXRHand
...
This PR allows the OpenXRHand to drive:
- OpenXR rigged hand skeletons located under the OpenXRHand node
- Godot Humanoid rigged hand skeletons located under the OpenXRHand node
- OpenXR rigged avatar skeletons located separately in the scene-tree
- Godot Humanoid avatar skeletons located separately in the scene-tree
2024-01-07 12:08:54 -05:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy
2023-12-16 13:36:44 -05:00
Yuri Sizov
abe19496ac
Merge pull request #85163 from BastiaanOlij/openxr_play_area
...
OpenXR: Add support for retrieving play area
2023-12-16 17:49:34 +01:00
Bastiaan Olij
69a41b3d39
OpenXR: Add support for retrieving play area
2023-12-11 10:29:03 +11:00
Rémi Verschelde
a311a4b162
Merge pull request #83976 from BastiaanOlij/gles3_msaa_scaler
...
Add 3D MSAA and scaling support to GLES3
2023-12-07 14:36:42 +01:00
Bastiaan Olij
caddce14dd
Add 3D MSAA and scaling support to GLES3
2023-12-05 10:01:00 +11:00
Bastiaan Olij
3af0176e8c
Remove unused grip touch action from default OpenXR action map
2023-11-18 20:17:28 +11:00
Rémi Verschelde
ba713c80df
Fix various typos with codespell
...
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Bastiaan Olij
c512e85082
Fix OpenXR sample count
2023-10-28 17:17:13 +11:00
Rémi Verschelde
f0b6677906
openxr: Sync with upstream 1.0.31, don't build obsolete dispatch table
2023-10-26 10:01:48 +02:00
Rémi Verschelde
2079bbabfd
openxr: Revert to 1.0.28, newer versions crash on Windows/Mingw-GCC
...
Reverts #82582 .
Works around #83674 .
Users tested 1.0.29, 1.0.30, and 1.0.31, which all triggered the same issue,
with both mingw-gcc from Fedora 36 and Fedora 39.
2023-10-23 11:10:31 +02:00
Yuri Sizov
cd31407cb3
Clean up some Editor, OpenXR, VideoStream code
...
- EditorNode has excessive and pointless checks for Input singleton.
- EditorNode initialization order is a bit awkward.
- OpenXR binds a method that doesn't need that (for call deferred).
- VideoStream has a formatting error.
2023-10-20 17:54:39 +02:00
Rémi Verschelde
94810115fe
openxr: Sync with upstream 1.0.30
2023-10-17 15:46:01 +02:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +02:00
Rémi Verschelde
7f8c3124a8
Merge pull request #82752 from decacis/openxr_swapchain_error
...
OpenXR - Properly skip frame render when the XR runtime is not yet ready to let us acquire the next image from the swapchain
2023-10-06 12:52:52 +02:00
Rémi Verschelde
373c4b22d3
Fix various typos with codespell
...
Using 2.2.7.dev5+g2af65969.
2023-10-06 12:52:22 +02:00
Daniel Castellanos
771ec958af
Fixing incorrect swapchain release timing
...
Applied a couple of checks suggested by @dhoverml for when the
XrResult is not XR_SUCCESS but is also not a failure. Also simplified
checks from @BastiaanOlij feedback.
2023-10-05 01:34:51 -06: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
3e233e1f24
Fix various typos with codespell
...
Using 2.2.6.dev193+g907e5380.
2023-09-18 09:53:39 +02:00
Yuri Sizov
495b89ece9
Merge pull request #81561 from BastiaanOlij/fix_openxr_blend_modes
...
Fix issue with OpenXR environment blend mode not being applied properly
2023-09-14 15:21:49 +02:00
Yuri Sizov
ded139384e
Merge pull request #81536 from BastiaanOlij/fix_openxr_not_running_error_spam
...
OpenXR: Fix error spam if session hasn't started yet
2023-09-14 15:21:41 +02:00
Bastiaan Olij
3806d964e3
Fix issue with OpenXR environment blend mode not being applied properly
2023-09-13 14:07:23 +10:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
...
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Bastiaan Olij
b1548e8b19
OpenXR fix error spam if session hasn't started yet
2023-09-11 14:12:34 +10:00
Bastiaan Olij
c5e4f3eb74
OpenXR fix missing add profile for hauwei
2023-09-11 13:44:03 +10: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
kobewi
6de34fde27
Add EditorStringNames singleton
2023-09-03 19:58:18 +02: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
Rémi Verschelde
8a02cd0883
Merge pull request #80419 from Faolan-Rad/fix-multi_actionsets
...
Properly load multiple action sets in XR
2023-08-18 09:30:52 +02:00
Rémi Verschelde
3907e53ff6
SCons: Disable C++ exception handling
...
Upon investigating the extremely slow MSVC build times in #80513 , I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.
This is wasteful on multiple aspects:
- Binary size: Around 20% binary size reduction with exceptions disabled
for both MSVC and GCC binaries.
- Compile time:
* More than 50% build time reduction with MSVC.
* 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.
Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +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