Commit graph

87332 commits

Author SHA1 Message Date
Ada
f02bee52ae OpenXrInputPlugin: Tweak hand offset slightly 2025-02-13 08:12:01 +10:00
Ada
dd3ec18204 DeferredFrameTransform: Hack to get lighting working properly in VR
Somewhere, the eye view transform is being applied twice. For now,
this hack with applying an inverse view transform corrects the bugged
lighting in the XR branch.
2025-02-13 08:12:01 +10:00
Ada
9bdc389556 OpenXrInputPlugin: Correct HMD-head bone offset 2025-02-13 08:12:01 +10:00
Ada
c9b528545d OpenXrInputPlugin: Adjust hand and head-to-eyes offsets
Hands are now basically perfect (on Vive controllers, at least,
palm pose/grip surface would really help but it's not well supported)
Head now bends properly at the bottom of the head bone and the HMD view
isn't stuck at the bottom of the head bone.

TODO: The current solution doesn't account for avatar scale or the
actual positions of their eyes. The pull-forward offset for the view
might also be too far, I'll need to get feedback on it.
2025-02-13 08:12:01 +10:00
Ada
13ba848a00 OpenXrContext: Don't try and fail to initialize on Wayland 2025-02-13 08:12:01 +10:00
Ada
afaa8da5d1 OpenXrInputPlugin: Oculus touch and WMR controller profiles 2025-02-13 08:12:01 +10:00
Ada
ac75151449 Revert OpenVrDisplayPlugin getPlayAreaRect hack 2025-02-13 08:12:01 +10:00
Ada
6b56354ed0 OpenXrInputPlugin: User-friendly input actions
Replaces the raw controller button inputs with named OpenXR actions.
There's a lot of engine components that expect raw controller inputs
like the VR teleport script. Those will have to be refactored later,
but for now this works well enough and is perfectly usable. A small
issue I've hit is the LY input working for the teleport script,
but not for smooth locomotion. I've hacked around this by having
the "walk" action bound both to LX/LY and to the Translate actions.
It's a bit janky for teleports, but it's functional.

TODO: Feedback on intuitive bindings for other controller types besides
just the HTC Vive controllers.
2025-02-13 08:12:01 +10:00
Ada
d4f7850966 OpenXrInputPlugin: Make actions more generic
This still isn't ideal and it uses the Vive controller settings,
but this should work on most controllers thanks to OpenXR's built-in
action remapping and standardised button names.
2025-02-13 08:12:01 +10:00
Ada
aff787cc95 OpenXrInputPlugin: Hack for Vive controllers
This aught to be replaced with a proper set of XR input profiles,
at the moment this is *just* enough to get hardcoded button inputs
working with the existing Vive controller config.
2025-02-13 08:12:01 +10:00
4fd0a9f0ec Make sure add-apt-repository is available. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
637ee0bee6 pr_build: Get GCC 13 on Ubuntu using the ppa:ubuntu-toolchain-r/test. 2025-02-13 08:12:01 +10:00
296250b892 Install missing xcb/glx.h dependency. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
25b006f8f0 OpenXrDisplayPlugin: Use C++20 std::format. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
ebbd4725d6 OpenXrInputPlugin: Use C++20 map iterators. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
f75ef23da2 OpenXr: Use C++20 std::optional. 2025-02-13 08:12:01 +10:00
HifiExperiments
7aa0fbb89f OpenXr: Platform improvements.
Add missing includes on Windows.
Include GLX only on Linux.

Move openxr_platform.h include to OpenXrContext.h. To make this
possible, certain names from GLX/X11 need to be undefined in order to be
now includable in OpenXrInput.h.

Add Overte e.V. copyright.

Co-authored-by: Lubosz Sarnecki <lubosz@gmail.com>
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
630d495230 GLMHelpers: Fix build with C++20 on GCC.
When enabling C++20 the lerp function seems to be redefined on GCC (not
on MSVC), don't redefine it using a CMake definition.
2025-02-13 08:12:01 +10:00
9702049ede OpenXr: Enable C++20 for OpenXR plugin.
Enabling it globally causes issue with WebRTC.

Co-authored-by: Lubosz Sarnecki <lubosz@gmail.com>
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
2a26a71f2c OpenXrContext: Add Windows platform and bindings. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
a400490815 OpenXrInputPlugin: Improve haptic feedback mapping. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
123f9647e0 controllers: Improve openxr_index.json mapping. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
8dd80c6d75 controllers: openxr: Use actions for walking.
This makes the Y thumbstick axis work.
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
07b23cc5c4 OpenXrInput: Improve mapping for the Index controller.
* Add thumbstick click and touch.
* Add face and trigger touch.

Use left primary / secondary instead of face button names.
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
baf012f6bc OpenGlDisplayPlugin: Add possibility to present frames only once.
Don't present frame more than once in OpenXrDisplayPlugin.
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
78d002b02c OpenXrContext: Improve errors when runtime is not available. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
a9332ea595 plugins: Add OpenXR plugin.
Add OpenXrDisplayPlugin and OpenXrInputPlugin.
Add controller bindings for the Valve Index controller.
2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
d084142866 Application: Improve scoping. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
aecc5cd387 Application: Maintain orientation of eye offset matrix. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
2125d60a4e Context: Maintain orientation of eye offset matrix. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
da111b996c HmdDisplayPlugin: Fix whitespace. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
d8ea8acf14 UserInputMapper: Make error an error. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
86717c75c5 Camera: Init default values. 2025-02-13 08:12:01 +10:00
Lubosz Sarnecki
18e104bd5e ports: Add openxr-loader.
Copy from vcpkg repository.
Add OpenXR to hifi-client-deps.
2025-02-13 08:12:00 +10:00
Lubosz Sarnecki
90f00c1952 ports: Add jsoncpp.
The build demands it but it's missing.
Copy from upstream vcpkg repo.

Fixes the following error:
```
Computing installation plan...
error: while looking for jsoncpp:x64-linux:
overte-files/vcpkg/cfe0a2a0/ports/jsoncpp: error: jsoncpp does not exist
```
2025-02-13 08:12:00 +10:00
33b288a37e
Merge pull request #1304 from AleziaKurdis/placesAppDeadImagesManagement
Places App: Addressing ugly image "broken link" in Place Details
2025-02-10 20:50:14 +01:00
9e9f308be8
Merge pull request #1302 from overte-org/JulianGro-patch-1
Remove missed comment about removing dependency on script library.
2025-02-10 20:48:50 +01:00
ccdac96b9d
Merge pull request #1296 from AleziaKurdis/placeApp_rezTP
Places app: Portal Spawner and Copy URL
2025-02-10 20:43:52 +01:00
Alezia Kurdis
1a1779a507
Address ugly image broken link in Place Details
Address ugly image broken link in Place Details
2025-02-03 21:26:31 -05:00
d321301b40
Remove missed comment about removing dependency on script library. 2025-01-26 01:13:22 +01:00
7a59a27eec
Merge pull request #1276 from AleziaKurdis/Armored-Chat_sortOrder
Armored-Chat: Add sortOrder.
2025-01-22 17:57:36 +01:00
Alezia Kurdis
f1cecade22
Fix Documentation for PICK_AVATARS
In The documentation, the syntax wasn't right for Picks.PICK_AVATARS
Previously we could read: PICK_AVATATRS
But it was supposed to be be: PICK_AVATARS
2025-01-17 21:48:23 -05:00
Alezia Kurdis
29471048c8
Fix Documentation Link for EntityProperties-Sound
Fix Documentation Link for EntityProperties-Sound
2025-01-17 21:37:53 -05:00
Alezia Kurdis
c70fb31367
Using Sound Entity for the portal
Using Sound Entity for the portal, this simplify the termination of the looping sound.
2025-01-17 21:23:46 -05:00
Alezia Kurdis
ec47320ee2
Adding Portal Sound and Maximum Spawn protection
Adding Portal Sound and Maximum Spawn protection
2025-01-16 22:19:10 -05:00
Alezia Kurdis
febb84e0f5
Add Portal spawner and Copy URL
Add Portal spawner and Copy URL
2025-01-15 22:46:08 -05:00
HifiExperiments
a7805e7592
Merge pull request #1293 from HifiExperiments/implement-serializer
Implement network serializer (rebased)
2025-01-13 16:45:25 -08:00
HifiExperiments
a7be389aed fix padding, remove unused function 2025-01-11 20:08:31 -08:00
Dale Glass
b2665cbd4e Fix warnings 2025-01-11 18:41:51 -08:00
HifiExperiments
e1546ac3d0 suggested fixes 2025-01-11 18:41:51 -08:00