Commit Graph

330 Commits

Author SHA1 Message Date
zach bethel
a2c7d0ff1b Refactored OnTransformChanged to take an RHI command list so that it can be moved off the render thread.
[CL 26674727 by zach bethel in ue5-main branch]
2023-07-28 11:29:43 -04:00
jeff fisher
ca2a7da45a UE-190852 MotionControllerComponent Velocity related fixes
-Expose AngularVelocity, etc directly from MotionControllerComponent.
-Expose AngularVelocity to blueprint as an FRotator.
-Better parameter names and comments for the FVector representation of angular velocity: AngularVelocityAsVectorAndLength.  It was quite prone to misuse previously.
-Fixed late update of HMD motion controllers potentially firing when it should not.
-Split the controller poll function into game and render thread versions.
#jira UE-190852
[REVIEW]
#rb Christopher.fiala

[CL 26611565 by jeff fisher in ue5-main branch]
2023-07-26 12:46:53 -04:00
ben hoffman
e84cdf54b5 Wrap IMotionController.h with deprecation warning disable pragma for reference to the now deprecated UPlayerMappableInputConfig.
#jira UE-181937
#rnx
#rb trivial

[CL 26289545 by ben hoffman in ue5-main branch]
2023-06-28 12:54:54 -04:00
zach bethel
aa1b0c680f Deprecated non-command list RHI methods.
- RHICreate{Vertex, Index, Structured}Buffer
 - RHICreate{ShaderResource, UnorderedAccess}View
 - RHIUpdateUniformBuffer
 - Various initialization / locking methods for helper buffer types in RHIUtilities.h

The goal is to continue to force resource creation through command lists to avoid surprises with moving things off the render thread.

#rb christopher.waters

[CL 26183242 by zach bethel in ue5-main branch]
2023-06-22 11:08:27 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
henrik karlsson
b8482b44dd [Engine]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong

[CL 26082043 by henrik karlsson in ue5-main branch]
2023-06-17 16:57:38 -04:00
christopher fiala
0ec56a9c15 Unify setting readback of bStartInVR into a single helper function in IStereoRendering.
#jira UE-136244
#rb jeff.fisher
#preflight 6435d28316422fa2b4f2b46d

[CL 24999509 by christopher fiala in ue5-main branch]
2023-04-11 17:55:18 -04:00
Jeff Fisher
25ff24a7b1 UE-181824 Move HeadMountedDisplay files to XRBase plugin to reduce UE overhead.
-Moving much of engine/source/runtime/headmounteddisplay to a plugin mainly to reduce minimum UE executable size and memory use.  But this is also nice for organization.  The ideal would be to move everything except interfaces used by core engine. VREditor pulling in UMotionControllerComponent is the main blocker at this time.  That dependency is expected to go away eventually at which point we can do the rest of this transfer.
-Added dependencies to XRBase plugin or module as necessary, refactored to avoid some dependencies, removed a few unnecessary dependencies.
-Stripped vestigial VR references from a few project templates.  Mostly just unused HeadMountedDisplay module refs, but a tiny bit of code from TP_Puzzle.
-Fixed dependency cycle ignores related to MaterialShaderQualitySettings PIEPreviewDeviceProfileSelector and UnrealEd.  For reasons I do not understand the HeadMountedDisplay dependency on AugmentedReality was preventing the detection of those, long existent, cycles.
#jira UE-181824
#review
#rb Robert.Srinivasiah
#preflight 642f3cbf4c3ccbbdf1990a1f  6434291c28551807175e1142

[CL 24984065 by Jeff Fisher in ue5-main branch]
2023-04-10 17:12:32 -04:00
christopher fiala
6cf4f95ff6 Added functionality to IXRLoadingScreen to check if XR loading movie is playing, and to skip updating viewports in LoadMap if so. This matches existing logic for non-VR loading movies. Fixes swapchain crash when loading a new level with an OpenXR splash movie playing on packaged Windows builds.
#jira UE-179473
#rb robert.srinivasiah
#preflight 6423a96b051bec41cddc7368

[CL 24831495 by christopher fiala in ue5-main branch]
2023-03-28 23:43:24 -04:00
Jeff Fisher
2915624d4a UE-180807 XR EControllerHand use reduction.
-Refactored FXRMotionControllerBase EControllerHand GetControllerOrientationAndPosition and GetControllerTrackingStatus into a new FXRMotionControllerBaseLegacy that only legacy maintenence mode VR plugin motion controllers will derive from.  This allows us to make the new preferred api pure virtual and to eliminate implementations of the old deprecated api from plugins still in active development.
-Updated all VR plugins to comply.
-Removed "AnyHand" support from OpenXRHandTracking.  We don't support it in the controllers for OpenXR so we shouldn't support it in openxr hand tracking.
#jira UE-180807
#review
#rb Jules.blok
#preflight 64234a29974dfaa53c0dfe9c

[CL 24826104 by Jeff Fisher in ue5-main branch]
2023-03-28 16:37:17 -04:00
Jeff Fisher
64403c6f95 UE-181471 Delete SteamVR plugin.
-Deprecated in 5.1.  OpenXR should be used instead.
-A few instances of the string "SteamVR" remain.  In some case we are comparing to the OpenXR Runtime name, which remains correct.  In some we are searching input profile paths for SteamVR, which also remains correct.  VRScouting is doing the input profile path and then overriding VREditor's view of the xr plugin name, so at first glance VREditor still seems to be using SteamVR, but it actually does not depend on that (That code will likely be further refactored as time goes on).
#jira UE-181471
#preflight 64233be9803cb466e86ad33c
#review
#rb Arciel.Rekman

[CL 24825198 by Jeff Fisher in ue5-main branch]
2023-03-28 15:55:51 -04:00
Jeff Fisher
e488114b10 StereoLayerManager potentially uses invalidated FLayerData
-Make a copy of the top FLayerData from which we can copy properties if we need to when adding new ones to the stack.
#jira UE-180749
#review-24719870
#rb Arciel.Rekman
#preflight 6418cec13f3d31c94ababa57

[CL 24724793 by Jeff Fisher in ue5-main branch]
2023-03-20 17:45:31 -04:00
erica stella
5e7a3080d7 Subscribed XRDeviceVisualizationComponent to OnXRInteractionProfileChanged delegate.
xrGetCurrentInteractionProfile returns 0 for the first few frames. If the MotionControllerComponent tries to start the device visualization before xrGetCurrentInteractionProfile has started returning a valid interaction profile the OpenXRAssetManager will return a null static mesh. Receving the callback from OnXRInteractionProfileChanged allows to set the correct static mesh when the correct interaction profile is set.

#jira UE-179774
#rb jeff.fisher
#preflight 6412f1485819afacaf63500f

[CL 24672044 by erica stella in ue5-main branch]
2023-03-16 11:43:17 -04:00
erica stella
f24357e378 Added tooltip to MotionControllerComponent MotionSource.
#jira UE-179133
#preflight 6412f4a65819afacaf63e4df

[CL 24669157 by erica stella in ue5-main branch]
2023-03-16 07:10:14 -04:00
jules blok
985432e680 Add Palm Pose support to OpenXR
#jira UE-179139
#preflight none

[CL 24575371 by jules blok in ue5-main branch]
2023-03-09 09:42:12 -05:00
christopher waters
030fb3c659 Adding batched parameter paths for more shared shader types.
#preflight 63fd1859a134e0b059f30880

[CL 24433956 by christopher waters in ue5-main branch]
2023-02-27 17:34:22 -05:00
christopher waters
8f4f274f24 Removing more dependencies on Renderer/Private
#preflight 63ee80a561378b7ea0cb8102

[CL 24273650 by christopher waters in ue5-main branch]
2023-02-16 19:29:41 -05:00
christopher waters
b003ebe78d Removing almost all uses of Renderer/Private from plugins and modules.
[CL 24217615 by christopher waters in ue5-main branch]
2023-02-14 14:19:47 -05:00
erica stella
34d05dabd0 Fix alpha of emulated stereo layers on hmd and spectator screen.
#jira UE-175969
#rb robert.srinivasiah
#preflight 63e69304e92f139c51561df7

[CL 24125140 by erica stella in ue5-main branch]
2023-02-10 14:47:28 -05:00
erica stella
e505b96958 Fixed editor crash happening when accessing vr.SpectatorScreenMode console variable without a controller.
#jira none
#rb arciel.rekman
#preflight 63e0f1641b44ee7cb1d27f43

[CL 24032956 by erica stella in ue5-main branch]
2023-02-06 12:31:08 -05:00
erica stella
6a06bef13b Copy emulated face locked layers to spectator screen.
#jira UE-174881
#rb robert.srinivasiah jeff.fisher
#preflight 63d9348731334253e585788c

[CL 23928880 by erica stella in ue5-main branch]
2023-01-31 11:47:00 -05:00
christopher waters
c6c2200520 Adding includes before cleaning up RHI dependencies.
[CL 23888475 by christopher waters in ue5-main branch]
2023-01-27 14:17:39 -05:00
Jules Blok
d6c7c477e5 Improve handling of VRNotificationsComponent delegates.
Also adds a new event to allow devs to respond to interaction profile changes.

#jira UE-173980
#rb robert.srinivasiah
#preflight 63d0622cb91ac945f5cb9dce

[CL 23841551 by Jules Blok in ue5-main branch]
2023-01-24 18:46:18 -05:00
erica stella
fd40ba38a5 Face locked stereo layers emulation added.
Also fixed a bug for which, if SetupFrameQuadLayers_RenderThread was called more than once with GetStereoLayersDirty = true, NativeQuadLayers were recreated from scratch and lost the current state of bUpdateTexture. This led to static swapchains trying to acquire a second image making the app crash.

#jira UE-169283
#rb robert.srinivasiah
#preflight 63cfbf086730a500ffa12ae2

[CL 23833325 by erica stella in ue5-main branch]
2023-01-24 12:36:53 -05:00
christopher fiala
a5f2b0c380 LWC truncation warning fixed for the HeadMountedDisplay module.
#jira UE-166461
#rb robert.srinivasiah
#preflight 63cedc93f2318350a20ed5af

[CL 23818873 by christopher fiala in ue5-main branch]
2023-01-23 14:25:05 -05:00