2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
|
|
|
|
#include "HeadMountedDisplayTypes.h"
|
|
|
|
|
#include "IIdentifiableXRDevice.h"
|
|
|
|
|
#include "UObject/ObjectMacros.h"
|
|
|
|
|
#include "Features/IModularFeature.h"
|
|
|
|
|
#include "IXRInput.h"
|
2020-09-24 00:43:27 -04:00
|
|
|
#include "XRGestureConfig.h"
|
2020-10-22 19:19:16 -04:00
|
|
|
#include "StereoRendering.h"
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
class IXRCamera;
|
2020-09-24 00:43:27 -04:00
|
|
|
class UARPin;
|
2020-10-22 19:19:16 -04:00
|
|
|
class FSceneViewFamily;
|
|
|
|
|
struct FWorldContext;
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Struct representing the properties of an external tracking sensor.
|
|
|
|
|
*/
|
|
|
|
|
struct FXRSensorProperties
|
|
|
|
|
{
|
|
|
|
|
/** The field of view of the sensor to the left in degrees */
|
|
|
|
|
float LeftFOV;
|
|
|
|
|
/** The field of view of the sensor to the right in degrees */
|
|
|
|
|
float RightFOV;
|
|
|
|
|
/** The upwards field of view of the sensor in degrees */
|
|
|
|
|
float TopFOV;
|
|
|
|
|
/** The downwards field of view of the sensor in degrees */
|
|
|
|
|
float BottomFOV;
|
|
|
|
|
/** The near plane of the sensor's effective tracking area */
|
|
|
|
|
float NearPlane;
|
|
|
|
|
/** The far plane of the sensor's effective tracking area */
|
|
|
|
|
float FarPlane;
|
|
|
|
|
|
|
|
|
|
/** The focal distance of the camera. Can be zero if this does not make sense for the type of tracking sensor. */
|
|
|
|
|
float CameraDistance;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
2020-09-24 00:43:27 -04:00
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* Main access point to an XR tracking system. Use it to enumerate devices and query their poses.
|
|
|
|
|
*/
|
|
|
|
|
class HEADMOUNTEDDISPLAY_API IXRTrackingSystem : public IModularFeature, public IXRSystemIdentifier
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
static FName GetModularFeatureName()
|
|
|
|
|
{
|
|
|
|
|
static const FName FeatureName = FName(TEXT("XRTrackingSystem"));
|
|
|
|
|
return FeatureName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns version string.
|
|
|
|
|
*/
|
|
|
|
|
virtual FString GetVersionString() const = 0;
|
|
|
|
|
|
2020-09-24 00:43:27 -04:00
|
|
|
/**
|
|
|
|
|
* Returns device specific flags.
|
|
|
|
|
*/
|
|
|
|
|
virtual int32 GetXRSystemFlags() const = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* Device id 0 is reserved for an HMD. This should represent the HMD or the first HMD in case multiple HMDs are supported.
|
|
|
|
|
* Other devices can have arbitrary ids defined by each system.
|
|
|
|
|
* If a tracking system does not support tracking HMDs, device ID zero should be treated as invalid.
|
|
|
|
|
*/
|
|
|
|
|
static const int32 HMDDeviceId = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Whether or not the system supports positional tracking (either via sensor or other means)
|
|
|
|
|
*/
|
|
|
|
|
virtual bool DoesSupportPositionalTracking() const = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3764848)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3640098 by Mike.Beach
Switching the MR capture processing material to use a external sampler now (since that's what media textures are marked as now).
Change 3642021 by Mike.Beach
Moving so MediaBlueprint header to Public so FMediaCaptureDevice can be used in other BP APIs (in other modules).
#jira UEVR-910
Change 3642030 by Mike.Beach
[WIP] Refactoring the MR capture component (along with the calibration level) so we can save off a reference to the video stream/format users select (adding a device selection step to calibration).
#jira UEVR-910
Change 3645768 by Mike.Beach
[WIP] Refining device selection/calibration so it reports which feeds error.
#jira UEVR-910
Change 3646047 by Mike.Beach
CIS linux fix.
Change 3646350 by Mike.Beach
[WIP] Provide an ini setting which you can explicitly prioritize a format selection for MR calibration (reflects the list in editor).
Change 3664526 by Keli.Hlodversson
#jira UE-50100
Updated library revision for GoogleVR
Unshelved from pending changelists '3646524', '3646526', '3646528'':
Change 3666500 by Keli.Hlodversson
Fix -Wreorder compiler warnings
Change 3678564 by Douglas.Copeland
Updating TM-HMDNodes LEvel BP to replace deprecated Tracking Sensor node
Change 3678919 by Mike.Beach
Extending and renaming the XRSystemAssets interface. Plus fixing a few bugs found in the SteamVR implementation.
Change 3678920 by Mike.Beach
Stubbing in Oculus support for a IXRSystemAssets implementation (currently using our own 'unofficial' models from the VREditor).
Change 3678922 by Mike.Beach
Adding XR Blueprint library functions for accessing specific device information (tracking, modeling, etc.).
Change 3678941 by Mike.Beach
CIS fixes for Dev-VR (fallout from CL 3678919)
Change 3679930 by Mike.Beach
Adding native support to MotionController components, for rendering the associated device.
Change 3681153 by Mike.Beach
Speculative fix for android CIS errors.
#jira UE-50776
Change 3697385 by Keli.Hlodversson
Fix broken OSVR build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3697516 by Keli.Hlodversson
Fix broken SimpleHMD build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3698318 by Ryan.Vance
Inverse can fail if we don't normalize the player's rotation.
Change 3698371 by Keli.Hlodversson
GoogleVR projects fail to build: GoogleVRHMD.cpp(1175,110) : error: no member named 'ES2' in 'EShadingPath'
#jira UE-51334
Change 3701479 by Mike.Beach
Adding the ability to delay motion controller tracking for MR capture views (to better sync with camera feeds).
#jira UEVR-908
Change 3703264 by Mike.Beach
CIS fixes for linux (fallout from CL 3701479).
Change 3703792 by Ryan.Vance
Disable mobile multi-view for Daydream if the gvr query for support fails.
Change 3704273 by Mike.Beach
[WIP] The MRPlugin now auto spawns a MR capture actor if you have a MR config save file.
Change 3704524 by Mike.Beach
MR Calibration - Enter key can now progress you through some of the prompts.
Change 3706679 by Mike.Beach
Fixing issue with MotionController display models where the model component wouldn't be destroyed along with the MotionControllerComponent
Change 3707538 by Mike.Beach
Hiding child actors along with the player in the MR capture.
Change 3714120 by Mike.Beach
Adding new library function to transform tracking space positions/orientations into world space. And fixing EnumerateTrackedDevices/GetDevicePose, which weren't finding the appropriate tracking system.
Change 3716143 by Mike.Beach
Speculative fix for XboxOne CIS issues.
Change 3719006 by Mike.Beach
Removing some debug log spam that I accidently left in CL 3714120.
Change 3719774 by Mike.Beach
Adding a scoped event name for the rift eye padding draw (so it shows up named in captures like from RenderDoc).
Change 3719778 by Mike.Beach
Mirroring CL 3671849 from 4.18.
Removing Oculus call to reset tracking origin on initialization (so we respect the play space that was calibrated in oculus setup) - ensuring parity w/ Vive (fixing regression).
#jira UE-48260
Change 3736279 by Jeff.Fisher
Touching a couple files to see if it helps the build machine by making it sync them again.
Change 3736296 by Jeff.Fisher
Touching another file to kick the build machine into syncing it.
Change 3740060 by Ryan.Vance
Removing PostInitViewFamily_RenderThread and PostInitView_RenderThread view extension callbacks.
Change 3744913 by Mike.Beach
Fixing up the MotionDelayBuffer for MixedReality
- CIS fix when building for XboxOne
- Now works if late updating is disabled
- Switched to setting delay in millisecs and interpolating between samples
- Better handling for thread managment (was getting out of sync when focus was lost, etc.)
- Decoupled more from MotionControllerComponents (now polls separately, and uses its own LateUpdateManager to cache/apply)
#jira UEVR-908
Change 3747168 by Jeff.Fisher
UEVR-1018 MotionControllerComponent cleanup should be in beginDestroy, not Destructor
-Moved ViewExtension cleanup to BeginDestory from destructor.
-https://udn.unrealengine.com/questions/395504/strange-crash-in-umotioncontrollercomponent.html
#review-3724080
#jira UEVR-1018
Change 3753326 by Douglas.Copeland
Resaving qagame content to resolve Empty Engine Version Warning
Change 3753336 by Douglas.Copeland
Resolving more empty engine version content issues
Change 3754252 by Mike.Beach
Mirroring CL 3723722 from 4.18.1
Hotfix update from Oculus.
- Introduce dash support by adding an Oculus config setting (that is off by default)
- Move submission of the near plane╞s depth from a fixed one at texture allocation time to an every-frame one, which is needed for correct depth support in games that have a ⌠god mode÷ with a smaller worldtometersscale
#jira UE-51728
Change 3754262 by Mike.Beach
Mirroring 3726121 from 4.18.1
Correcting a cpu perf regression from 4.17 - no longer calling FOculusHMDModule::Get() in what should be a cheap query function.
#jira UE-51766
Change 3754278 by Mike.Beach
Mirroring CL 3741384 from 4.18.1
Fix from Oculus for GearVR crashing/freezing when quit menu is invoked - making sure JNI is attached to the render thread (after losing focus).
#jira UE-52098
Change 3754300 by Mike.Beach
Mirroring CL 3742608 from 4.18.1
Fix from Oculus - improving perf on GearVR; keeping the window surface from scaling up to a size not required for Gear.
#jira UE-52127
Change 3754319 by Mike.Beach
Build fix - fallout from blindly adopting CL 3726121 from 4.18.1 w/out fixup (CL 3754262)
Change 3755546 by Keli.Hlodversson
Marking a zombie header file for delete. Seems to get resurrected from the dead on every merge from main.
File is no longer relevant as the OculusAudio plugin has been moved to the Plugins/Runtime/Oculus parent directory.
Change 3759716 by Mike.Beach
Adopted chenges from Oculus (SI1.20)
Manually modified files:
- DefaultXRCamera.cpp
Rejected changes:
- SceneRenderTargets.cpp
#jira UE-50855, UE-50883, UE-50950, UE-50974, UE-52427
Change 3760918 by Keli.Hlodversson
Disable an ensure that had some false positives during the first few frames.
#jira UE-52448
Change 3760946 by Keli.Hlodversson
Missing SteamVR changes after deprecating RefreshPoses()
#jira UEVR-1037
Change 3762015 by Mike.Beach
CIS fix for android - fallout from Oculus 1.20 changes. Lib function was removed, with calls remaining on android (double checking with Oculus that this is the proper fix).
Change 3762236 by Ryan.Vance
Fixing up integration issues.
Change 3763437 by Keli.Hlodversson
Fix deprecation warning in SimpleHMD caused by removing RefreshPoses()
Change 3764713 by Ryan.Vance
#jira UE-52516
PSVR screen percentage was being disabled by default stereo layers on accident.
Change 3652413 by Mike.Beach
In editor, only utilizing the HMD orientation when we're in a VR related mode (VR preview, VR editor, etc.). Not normalizing view pitch rotation unless we're in one of those modes.
#jira UE-46724
Change 3690170 by Keli.Hlodversson
Postprocessing now uses only the HMDDistortion flag to see whether a postprocessing pass is required for the current plugin instead of the older clutch that checks the plugin HMD type
Added EShaderPath argument to GetHMDDistorionEnabled method so that the edge cases solved by the postprocessor and HMD type now can be handled by the plugins themselves.
#jira UEVR-996
Change 3690625 by Keli.Hlodversson
Remove IHeadMountedDisplay::GetHMDDeviceType() as it was added as a part of a clutch in postprocessing, but was later getting misused as a poor man's RTI even though a better alternative in IXRTrackingSystem::GetSystemName is already available.
#jira UEVR-996
Change 3760773 by Keli.Hlodversson
Update interfaces related to late update and begin rendering:
* Deprecate RefreshPoses
Note: Existing and non-empty RefreshPoses implementations have been made private and non-virtual, and renamed to UpdatePoses in order not to conflict with the still-existing deprecated method in the base interface.
* Rename BeginRendering_GameThread/RenderThread to OnBeginRendering_* and move them to IXRTrackingSystem instead of IHeadMountedDisplay.
* Add bool DoesSupportLateUpdate() const to IXRTrackingSystem. IXRCamera implementations can use the method to see whether the underlying tracking system implementation supports late update. Note it is up to the IXRTrackingSystem implementations inside each plugin to actually make sure poses are updated somewhere before the late update is applied by the IXRCamera. (eg. in OnBeginRendering_RenderThread or ..._GameThread)
* Move call to OnBeginRedering_RenderThread to happen before GetCurrentPose in FXRDefaultCamera so the plugin has a chance to refresh the poses inside its implementation of it.
* Add IXRTrackingSystem::OnLateUpdateApplied_RenderThread, a method for notifying the tracking system that late update has been applied, passing in the current relative pose. Used by FXRTrackingSystemBase to pass the updated transform to the stereo layers implementation.
#jira UEVR-1037
Change 3761781 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Manually resolved files:
- OculusHMD.cpp
- OculusHMD_Settings.h/cpp
- SteamVRHMD.cpp
- PostProcessing.cpp
- OrionGame/Plugins/.../OnlineSessionInterface.h/cpp
[CL 3766571 by Mike Beach in Main branch]
2017-11-20 12:50:04 -05:00
|
|
|
/**
|
|
|
|
|
* Return true if the default camera implementation should query the current pose at the start of the render frame and apply late update.
|
|
|
|
|
* In order to support late update, the plugin should refresh the current pose just before rendering starts.
|
|
|
|
|
* A good point to insert the update is in OnBeginRendering_GameThread or OnBeginRendering_RenderThread.
|
|
|
|
|
*
|
|
|
|
|
* Note that for backwards compatibility with plugins written before 4.19, this method defaults to returning 'true'
|
|
|
|
|
*/
|
|
|
|
|
virtual bool DoesSupportLateUpdate() const { return true; }
|
|
|
|
|
|
2021-06-22 00:27:54 -04:00
|
|
|
/**
|
|
|
|
|
* Return true if the default camera implementation should query the current projection matrix at the start of the render frame and apply late update.
|
|
|
|
|
* In order to support late update, the plugin should refresh the current projection matrix just before rendering starts.
|
|
|
|
|
* A good point to insert the update is in OnBeginRendering_GameThread or OnBeginRendering_RenderThread.
|
|
|
|
|
*
|
|
|
|
|
* Note that late projection update isn't compatible with all XR implementations because of projection matrix fetch restrictions.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool DoesSupportLateProjectionUpdate() const { return false; }
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* If the system currently has valid tracking positions. If not supported at all, returns false.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool HasValidTrackingPosition() = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Reports all devices currently available to the system, optionally limiting the result to a given class of devices.
|
|
|
|
|
*
|
|
|
|
|
* @param OutDevices The device ids of available devices will be appended to this array.
|
|
|
|
|
* @param Type Optionally limit the list of devices to a certain type.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool EnumerateTrackedDevices(TArray<int32>& OutDevices, EXRTrackedDeviceType Type = EXRTrackedDeviceType::Any) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the count of tracked devices
|
|
|
|
|
* @param Type Optionally limit the count to a certain type
|
|
|
|
|
* @return the count of matching tracked devices
|
|
|
|
|
*/
|
|
|
|
|
virtual uint32 CountTrackedDevices(EXRTrackedDeviceType Type = EXRTrackedDeviceType::Any) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Check current tracking status of a device.
|
|
|
|
|
* @param DeviceId the device to request status for.
|
|
|
|
|
* @return true if the system currently has valid tracking info for the given device ID.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool IsTracking(int32 DeviceId) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Refresh poses. Tells the system to update the poses for its tracked devices.
|
|
|
|
|
* May be called both from the game and the render thread.
|
|
|
|
|
*/
|
2018-11-28 15:05:11 -05:00
|
|
|
UE_DEPRECATED(4.19, "This functionality is no longer supported.")
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3764848)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3640098 by Mike.Beach
Switching the MR capture processing material to use a external sampler now (since that's what media textures are marked as now).
Change 3642021 by Mike.Beach
Moving so MediaBlueprint header to Public so FMediaCaptureDevice can be used in other BP APIs (in other modules).
#jira UEVR-910
Change 3642030 by Mike.Beach
[WIP] Refactoring the MR capture component (along with the calibration level) so we can save off a reference to the video stream/format users select (adding a device selection step to calibration).
#jira UEVR-910
Change 3645768 by Mike.Beach
[WIP] Refining device selection/calibration so it reports which feeds error.
#jira UEVR-910
Change 3646047 by Mike.Beach
CIS linux fix.
Change 3646350 by Mike.Beach
[WIP] Provide an ini setting which you can explicitly prioritize a format selection for MR calibration (reflects the list in editor).
Change 3664526 by Keli.Hlodversson
#jira UE-50100
Updated library revision for GoogleVR
Unshelved from pending changelists '3646524', '3646526', '3646528'':
Change 3666500 by Keli.Hlodversson
Fix -Wreorder compiler warnings
Change 3678564 by Douglas.Copeland
Updating TM-HMDNodes LEvel BP to replace deprecated Tracking Sensor node
Change 3678919 by Mike.Beach
Extending and renaming the XRSystemAssets interface. Plus fixing a few bugs found in the SteamVR implementation.
Change 3678920 by Mike.Beach
Stubbing in Oculus support for a IXRSystemAssets implementation (currently using our own 'unofficial' models from the VREditor).
Change 3678922 by Mike.Beach
Adding XR Blueprint library functions for accessing specific device information (tracking, modeling, etc.).
Change 3678941 by Mike.Beach
CIS fixes for Dev-VR (fallout from CL 3678919)
Change 3679930 by Mike.Beach
Adding native support to MotionController components, for rendering the associated device.
Change 3681153 by Mike.Beach
Speculative fix for android CIS errors.
#jira UE-50776
Change 3697385 by Keli.Hlodversson
Fix broken OSVR build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3697516 by Keli.Hlodversson
Fix broken SimpleHMD build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3698318 by Ryan.Vance
Inverse can fail if we don't normalize the player's rotation.
Change 3698371 by Keli.Hlodversson
GoogleVR projects fail to build: GoogleVRHMD.cpp(1175,110) : error: no member named 'ES2' in 'EShadingPath'
#jira UE-51334
Change 3701479 by Mike.Beach
Adding the ability to delay motion controller tracking for MR capture views (to better sync with camera feeds).
#jira UEVR-908
Change 3703264 by Mike.Beach
CIS fixes for linux (fallout from CL 3701479).
Change 3703792 by Ryan.Vance
Disable mobile multi-view for Daydream if the gvr query for support fails.
Change 3704273 by Mike.Beach
[WIP] The MRPlugin now auto spawns a MR capture actor if you have a MR config save file.
Change 3704524 by Mike.Beach
MR Calibration - Enter key can now progress you through some of the prompts.
Change 3706679 by Mike.Beach
Fixing issue with MotionController display models where the model component wouldn't be destroyed along with the MotionControllerComponent
Change 3707538 by Mike.Beach
Hiding child actors along with the player in the MR capture.
Change 3714120 by Mike.Beach
Adding new library function to transform tracking space positions/orientations into world space. And fixing EnumerateTrackedDevices/GetDevicePose, which weren't finding the appropriate tracking system.
Change 3716143 by Mike.Beach
Speculative fix for XboxOne CIS issues.
Change 3719006 by Mike.Beach
Removing some debug log spam that I accidently left in CL 3714120.
Change 3719774 by Mike.Beach
Adding a scoped event name for the rift eye padding draw (so it shows up named in captures like from RenderDoc).
Change 3719778 by Mike.Beach
Mirroring CL 3671849 from 4.18.
Removing Oculus call to reset tracking origin on initialization (so we respect the play space that was calibrated in oculus setup) - ensuring parity w/ Vive (fixing regression).
#jira UE-48260
Change 3736279 by Jeff.Fisher
Touching a couple files to see if it helps the build machine by making it sync them again.
Change 3736296 by Jeff.Fisher
Touching another file to kick the build machine into syncing it.
Change 3740060 by Ryan.Vance
Removing PostInitViewFamily_RenderThread and PostInitView_RenderThread view extension callbacks.
Change 3744913 by Mike.Beach
Fixing up the MotionDelayBuffer for MixedReality
- CIS fix when building for XboxOne
- Now works if late updating is disabled
- Switched to setting delay in millisecs and interpolating between samples
- Better handling for thread managment (was getting out of sync when focus was lost, etc.)
- Decoupled more from MotionControllerComponents (now polls separately, and uses its own LateUpdateManager to cache/apply)
#jira UEVR-908
Change 3747168 by Jeff.Fisher
UEVR-1018 MotionControllerComponent cleanup should be in beginDestroy, not Destructor
-Moved ViewExtension cleanup to BeginDestory from destructor.
-https://udn.unrealengine.com/questions/395504/strange-crash-in-umotioncontrollercomponent.html
#review-3724080
#jira UEVR-1018
Change 3753326 by Douglas.Copeland
Resaving qagame content to resolve Empty Engine Version Warning
Change 3753336 by Douglas.Copeland
Resolving more empty engine version content issues
Change 3754252 by Mike.Beach
Mirroring CL 3723722 from 4.18.1
Hotfix update from Oculus.
- Introduce dash support by adding an Oculus config setting (that is off by default)
- Move submission of the near plane╞s depth from a fixed one at texture allocation time to an every-frame one, which is needed for correct depth support in games that have a ⌠god mode÷ with a smaller worldtometersscale
#jira UE-51728
Change 3754262 by Mike.Beach
Mirroring 3726121 from 4.18.1
Correcting a cpu perf regression from 4.17 - no longer calling FOculusHMDModule::Get() in what should be a cheap query function.
#jira UE-51766
Change 3754278 by Mike.Beach
Mirroring CL 3741384 from 4.18.1
Fix from Oculus for GearVR crashing/freezing when quit menu is invoked - making sure JNI is attached to the render thread (after losing focus).
#jira UE-52098
Change 3754300 by Mike.Beach
Mirroring CL 3742608 from 4.18.1
Fix from Oculus - improving perf on GearVR; keeping the window surface from scaling up to a size not required for Gear.
#jira UE-52127
Change 3754319 by Mike.Beach
Build fix - fallout from blindly adopting CL 3726121 from 4.18.1 w/out fixup (CL 3754262)
Change 3755546 by Keli.Hlodversson
Marking a zombie header file for delete. Seems to get resurrected from the dead on every merge from main.
File is no longer relevant as the OculusAudio plugin has been moved to the Plugins/Runtime/Oculus parent directory.
Change 3759716 by Mike.Beach
Adopted chenges from Oculus (SI1.20)
Manually modified files:
- DefaultXRCamera.cpp
Rejected changes:
- SceneRenderTargets.cpp
#jira UE-50855, UE-50883, UE-50950, UE-50974, UE-52427
Change 3760918 by Keli.Hlodversson
Disable an ensure that had some false positives during the first few frames.
#jira UE-52448
Change 3760946 by Keli.Hlodversson
Missing SteamVR changes after deprecating RefreshPoses()
#jira UEVR-1037
Change 3762015 by Mike.Beach
CIS fix for android - fallout from Oculus 1.20 changes. Lib function was removed, with calls remaining on android (double checking with Oculus that this is the proper fix).
Change 3762236 by Ryan.Vance
Fixing up integration issues.
Change 3763437 by Keli.Hlodversson
Fix deprecation warning in SimpleHMD caused by removing RefreshPoses()
Change 3764713 by Ryan.Vance
#jira UE-52516
PSVR screen percentage was being disabled by default stereo layers on accident.
Change 3652413 by Mike.Beach
In editor, only utilizing the HMD orientation when we're in a VR related mode (VR preview, VR editor, etc.). Not normalizing view pitch rotation unless we're in one of those modes.
#jira UE-46724
Change 3690170 by Keli.Hlodversson
Postprocessing now uses only the HMDDistortion flag to see whether a postprocessing pass is required for the current plugin instead of the older clutch that checks the plugin HMD type
Added EShaderPath argument to GetHMDDistorionEnabled method so that the edge cases solved by the postprocessor and HMD type now can be handled by the plugins themselves.
#jira UEVR-996
Change 3690625 by Keli.Hlodversson
Remove IHeadMountedDisplay::GetHMDDeviceType() as it was added as a part of a clutch in postprocessing, but was later getting misused as a poor man's RTI even though a better alternative in IXRTrackingSystem::GetSystemName is already available.
#jira UEVR-996
Change 3760773 by Keli.Hlodversson
Update interfaces related to late update and begin rendering:
* Deprecate RefreshPoses
Note: Existing and non-empty RefreshPoses implementations have been made private and non-virtual, and renamed to UpdatePoses in order not to conflict with the still-existing deprecated method in the base interface.
* Rename BeginRendering_GameThread/RenderThread to OnBeginRendering_* and move them to IXRTrackingSystem instead of IHeadMountedDisplay.
* Add bool DoesSupportLateUpdate() const to IXRTrackingSystem. IXRCamera implementations can use the method to see whether the underlying tracking system implementation supports late update. Note it is up to the IXRTrackingSystem implementations inside each plugin to actually make sure poses are updated somewhere before the late update is applied by the IXRCamera. (eg. in OnBeginRendering_RenderThread or ..._GameThread)
* Move call to OnBeginRedering_RenderThread to happen before GetCurrentPose in FXRDefaultCamera so the plugin has a chance to refresh the poses inside its implementation of it.
* Add IXRTrackingSystem::OnLateUpdateApplied_RenderThread, a method for notifying the tracking system that late update has been applied, passing in the current relative pose. Used by FXRTrackingSystemBase to pass the updated transform to the stereo layers implementation.
#jira UEVR-1037
Change 3761781 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Manually resolved files:
- OculusHMD.cpp
- OculusHMD_Settings.h/cpp
- SteamVRHMD.cpp
- PostProcessing.cpp
- OrionGame/Plugins/.../OnlineSessionInterface.h/cpp
[CL 3766571 by Mike Beach in Main branch]
2017-11-20 12:50:04 -05:00
|
|
|
virtual void RefreshPoses() {}
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Temporary method until Morpheus controller code has been refactored.
|
|
|
|
|
*/
|
|
|
|
|
virtual void RebaseObjectOrientationAndPosition(FVector& Position, FQuat& Orientation) const {};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the current pose for a device.
|
|
|
|
|
* This method must be callable both on the render thread and the game thread.
|
|
|
|
|
* For devices that don't support positional tracking, OutPosition will be at the base position.
|
|
|
|
|
*
|
|
|
|
|
* @param DeviceId the device to request the pose for.
|
|
|
|
|
* @param OutOrientation The current orientation of the device
|
|
|
|
|
* @param OutPosition The current position of the device
|
|
|
|
|
* @return true if the pose is valid or not.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool GetCurrentPose(int32 DeviceId, FQuat& OutOrientation, FVector& OutPosition) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the device id represents a head mounted display, fetches the relative position of the given eye relative to the eye.
|
|
|
|
|
* If the device is does not represent a stereoscopic tracked camera, orientation and position should be identity and zero and the return value should be false.
|
|
|
|
|
*
|
|
|
|
|
* @param DeviceId the device to request the eye pose for.
|
2021-11-24 21:57:34 -05:00
|
|
|
* @param ViewIndex the view the pose should be requested for, if passing in INDEX_NONE, the method should return a zero offset.
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
* @param OutOrientation The orientation of the eye relative to the device orientation.
|
|
|
|
|
* @param OutPosition The position of the eye relative to the tracked device
|
|
|
|
|
* @return true if the pose is valid or not. If the device is not a stereoscopic device, return false.
|
|
|
|
|
*/
|
2021-11-24 21:57:34 -05:00
|
|
|
virtual bool GetRelativeEyePose(int32 DeviceId, int32 ViewIndex, FQuat& OutOrientation, FVector& OutPosition) = 0;
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the device id represents a tracking sensor, reports the frustum properties in game-world space of the sensor.
|
|
|
|
|
* @param DeviceId the device to request information for.
|
|
|
|
|
* @param OutOrientation The current orientation of the device.
|
|
|
|
|
* @param OutPosition The current position of the device.
|
|
|
|
|
* @param OutSensorProperties A struct containing the tracking sensor properties.
|
|
|
|
|
* @return true if the device tracking is valid and supports returning tracking sensor properties.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool GetTrackingSensorProperties(int32 DeviceId, FQuat& OutOrientation, FVector& OutPosition, FXRSensorProperties& OutSensorProperties) = 0;
|
|
|
|
|
|
2020-06-23 18:40:00 -04:00
|
|
|
/**
|
|
|
|
|
* If the device id represents a tracking sensor, reports the device type.
|
|
|
|
|
* @param DeviceId the device to request information for.
|
|
|
|
|
* @return the device type enum.
|
|
|
|
|
*/
|
|
|
|
|
virtual EXRTrackedDeviceType GetTrackedDeviceType(int32 DeviceId) const = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* If the device id represents a tracking sensor, reports the serial number as a string if the device supports it.
|
|
|
|
|
* @param DeviceId the device to request information for.
|
|
|
|
|
* @return the serial number of the device if it's available.
|
|
|
|
|
*/
|
|
|
|
|
virtual FString GetTrackedDevicePropertySerialNumber(int32 DeviceId) = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* Sets tracking origin (either 'eye'-level or 'floor'-level).
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetTrackingOrigin(EHMDTrackingOrigin::Type NewOrigin) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns current tracking origin.
|
|
|
|
|
*/
|
2019-05-28 12:50:48 -04:00
|
|
|
virtual EHMDTrackingOrigin::Type GetTrackingOrigin() const = 0;
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3767306 by Mike.Beach
Adopting a set of video capture fixes from Darren Pegg:
"Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0."
+ mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this
#jira UE-49870, UE-50217, UE-50227, UE-50224
Change 3767317 by Mike.Beach
[MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306.
#jira UEVR-910
Change 3767484 by Mike.Beach
Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space).
Change 3767489 by Mike.Beach
Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space).
Change 3768155 by Ryan.Vance
#jira UE-52089
Fixing cardboard only rendering in one eye.
Change 3769011 by Douglas.Copeland
Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map.
Change 3769195 by Douglas.Copeland
Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14
Change 3769256 by Douglas.Copeland
Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat.
Change 3769453 by Douglas.Copeland
Resaving content to resolve engine content warning
Change 3771076 by Keli.Hlodversson
Add missing const to a ref parameter.
Change 3771141 by Keli.Hlodversson
Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD.
#jira UE-52353
Change 3771602 by Mike.Beach
Replacing temp Rift controller models with official ones from Oculus.
#jira UEVR-830
Change 3774877 by Mike.Beach
Refining MR calibration (WIP)...
- New alignment process [WIP]
- More modular calibration steps (for easier refactoring)
- Stubbed in phase for lens calibration
- Centralized interface for debug (dev) settings
Change 3774880 by Mike.Beach
Adopted changes from Oculus (SI1.21); stubbing in functionality for:
- Lens matched shading
- Dynamic screen refresh rate switching
- Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency
Change 3774922 by Mike.Beach
Attempting CIS fix.
Change 3774972 by Mike.Beach
Making it so you can override the material on model components from the various XR systems (via MotionController component).
Change 3774974 by Mike.Beach
Missing assets from CL 3774877.
Change 3775128 by Nick.Atamas
Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR)
Change 3776135 by Mike.Beach
MR [WIP] - Updating the calibration save process .
- Now save after each calibration step
- Stubbed in save data for lens distortion
- Track progress and load you to the first incomplete calibration step
Change 3777110 by Mike.Beach
[WIP] MR - Adding ability to easily mirror monitor screen.
Change 3777146 by Mike.Beach
Removing superflous ensure that some of us were hitting.
Change 3777417 by Mike.Beach
[WIP] MR - Fixing alignment adjustment controls to match mirrored monitor.
Change 3777436 by Nick.Atamas
Initial check in of AugmentedReality module and ARKit support for it.
Also adding QAARApp to test the use of these systems.
Change 3778009 by Nick.Atamas
Missing file
Change 3778067 by Nick.Atamas
Fixing CIS
Change 3778155 by Nick.Atamas
Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR
Change 3778209 by Nick.Atamas
More CIS fixing.
Change 3778821 by Mike.Beach
[WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily).
Change 3779431 by Joe.Graf
Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/
Change 3780822 by Keli.Hlodversson
Adding OpenCV binaries plus build script to automatically fetch and rebuild it
#jira UE-52725
Change 3781037 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781046 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781049 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781129 by Joe.Graf
Fixed the warning generated by OpenCV.Build.cs
Change 3783476 by Mike.Beach
Attempt at fixing Win32 CIS errors.
Change 3783845 by Martin.Wilson
Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties
Change 3784397 by Jeff.Fisher
UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations
PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx)
-This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins.
-It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over.
#jira UE-51390
#review-3779148
Change 3784545 by Jeff.Fisher
Build fix for cl 3784397, made a local variable name unique.
Change 3784553 by Chance.Ivey
Stubbing Mobile AR Template files. Needs logic, icons and copy.
Change 3784570 by Jeff.Fisher
fix for cl 3784397
-Reverted monoscopicfarfield default change, accidentaly submit
Change 3785134 by Mike.Beach
[WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment.
Change 3787180 by Mike.Beach
Fixing up CIS
#jira UE-52998, UE-52996
Change 3787272 by Mike.Beach
Adopted changes from the anim team - Followup to CL 3787240.
The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components.
#jira UE-52783
Change 3787454 by Jeff.Fisher
Adding brackets after if as specific in code review.
Change 3787591 by Keli.Hlodversson
Add tps files for OpenCV
Change 3788478 by Mike.Beach
Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system.
#jira UEVR-1042, UEVR-1045, UEVR-1046
Change 3789836 by Jeff.Fisher
UE-53069 Editor crashes on open without SteamVR attached
-needed to check we are in stereo and device exists.
-Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug
#jira UE-53069
Change 3789841 by Mike.Beach
CIS fix - fallout from CL 3787272.
Change 3790102 by Jeff.Fisher
UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS
-Android shader compiler is a bit pickier on parameter matching, fixed the parameter.
#jira UE-53079
Change 3790174 by Jeff.Fisher
UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS
-Another shader parameter match.
#jira UE-53084
Change 3791727 by Mike.Beach
Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components.
#jira UE-53080
Change 3766717 by Mike.Beach
Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin).
Change 3771327 by Ryan.Vance
#jira UE-52513
Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size.
Change 3773348 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Change 3787240 by Mike.Beach
Adopting IMotionController changes from anim team (in support of LiveLink)...
- MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource
- Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile)
- MotionSource Setter node has pin customization to show choice box instead of standard FName text box.
- New base class for motion controllers XRMotionControllerBase.h/cpp
- Provides default implementations for new functions (Enumerate Source, Custom Parameter etc)
- Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change.
- Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above).
- Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource
#jira UE-52783
Change 3787975 by Ryan.Vance
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
[CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
|
|
|
/**
|
|
|
|
|
* Returns the system's latest known tracking-to-world transform.
|
|
|
|
|
* Useful for translating poses from GetCurrentPose() into unreal world space.
|
|
|
|
|
*/
|
|
|
|
|
virtual FTransform GetTrackingToWorldTransform() const = 0;
|
|
|
|
|
|
2018-10-26 07:55:40 -04:00
|
|
|
/**
|
|
|
|
|
* This method should return the world to meters scale for the current frame.
|
|
|
|
|
* Should be callable on both the render and the game threads.
|
|
|
|
|
* @return the current world to meter scale.
|
|
|
|
|
*/
|
|
|
|
|
virtual float GetWorldToMetersScale() const = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 4064755)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3873313 by Nick.Atamas
Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a
Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789
//UE4/Partner-Google-VR/Engine/...
to //Tasks/UE4/Dev-VR-4.19a/Engine/...
Change 3873330 by Nick.Atamas
Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a
Merging CL 3777058
//UE4/Partner-Google-VR/Engine/...
to //Tasks/UE4/Dev-VR-4.19a/Engine/...
and fixing up QAARApp to work with latest ARCore changes.
Change 3873791 by Nick.Atamas
Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS.
Change 3933769 by Keli.Hlodversson
Remove unused IStereoRendering::GetCustomPresent
#jira UEVR-1083
Change 3935219 by Nick.Atamas
QAARApp re-write.
Change 3935664 by Mike.Beach
Oculus SI 1.23 changes
Change 3941505 by Joe.Graf
Made the send & recv buffer sizes for the BackChannel plugin configurable
Added send & recv counters for tracking the amount of transmission data
Change 3944003 by Joe.Graf
Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac
Change 3945189 by Douglas.Copeland
Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings
Change 3945245 by Douglas.Copeland
Resaving QA_MeshTypes asset to resolve warnings produced by missing info
Change 3945266 by Douglas.Copeland
Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings
Change 3947785 by Mike.Beach
Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc.
Change 3951763 by Joe.Graf
Fixed thread ordering bug with remote session frame compression
Change 3952242 by Joe.Graf
Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle
Change 3954571 by Keli.Hlodversson
* Add FXRRenderBridge base class containing common code from different CustomPresent implementations.
* Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread.
** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.)
* Remove unused member variable ViewportRHI from RHICustomPresent.
#jira UEVR-1081
Change 3954572 by Keli.Hlodversson
* Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin
* Move duplicated methods into an already existing BridgeBaseImpl class
#jira UEVR-592
Change 3954573 by Keli.Hlodversson
* Apply XRRenderBridge refactor to Oculus plugin
#jira UEVR-590
Change 3954575 by Keli.Hlodversson
* Apply XRRenderBridge refactor to OSVR
#jira UEVR-595
Change 3954578 by Keli.Hlodversson
* Apply XRRenderBridge refactor to GoogleVR
#jira UEVR-594
Change 3954596 by Keli.Hlodversson
Add file missing from cl#3954572
Change 3957882 by Jeff.Fisher
UEVR-1100 bLockToHmd false doesn't work correctly
-CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera.
#jira UEVR-1100
#review-3956168
Change 3957945 by Jeff.Fisher
Fix for Oculus begin/end frame problem after XRRenderBridge refactor.
-The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime.
#review-3957897
Change 3958760 by Dongsik.Seo
Adding UseCameraRotation feature to StereoPanorama plug-in.
To enable this feature, use console command
SP.UseCameraRotation 7
Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll
7 means all axis (1+2+4)
#review-3958756 @Joe.Conley
Change 3959347 by Douglas.Copeland
Fixing spelling errors in test displays
Change 3964331 by Jason.Bestimt
Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046
GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix:
Fixed the crash in Acquire/Release UGoogleARCorePointCloud.
Fixed the issue that multiple line trace channel doesn't work correctly.
Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1
Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space.
Change 3967485 by Ryan.Vance
Removed the exlude rect, we want to clear stencil on the entire surface.
Change 3968028 by Zak.Parrish
Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19.
Change 3968114 by Zak.Parrish
Adding in the new version of FaceARSample from Release-4.19 #rb none
Change 3978381 by Mike.Beach
Mirroring CL 3969503 from 4.19
Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread).
#jira UE-55445
Change 3981160 by Joe.Graf
Merged the BackChannel unit test fix over from Owl
Change 3981705 by Mike.Beach
[WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor).
#jira UE-55220
Change 3981898 by Joe.Graf
Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF
Added a Blueprint latent action to perform the conversion in the background
Change 3981910 by Joe.Graf
WIP AR texture support so that other systems can interact with the camera data
Change 3982102 by Joe.Graf
Pull request: Update CMakefileGenerator.cs for CLion
Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions
#jira: UE-57103
GitHub #4619
Change 3982883 by Joe.Graf
Added a CLionGenerator for consistency
Fixed editor preferred source code accessor parsing in the project file generator
Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor
#jira UE-54801
Change 3983687 by Joe.Graf
Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error
Change 3984325 by Jeff.Fisher
UEVR-1141 PSVR - fix morpheus on pc render target scaling
-Hard coding the target size. Perhaps the old method broke with the pixel density change.
#review-3983261
Change 3984563 by Joe.Graf
Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3
Change 3985213 by Zak.Parrish
Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none
Change 3985577 by Joe.Graf
WIP support for the Apple Vision API to perform computer vision tasks on images
Change 3985654 by Joe.Graf
Fixed missing forward declaration hidden by unity files
Change 3990596 by Mike.Beach
Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space.
#jira UE-55220
Change 3990788 by Mike.Beach
Attempted CIS fix (fallout from CL 3990596)
Change 3990824 by Ryan.Vance
Re-submitting 4.19.1 hotfox 3968537
Change 3995804 by Jeff.Fisher
Merging cl 3995785
//UE4/Dev-VR-Seal/Engine/Source/...
to //UE4/Dev-VR/Engine/Source/...
UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior
-Fixing late update when no camera component is in use.
-The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame.
#review-3995764
Change 3999842 by Nick.Whiting
Exposing Apple ARKit function library as public for our buddies down under.
Change 4005541 by Joe.Graf
UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1
#jira UE-57541
Change 4006308 by Jason.Bestimt
#DEV_VR - Hopeful fix for possible unity issue
Change 4006543 by Joe.Graf
Added code to be more correct on setting face blendshapes
Change 4007508 by Jason.Bestimt
#LUMIN - Adjusting automation tests.
- Moved QA specific content test into QA Game
- Wrapped controller not found to only happen on device
Change 4007515 by Jason.Bestimt
#LUMIN - Disabling privilege warning except on device
Change 4007552 by Jason.Bestimt
#LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE
Change 4008585 by Joe.Graf
Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink
#jira: UE-57830
Change 4008604 by Mike.Beach
MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material).
#jira UEVR-1153
Change 4009396 by Jason.Bestimt
#DEV-VR - Removing warning about stat on different threads (CL 4009124)
Change 4009514 by Joe.Graf
Added a weighted moving average method to the modify curve anim node
Change 4010125 by Jason.Bestimt
#DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR
Change 4010434 by Jason.Bestimt
#DEV-VR - Fix for Lumin Haptic Test include
Change 4010945 by Jeff.Fisher
QAHapticTests build fix
-removed unused bad include
Change 4011002 by Nick.Atamas
Fixed Android compilation.
Change 4011220 by Nick.Atamas
- Adding visualization for boundary polygons.
- Adding support for vertical planes.
Change 4011298 by Mike.Beach
MR - Revamping the VideoProcessing/ChromaKeying material so that it:
1) Better extracts luminance from the image
2) Utilizes despill to remove chroma bleed from the scene
3) Leverages the generated despill mask to add back in a faux bounce
#jira UEVR-1153
Change 4011858 by Keli.Hlodversson
Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module
Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.)
-- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed.
#jira UE-57380
Change 4011956 by Keli.Hlodversson
Fix missing includes after CL#4011858
Change 4012096 by Joe.Graf
Disabled building AppleVision on Mac until there's a good solution for older Mac OSes
Change 4012294 by Jason.Bestimt
#DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found
Change 4012390 by Jason.Bestimt
#DEV-VR - Misc fixes for static code analysis issues
- Guards around GEngine usage
- Fix from Rolando for uint32 -> uint64 + shifting warning
- Redundant if checks
Change 4013426 by Jason.Bestimt
#DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit
#JIRA: UE-57960
Change 4014661 by Ryan.Vance
Initial support for omni-directional stereo captures.
https://developers.google.com/vr/jump/rendering-ods-content.pdf
Change 4015561 by Jason.Bestimt
#DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue
Change 4016202 by Jason.Bestimt
#DEV-VR - Integrated CL 2685 from Seal depot
#JIRA: UEVR-1157
Change 4016448 by Jason.Bestimt
#DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK
Change 4016457 by Ryan.Vance
#jira UE-58018
Cleaning up compiler errors/warnings.
Change 4017246 by Jason.Bestimt
#DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread
#JIRA: UE-58043
Change 4018571 by Joe.Graf
Added a remapping of curve values in a range to the modify curve anim node
Change 4018991 by Joe.Graf
Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on
#jira: UE-57999
Change 4019068 by Joe.Graf
Changed how Apple Vision support is enabled in code
#jira: UE-57552
Change 4019194 by Joe.Graf
Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1"
Change 4019648 by Keli.Hlodversson
Work around build failures caused by missing virtual destructor warnings.
Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.)
Change 4019871 by Joe.Graf
Changed the __IPHONE_11_3 to the raw numeric value
Change 4020121 by Keli.Hlodversson
Fix parameter types to match header declarations.
Change 4020127 by Keli.Hlodversson
Remove dllimport/export macros from cpp file.
Change 4020621 by Joe.Graf
Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check
Change 4020910 by Joe.Graf
Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version
Change 4020952 by Joe.Graf
Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit
Change 4021116 by Jason.Bestimt
#DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform
Change 4021320 by Joe.Graf
Fixed warnings resulting from unity builds hiding them
Change 4021738 by Chad.Garyet
- adding lumin filters
- changing defaults for platforms back to true, this was brought over erroneously.
#jira none
#ROBOMERGE: Dogma, Nightlies
Change 4021898 by Chad.Garyet
added missing bits from the ue4main script
#jira none
#ROBOMERGE: Dogma, Nightlies
Change 4022583 by Joe.Graf
Added functions for checking ARKit version availability at runtime
Change 4022610 by Joe.Graf
Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes
Change 4022616 by Joe.Graf
Added support for enabling the ARKit 1.5 autofocus setting
Change 4022650 by Joe.Graf
Defaulted autofocus for AR to on
Change 4023026 by Joe.Graf
Changed the ARKit video overlay to use the new availability api
Change 4023124 by Joe.Graf
Switched another version check in the ARKit overlay code to use the faster version
Change 4023489 by Ethan.Geller
[Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt
Change 4023995 by Nick.Atamas
Properly deprecated the bitfield for plane detection mode.
#jira UE-57842
Change 4024992 by Jason.Bestimt
#DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin
Change 4025702 by Jason.Bestimt
#DEV-VR - Fix for loading ML libraries even when the MLSDK is not present
#JIRA: UE-58033
Change 4026639 by Mike.Beach
Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset.
#jira UE-58001
Change 4026949 by Mike.Beach
MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component...
- Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly)
- Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion
- Adding CVar commands to enable/disable pieces of the undistortion
- Changing the default undistortion cropping to be uncropped
- Removing the need for the 'EnableMapping' material parameter
#jira UE-55195
Change 4027147 by Jason.Bestimt
#DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread)
#JIRA: UE-58043
Change 4027301 by Mike.Beach
Updating the MRCalibration project's ini so it doesn't error on packaging.
Change 4027469 by Mike.Beach
MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it.
Change 4027957 by Mike.Beach
As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework.
#jira UE-57782
Change 4029182 by Keli.Hlodversson
Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread.
#jira UE-58079
Change 4029687 by Dragan.Jerosimovic
Boy rig and pose asset mb files, maps and masks
Change 4030059 by Mike.Beach
As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework.
#jira UE-57782
Change 4030296 by Charles.Egenbacher
#LUMIN Copying from Dev-Incoming-Staging to Dev-VR
Change 4030593 by Jason.Bestimt
#DEV-VR - Merging olaf test maps to Dev-VR
Change 4031042 by Keli.Hlodversson
Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread.
#jira UE-58239
Change 4031046 by Keli.Hlodversson
Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread
#jira UE-58238
Change 4032593 by Mike.Beach
As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration.
#jira UE-57782
Change 4033911 by Jason.Bestimt
#DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc)
Change 4034087 by Mike.Beach
Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin.
#jira UE-57782
Change 4034253 by Joe.Graf
Made the Apple Vision plugin use version checking consistent with ARKit
Change 4034543 by Joe.Graf
Added availability checks for the Apple Image Utils plugin similar to ARKit
#jira: UE-57541
Change 4034548 by Joe.Graf
Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0
Change 4034577 by Jason.Bestimt
#DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black)
Change 4034605 by zak.parrish
Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none
Change 4034686 by Jason.Bestimt
#DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11
#JIRA: UE-58046
Change 4034799 by Joe.Graf
Added base types for detecting images in a AR session
Change 4034820 by Joe.Graf
Added a friendly name to UARCandidateImage objects
Change 4035010 by Joe.Graf
Added support for handling ARImageAnchor notifications from ARKit
Change 4035355 by Mike.Beach
[WIP] MR - Renaming some classes to reflect the plugin's new name.
#jira UE-57782
Change 4035464 by Joe.Graf
Added orientation to the ARCandidateImage object to pass to the detection system
Change 4035524 by Mike.Beach
[WIP] MR - More renaming of some classes to better match the plugin's new name.
#jira UE-57782
Change 4035606 by Mike.Beach
[WIP] MR - More renaming of some classes to better match the plugin's new name.
#jira UE-57782
Change 4035918 by Mike.Beach
[WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name.
#jira UE-57782
Change 4035976 by Mike.Beach
[WIP] MR - Renaming some more files and classes to better match the MRC framework's new name.
#jira UE-57782
Change 4036044 by Ryan.Vance
#jira UEVR-377
Adding support for ISR Translucency.
Change 4036069 by Ryan.Vance
We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views.
Change 4036073 by Chance.Ivey
Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none
Change 4036307 by Mike.Beach
[WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name.
#jira UE-57782
Change 4036314 by Mike.Beach
[WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name.
#jira UE-57782
Change 4036319 by Charles.Egenbacher
#LUMIN this is an out-of-date version of the lumin sample. Nuking.
Change 4036396 by Charles.Egenbacher
#LUMIN Adding the up to date version of the LuminSample.
Change 4036485 by Sorin.Gradinaru
UE-57773 Disable Thermals Message
#4.20
#iOS
Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds.
Change 4036695 by Jason.Bestimt
#DEV-VR - Adding Lumin case to PrecompileTargetType check
Change 4037110 by Jason.Bestimt
#DEV-VR - Extra deprecated macro guards around HarfBuzz includes
#JIRA: UE-58046
Change 4037443 by Jason.Bestimt
#DEV-VR - Merging CL 4028003 from Partners-Google
Change 4037490 by Jason.Bestimt
#DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding)
Change 4037691 by Jason.Bestimt
#DEV-VR - Swapping order of comparrison operator to deal with const error
Change 4037892 by Joe.Graf
Added UTexture2D to CGImage conversion in Apple Image Utils plugin
Change 4037894 by Joe.Graf
Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system
Change 4037901 by Joe.Graf
Added support for configuring which images you'd like detected during a AR session
Change 4037906 by Jason.Bestimt
#DEV-VR - Fixing buckled logic for =operator (derp)
Change 4038293 by Mike.Beach
[WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin.
#jira UE-57782
Change 4038403 by Joe.Graf
Added the name from the candidate image when creating the Apple side representation
Change 4038488 by Mike.Beach
[WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now.
#jira UE-57782
Change 4038776 by Chance.Ivey
Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting
Change 4038877 by Mike.Beach
[WIP] MR - Renaming assets to better match the new plugin name.
#jira UE-57782
Change 4039097 by Joe.Graf
Fixed the public include path warnings in the Apple* plugins I added
Change 4039106 by Joe.Graf
Worked around a bad compile time assert that blocked valid FString::Printf debug code
Change 4039209 by Jeff.Fisher
Fixing one build script paths
Change 4039275 by Jeff.Fisher
More include path fixes.
Change 4039415 by Joe.Graf
Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device
Change 4039471 by Joe.Graf
Added a file I missed when adding to the remote session plugin
Change 4039473 by Joe.Graf
#ifdef-ed some code out until the linkage can be fixed
Change 4040249 by Mike.Beach
[WIP] MR - Moving some more asset files that aren't needed for the MRC plugin
#jira UE-57782
Change 4040365 by Mike.Beach
Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project).
#jira UE-57782
Change 4040455 by Mike.Beach
Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin.
#jira UE-57782
Change 4041404 by Mike.Beach
Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected.
Change 4041406 by Mike.Beach
MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users.
#jira UE-57782
Change 4042110 by Jason.Bestimt
#DEV-VR - Stopping spew for ML eye tracking when not on platform
#JIRA: UE-58365
Change 4042407 by Joe.Graf
Disabled HEIF compression on Mac
#jira: UE-58479
Change 4042727 by Jason.Bestimt
#DEV-VR - Fix for Android compiling without version 24
Change 4042861 by Olaf.Piesche
#jira UE-57784
Change 4043105 by Mike.Beach
Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion.
#jira UE-58389
Change 4043120 by Mike.Beach
MR - Loading the base save data, even if we're unable to fully construct the original save object class.
#jira UE-58389
Change 4043401 by Mike.Beach
New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25.
#jira UEVR-1143
Change 4043424 by Mike.Beach
Oculus SI 1.24/1.25 - Engine rendering changes
#jira UEVR-1143
Change 4043495 by Mike.Beach
CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes.
#jira UEVR-1143
Change 4043642 by Zak.Parrish
Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none
Change 4045638 by Zak.Parrish
Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff.
Change 4046003 by Jason.Bestimt
#DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample
bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files
#JIRA: UE-58523
Change 4046548 by Jules.Blok
Fix SetInstancedEyeIndex() ignoring the left eye.
#jira UE-54044
Change 4046859 by zak.parrish
Checking in the new rig from 3Lateral - this prevents the eyelashes from separating
Change 4047060 by Nick.Whiting
Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading.
#jira UEVR-1192
Change 4047667 by Mike.Beach
CIS fix - removing uneeded line from bad merge.
Change 4047673 by Mike.Beach
More CIS fixes for fallout from recent rendering merge.
Change 4048227 by Rolando.Caloca
VR - vk - Some Vulkan merge conflicts resolved
Change 4048421 by Jason.Bestimt
#DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call
Change 4048423 by Jason.Bestimt
#DEV-VR - Fixing mediandk version check
Change 4048452 by Rolando.Caloca
VR - Merge fix
Change 4048530 by Rolando.Caloca
VR - Merge fix
Change 4048607 by Jason.Bestimt
#DEV-VR - Probable repair of Mr Mesh post merge
Change 4048794 by Rolando.Caloca
VK - Fix mobile from merge
Change 4048972 by Jeff.Fisher
Fixing MeshReconstructor merge problems.
Change 4049969 by Ryan.Vance
Fixing missing shader assert.
Change 4050831 by Ryan.Vance
Merge clean up. This is still needed to build w/ vulkan on Lumin.
Change 4050854 by Ryan.Vance
Merge clean up.
We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround.
Change 4051495 by Jason.Bestimt
#DEV-VR - Adding Android, Quail, Linux vulkan include clauses
Change 4052528 by Zak.Parrish
Changing defaultEngine.ini for the higher res version of Gremlin
Change 4052880 by Ryan.Vance
Merge clean up.
Now with more Lumin
#jira UE-58645
Change 4052991 by zak.parrish
Update to FaceTrackingMap2 for proper camera positioning
Change 4053139 by Nick.Whiting
Fixing Lumin Vulkan platform header
Change 4053352 by Mike.Beach
On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR).
#jira UE-57991
Change 4053644 by Nick.Whiting
Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN
Change 4054329 by Jason.Bestimt
#DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset
#JIRA: UE-58689
Change 4054785 by Mike.Beach
Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs.
Change 4055466 by Jules.Blok
Suppress SteamVR submission errors after they've been logged once.
Change 4055500 by Jason.Bestimt
#DEV-VR - MrMeshComponent fix for unsupported pixel format
#JIRA: UE-58759
Change 4055761 by Ryan.Vance
#jira UE-58729
There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup.
Change 4056008 by Mike.Beach
Fixing bad merge from Main.
Change 4056616 by Nick.Whiting
Changing UBT configs to use Lumin-specific config files
#jira UE-58760
Change 4056969 by Keli.Hlodversson
MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker
#jira UE-58191
Change 4057356 by Jason.Bestimt
#DEV-VR - Guard around JNI function for Lumin
Change 4059353 by Nick.Whiting
Fix for shadow variable warnings on Linux
#jira UE-58843
Change 4060158 by Rolando.Caloca
DVR - vk - Temporarily add backbuffer delay/extra copy blit on android
#jira UE-58859
Change 4060432 by Mike.Beach
Fix for shadow variable warnings on Linux
#jira UE-58843
Change 4060520 by Rolando.Caloca
VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0
- Restore Android to not delay
#jira UE-58859
Change 4060587 by Nick.Whiting
Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings
#jira UE-58762
Change 4061277 by Jeff.Fisher
UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain.
-Overriding HasAnySDK to setup the MLSDK.
Change 4061308 by Jason.Bestimt
#DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in
#JIRA: UE-58864
Change 4062111 by Ryan.Vance
#jira UE-58875
Fixing audio compilation failure.
Change 4064091 by Jason.Bestimt
#DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off
#JIRA: UE-58954
Change 4064554 by Jason.Bestimt
#DEV-VR - Removing ML haptic tests when not on the platform
#JIRA: UE-58966
Change 4064755 by Jeff.Fisher
UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist.
-Removed linux from magicleap plugin whitelists, we have no sdk for linux.
#review-4064614
#jira UE-58970
[CL 4064889 by Mike Beach in Main branch]
2018-05-10 14:17:01 -04:00
|
|
|
/**
|
|
|
|
|
* Computes a transform to convert from 'Floor' origin space to 'Eye' origin space.
|
|
|
|
|
* Useful when changing between the two different TrackingOrigin spaces.
|
|
|
|
|
* Invert the transform to get the opposite.
|
|
|
|
|
*
|
|
|
|
|
* @param OutFloorToEye [out] The returned floor-to-eye transform.
|
|
|
|
|
* @return True if the transform was successfully constructed.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool GetFloorToEyeTrackingTransform(FTransform& OutFloorToEye) const = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3767306 by Mike.Beach
Adopting a set of video capture fixes from Darren Pegg:
"Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0."
+ mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this
#jira UE-49870, UE-50217, UE-50227, UE-50224
Change 3767317 by Mike.Beach
[MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306.
#jira UEVR-910
Change 3767484 by Mike.Beach
Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space).
Change 3767489 by Mike.Beach
Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space).
Change 3768155 by Ryan.Vance
#jira UE-52089
Fixing cardboard only rendering in one eye.
Change 3769011 by Douglas.Copeland
Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map.
Change 3769195 by Douglas.Copeland
Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14
Change 3769256 by Douglas.Copeland
Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat.
Change 3769453 by Douglas.Copeland
Resaving content to resolve engine content warning
Change 3771076 by Keli.Hlodversson
Add missing const to a ref parameter.
Change 3771141 by Keli.Hlodversson
Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD.
#jira UE-52353
Change 3771602 by Mike.Beach
Replacing temp Rift controller models with official ones from Oculus.
#jira UEVR-830
Change 3774877 by Mike.Beach
Refining MR calibration (WIP)...
- New alignment process [WIP]
- More modular calibration steps (for easier refactoring)
- Stubbed in phase for lens calibration
- Centralized interface for debug (dev) settings
Change 3774880 by Mike.Beach
Adopted changes from Oculus (SI1.21); stubbing in functionality for:
- Lens matched shading
- Dynamic screen refresh rate switching
- Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency
Change 3774922 by Mike.Beach
Attempting CIS fix.
Change 3774972 by Mike.Beach
Making it so you can override the material on model components from the various XR systems (via MotionController component).
Change 3774974 by Mike.Beach
Missing assets from CL 3774877.
Change 3775128 by Nick.Atamas
Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR)
Change 3776135 by Mike.Beach
MR [WIP] - Updating the calibration save process .
- Now save after each calibration step
- Stubbed in save data for lens distortion
- Track progress and load you to the first incomplete calibration step
Change 3777110 by Mike.Beach
[WIP] MR - Adding ability to easily mirror monitor screen.
Change 3777146 by Mike.Beach
Removing superflous ensure that some of us were hitting.
Change 3777417 by Mike.Beach
[WIP] MR - Fixing alignment adjustment controls to match mirrored monitor.
Change 3777436 by Nick.Atamas
Initial check in of AugmentedReality module and ARKit support for it.
Also adding QAARApp to test the use of these systems.
Change 3778009 by Nick.Atamas
Missing file
Change 3778067 by Nick.Atamas
Fixing CIS
Change 3778155 by Nick.Atamas
Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR
Change 3778209 by Nick.Atamas
More CIS fixing.
Change 3778821 by Mike.Beach
[WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily).
Change 3779431 by Joe.Graf
Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/
Change 3780822 by Keli.Hlodversson
Adding OpenCV binaries plus build script to automatically fetch and rebuild it
#jira UE-52725
Change 3781037 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781046 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781049 by Joe.Graf
Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/
Change 3781129 by Joe.Graf
Fixed the warning generated by OpenCV.Build.cs
Change 3783476 by Mike.Beach
Attempt at fixing Win32 CIS errors.
Change 3783845 by Martin.Wilson
Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties
Change 3784397 by Jeff.Fisher
UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations
PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx)
-This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins.
-It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over.
#jira UE-51390
#review-3779148
Change 3784545 by Jeff.Fisher
Build fix for cl 3784397, made a local variable name unique.
Change 3784553 by Chance.Ivey
Stubbing Mobile AR Template files. Needs logic, icons and copy.
Change 3784570 by Jeff.Fisher
fix for cl 3784397
-Reverted monoscopicfarfield default change, accidentaly submit
Change 3785134 by Mike.Beach
[WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment.
Change 3787180 by Mike.Beach
Fixing up CIS
#jira UE-52998, UE-52996
Change 3787272 by Mike.Beach
Adopted changes from the anim team - Followup to CL 3787240.
The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components.
#jira UE-52783
Change 3787454 by Jeff.Fisher
Adding brackets after if as specific in code review.
Change 3787591 by Keli.Hlodversson
Add tps files for OpenCV
Change 3788478 by Mike.Beach
Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system.
#jira UEVR-1042, UEVR-1045, UEVR-1046
Change 3789836 by Jeff.Fisher
UE-53069 Editor crashes on open without SteamVR attached
-needed to check we are in stereo and device exists.
-Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug
#jira UE-53069
Change 3789841 by Mike.Beach
CIS fix - fallout from CL 3787272.
Change 3790102 by Jeff.Fisher
UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS
-Android shader compiler is a bit pickier on parameter matching, fixed the parameter.
#jira UE-53079
Change 3790174 by Jeff.Fisher
UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS
-Another shader parameter match.
#jira UE-53084
Change 3791727 by Mike.Beach
Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components.
#jira UE-53080
Change 3766717 by Mike.Beach
Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin).
Change 3771327 by Ryan.Vance
#jira UE-52513
Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size.
Change 3773348 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Change 3787240 by Mike.Beach
Adopting IMotionController changes from anim team (in support of LiveLink)...
- MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource
- Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile)
- MotionSource Setter node has pin customization to show choice box instead of standard FName text box.
- New base class for motion controllers XRMotionControllerBase.h/cpp
- Provides default implementations for new functions (Enumerate Source, Custom Parameter etc)
- Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change.
- Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above).
- Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource
#jira UE-52783
Change 3787975 by Ryan.Vance
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
[CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
|
|
|
/**
|
|
|
|
|
* Refreshes the system's known tracking-to-world transform.
|
|
|
|
|
* Helpful for clients if they change the world's representation of the XR origin, or if they want to override the system calculated
|
|
|
|
|
* transform - calling this will update the known transform returned by GetTrackingToWorldTransform().
|
|
|
|
|
*/
|
|
|
|
|
virtual void UpdateTrackingToWorldTransform(const FTransform& TrackingToWorldOverride) = 0;
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* Get the offset, in device space, of the reported device (screen / eye) position to the center of the head.
|
|
|
|
|
*
|
|
|
|
|
* @return a vector containing the offset coordinates, ZeroVector if not supported.
|
|
|
|
|
*/
|
|
|
|
|
virtual FVector GetAudioListenerOffset(int32 DeviceId = HMDDeviceId) const { return FVector::ZeroVector; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Resets orientation by setting roll and pitch to 0, assuming that current yaw is forward direction and assuming
|
|
|
|
|
* current position as a 'zero-point' (for positional tracking).
|
|
|
|
|
*
|
|
|
|
|
* @param Yaw (in) the desired yaw to be set after orientation reset.
|
|
|
|
|
*/
|
|
|
|
|
virtual void ResetOrientationAndPosition(float Yaw = 0.f) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Resets orientation by setting roll and pitch to 0, assuming that current yaw is forward direction. Position is not changed.
|
|
|
|
|
*
|
|
|
|
|
* @param Yaw (in) the desired yaw to be set after orientation reset.
|
|
|
|
|
*/
|
|
|
|
|
virtual void ResetOrientation(float Yaw = 0.f) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Resets position, assuming current position as a 'zero-point'.
|
|
|
|
|
*/
|
|
|
|
|
virtual void ResetPosition() {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets base orientation by setting yaw, pitch, roll, assuming that this is forward direction.
|
|
|
|
|
* Position is not changed.
|
|
|
|
|
*
|
|
|
|
|
* @param BaseRot (in) the desired orientation to be treated as a base orientation.
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetBaseRotation(const FRotator& BaseRot) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns current base orientation of HMD as yaw-pitch-roll combination.
|
|
|
|
|
*/
|
|
|
|
|
virtual FRotator GetBaseRotation() const { return FRotator::ZeroRotator; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets base orientation, assuming that this is forward direction.
|
|
|
|
|
* Position is not changed.
|
|
|
|
|
*
|
|
|
|
|
* @param BaseOrient (in) the desired orientation to be treated as a base orientation.
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetBaseOrientation(const FQuat& BaseOrient) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns current base orientation of HMD as a quaternion.
|
|
|
|
|
*/
|
|
|
|
|
virtual FQuat GetBaseOrientation() const { return FQuat::Identity; }
|
|
|
|
|
|
2018-06-04 21:00:00 -04:00
|
|
|
/**
|
|
|
|
|
* Sets base position of the HMD.
|
|
|
|
|
*
|
|
|
|
|
* @param BasePosition (in) the desired offset to be treated as a base position.
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetBasePosition(const FVector& BasePosition) {};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns current base position of HMD.
|
|
|
|
|
*/
|
|
|
|
|
virtual FVector GetBasePosition() const { return FVector::ZeroVector; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called to calibrate the offset transform between an external tracking source and the internal tracking source
|
|
|
|
|
* (e.g. mocap tracker to and HMD tracker). This should be called once per session, or when the physical relationship
|
|
|
|
|
* between the external tracker and internal tracker changes (e.g. it was bumped or reattached). After calibration,
|
|
|
|
|
* calling UpdateExternalTrackingPosition will try to correct the internal tracker to the calibrated offset to prevent
|
|
|
|
|
* drift between the two systems
|
|
|
|
|
*
|
|
|
|
|
* @param ExternalTrackingTransform (in) The transform in world-coordinates, of the reference marker of the external tracking system
|
|
|
|
|
*/
|
|
|
|
|
virtual void CalibrateExternalTrackingSource(const FTransform& ExternalTrackingTransform) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called after calibration to attempt to pull the internal tracker (e.g. HMD tracking) in line with the external tracker
|
|
|
|
|
* (e.g. mocap tracker). This will set the internal tracker's base offset and rotation to match and realign the two systems.
|
|
|
|
|
* This can be called every tick, or whenever realignment is desired. Note that this may cause choppy movement if the two
|
|
|
|
|
* systems diverge relative to each other, or a big jump if called infrequently when there has been significant drift
|
|
|
|
|
*
|
|
|
|
|
* @param ExternalTrackingTransform (in) The transform in world-coordinates, of the reference marker of the external tracking system
|
|
|
|
|
*/
|
|
|
|
|
virtual void UpdateExternalTrackingPosition(const FTransform& ExternalTrackingTransform) {}
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* Get the IXCamera instance for the given device.
|
|
|
|
|
*
|
|
|
|
|
* @param DeviceId the device the camera should track.
|
|
|
|
|
* @return a shared pointer to an IXRCamera.
|
|
|
|
|
*/
|
|
|
|
|
virtual class TSharedPtr< class IXRCamera, ESPMode::ThreadSafe > GetXRCamera(int32 DeviceId = HMDDeviceId) = 0;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Access HMD rendering-related features.
|
|
|
|
|
*
|
|
|
|
|
* @return a IHeadmountedDisplay pointer or a nullptr if this tracking system does not support head mounted displays.
|
|
|
|
|
*/
|
|
|
|
|
virtual class IHeadMountedDisplay* GetHMDDevice() { return nullptr; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Access Stereo rendering device associated with this XR system.
|
|
|
|
|
* If GetHMDDevice() returns non-null, this method should also return a vaild instance.
|
|
|
|
|
*
|
|
|
|
|
* @return a IStereoRendering pointer or a nullptr if this tracking system does not support stereo rendering.
|
|
|
|
|
*/
|
|
|
|
|
virtual class TSharedPtr< class IStereoRendering, ESPMode::ThreadSafe > GetStereoRenderingDevice()
|
|
|
|
|
{
|
|
|
|
|
check(GetHMDDevice() == nullptr);
|
|
|
|
|
return nullptr;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Access optional HMD input override interface.
|
|
|
|
|
*
|
|
|
|
|
* @return a IXRInput pointer or a nullptr if not supported
|
|
|
|
|
*/
|
|
|
|
|
virtual IXRInput* GetXRInput() { return nullptr; }
|
|
|
|
|
|
2019-09-13 06:37:42 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Access the loading screen interface associated with this tracking system, if any.
|
|
|
|
|
*
|
|
|
|
|
* @return an IXRLoadingScreen pointer or a nullptr if this tracking system does not support loading screens.
|
|
|
|
|
*/
|
|
|
|
|
virtual class IXRLoadingScreen* GetLoadingScreen() { return nullptr; }
|
|
|
|
|
|
2018-10-18 12:20:07 -04:00
|
|
|
/*** XR System related methods moved from IHeadMountedDisplay ***/
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Returns true, if head tracking is allowed. Most common case: it returns true when GEngine->IsStereoscopic3D() is true,
|
|
|
|
|
* but some overrides are possible.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool IsHeadTrackingAllowed() const = 0;
|
|
|
|
|
|
2020-10-22 19:19:16 -04:00
|
|
|
/**
|
|
|
|
|
* Same as IsHeadTrackingAllowed, but returns false if the World is not using VR (such as with the non-VR PIE instances when using VR Preview)
|
|
|
|
|
**/
|
|
|
|
|
virtual bool IsHeadTrackingAllowedForWorld(UWorld & World) const;
|
|
|
|
|
|
2018-10-18 12:20:07 -04:00
|
|
|
/**
|
|
|
|
|
* Can be used to enforce tracking even when stereo rendering is disabled.
|
|
|
|
|
* The default implementation does not allow enforcing tracking and always returns false.
|
|
|
|
|
* This method is called both from the game and render threads.
|
|
|
|
|
*/
|
|
|
|
|
virtual bool IsHeadTrackingEnforced() const { return false; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Can be used to enforce tracking even when stereo rendering is disabled.
|
|
|
|
|
* The default implementation does not allow enforcing tracking and ignores the argument.
|
|
|
|
|
*/
|
|
|
|
|
virtual void SetHeadTrackingEnforced(bool bEnabled) {};
|
|
|
|
|
|
|
|
|
|
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
/**
|
|
|
|
|
* This method is called when playing begins. Useful to reset all runtime values stored in the plugin.
|
|
|
|
|
*/
|
|
|
|
|
virtual void OnBeginPlay(FWorldContext& InWorldContext) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This method is called when playing ends. Useful to reset all runtime values stored in the plugin.
|
|
|
|
|
*/
|
|
|
|
|
virtual void OnEndPlay(FWorldContext& InWorldContext) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This method is called when new game frame begins (called on a game thread).
|
|
|
|
|
*/
|
|
|
|
|
virtual bool OnStartGameFrame(FWorldContext& WorldContext) { return false; }
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* This method is called when game frame ends (called on a game thread).
|
|
|
|
|
*/
|
|
|
|
|
virtual bool OnEndGameFrame(FWorldContext& WorldContext) { return false; }
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3764848)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3640098 by Mike.Beach
Switching the MR capture processing material to use a external sampler now (since that's what media textures are marked as now).
Change 3642021 by Mike.Beach
Moving so MediaBlueprint header to Public so FMediaCaptureDevice can be used in other BP APIs (in other modules).
#jira UEVR-910
Change 3642030 by Mike.Beach
[WIP] Refactoring the MR capture component (along with the calibration level) so we can save off a reference to the video stream/format users select (adding a device selection step to calibration).
#jira UEVR-910
Change 3645768 by Mike.Beach
[WIP] Refining device selection/calibration so it reports which feeds error.
#jira UEVR-910
Change 3646047 by Mike.Beach
CIS linux fix.
Change 3646350 by Mike.Beach
[WIP] Provide an ini setting which you can explicitly prioritize a format selection for MR calibration (reflects the list in editor).
Change 3664526 by Keli.Hlodversson
#jira UE-50100
Updated library revision for GoogleVR
Unshelved from pending changelists '3646524', '3646526', '3646528'':
Change 3666500 by Keli.Hlodversson
Fix -Wreorder compiler warnings
Change 3678564 by Douglas.Copeland
Updating TM-HMDNodes LEvel BP to replace deprecated Tracking Sensor node
Change 3678919 by Mike.Beach
Extending and renaming the XRSystemAssets interface. Plus fixing a few bugs found in the SteamVR implementation.
Change 3678920 by Mike.Beach
Stubbing in Oculus support for a IXRSystemAssets implementation (currently using our own 'unofficial' models from the VREditor).
Change 3678922 by Mike.Beach
Adding XR Blueprint library functions for accessing specific device information (tracking, modeling, etc.).
Change 3678941 by Mike.Beach
CIS fixes for Dev-VR (fallout from CL 3678919)
Change 3679930 by Mike.Beach
Adding native support to MotionController components, for rendering the associated device.
Change 3681153 by Mike.Beach
Speculative fix for android CIS errors.
#jira UE-50776
Change 3697385 by Keli.Hlodversson
Fix broken OSVR build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3697516 by Keli.Hlodversson
Fix broken SimpleHMD build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3698318 by Ryan.Vance
Inverse can fail if we don't normalize the player's rotation.
Change 3698371 by Keli.Hlodversson
GoogleVR projects fail to build: GoogleVRHMD.cpp(1175,110) : error: no member named 'ES2' in 'EShadingPath'
#jira UE-51334
Change 3701479 by Mike.Beach
Adding the ability to delay motion controller tracking for MR capture views (to better sync with camera feeds).
#jira UEVR-908
Change 3703264 by Mike.Beach
CIS fixes for linux (fallout from CL 3701479).
Change 3703792 by Ryan.Vance
Disable mobile multi-view for Daydream if the gvr query for support fails.
Change 3704273 by Mike.Beach
[WIP] The MRPlugin now auto spawns a MR capture actor if you have a MR config save file.
Change 3704524 by Mike.Beach
MR Calibration - Enter key can now progress you through some of the prompts.
Change 3706679 by Mike.Beach
Fixing issue with MotionController display models where the model component wouldn't be destroyed along with the MotionControllerComponent
Change 3707538 by Mike.Beach
Hiding child actors along with the player in the MR capture.
Change 3714120 by Mike.Beach
Adding new library function to transform tracking space positions/orientations into world space. And fixing EnumerateTrackedDevices/GetDevicePose, which weren't finding the appropriate tracking system.
Change 3716143 by Mike.Beach
Speculative fix for XboxOne CIS issues.
Change 3719006 by Mike.Beach
Removing some debug log spam that I accidently left in CL 3714120.
Change 3719774 by Mike.Beach
Adding a scoped event name for the rift eye padding draw (so it shows up named in captures like from RenderDoc).
Change 3719778 by Mike.Beach
Mirroring CL 3671849 from 4.18.
Removing Oculus call to reset tracking origin on initialization (so we respect the play space that was calibrated in oculus setup) - ensuring parity w/ Vive (fixing regression).
#jira UE-48260
Change 3736279 by Jeff.Fisher
Touching a couple files to see if it helps the build machine by making it sync them again.
Change 3736296 by Jeff.Fisher
Touching another file to kick the build machine into syncing it.
Change 3740060 by Ryan.Vance
Removing PostInitViewFamily_RenderThread and PostInitView_RenderThread view extension callbacks.
Change 3744913 by Mike.Beach
Fixing up the MotionDelayBuffer for MixedReality
- CIS fix when building for XboxOne
- Now works if late updating is disabled
- Switched to setting delay in millisecs and interpolating between samples
- Better handling for thread managment (was getting out of sync when focus was lost, etc.)
- Decoupled more from MotionControllerComponents (now polls separately, and uses its own LateUpdateManager to cache/apply)
#jira UEVR-908
Change 3747168 by Jeff.Fisher
UEVR-1018 MotionControllerComponent cleanup should be in beginDestroy, not Destructor
-Moved ViewExtension cleanup to BeginDestory from destructor.
-https://udn.unrealengine.com/questions/395504/strange-crash-in-umotioncontrollercomponent.html
#review-3724080
#jira UEVR-1018
Change 3753326 by Douglas.Copeland
Resaving qagame content to resolve Empty Engine Version Warning
Change 3753336 by Douglas.Copeland
Resolving more empty engine version content issues
Change 3754252 by Mike.Beach
Mirroring CL 3723722 from 4.18.1
Hotfix update from Oculus.
- Introduce dash support by adding an Oculus config setting (that is off by default)
- Move submission of the near plane╞s depth from a fixed one at texture allocation time to an every-frame one, which is needed for correct depth support in games that have a ⌠god mode÷ with a smaller worldtometersscale
#jira UE-51728
Change 3754262 by Mike.Beach
Mirroring 3726121 from 4.18.1
Correcting a cpu perf regression from 4.17 - no longer calling FOculusHMDModule::Get() in what should be a cheap query function.
#jira UE-51766
Change 3754278 by Mike.Beach
Mirroring CL 3741384 from 4.18.1
Fix from Oculus for GearVR crashing/freezing when quit menu is invoked - making sure JNI is attached to the render thread (after losing focus).
#jira UE-52098
Change 3754300 by Mike.Beach
Mirroring CL 3742608 from 4.18.1
Fix from Oculus - improving perf on GearVR; keeping the window surface from scaling up to a size not required for Gear.
#jira UE-52127
Change 3754319 by Mike.Beach
Build fix - fallout from blindly adopting CL 3726121 from 4.18.1 w/out fixup (CL 3754262)
Change 3755546 by Keli.Hlodversson
Marking a zombie header file for delete. Seems to get resurrected from the dead on every merge from main.
File is no longer relevant as the OculusAudio plugin has been moved to the Plugins/Runtime/Oculus parent directory.
Change 3759716 by Mike.Beach
Adopted chenges from Oculus (SI1.20)
Manually modified files:
- DefaultXRCamera.cpp
Rejected changes:
- SceneRenderTargets.cpp
#jira UE-50855, UE-50883, UE-50950, UE-50974, UE-52427
Change 3760918 by Keli.Hlodversson
Disable an ensure that had some false positives during the first few frames.
#jira UE-52448
Change 3760946 by Keli.Hlodversson
Missing SteamVR changes after deprecating RefreshPoses()
#jira UEVR-1037
Change 3762015 by Mike.Beach
CIS fix for android - fallout from Oculus 1.20 changes. Lib function was removed, with calls remaining on android (double checking with Oculus that this is the proper fix).
Change 3762236 by Ryan.Vance
Fixing up integration issues.
Change 3763437 by Keli.Hlodversson
Fix deprecation warning in SimpleHMD caused by removing RefreshPoses()
Change 3764713 by Ryan.Vance
#jira UE-52516
PSVR screen percentage was being disabled by default stereo layers on accident.
Change 3652413 by Mike.Beach
In editor, only utilizing the HMD orientation when we're in a VR related mode (VR preview, VR editor, etc.). Not normalizing view pitch rotation unless we're in one of those modes.
#jira UE-46724
Change 3690170 by Keli.Hlodversson
Postprocessing now uses only the HMDDistortion flag to see whether a postprocessing pass is required for the current plugin instead of the older clutch that checks the plugin HMD type
Added EShaderPath argument to GetHMDDistorionEnabled method so that the edge cases solved by the postprocessor and HMD type now can be handled by the plugins themselves.
#jira UEVR-996
Change 3690625 by Keli.Hlodversson
Remove IHeadMountedDisplay::GetHMDDeviceType() as it was added as a part of a clutch in postprocessing, but was later getting misused as a poor man's RTI even though a better alternative in IXRTrackingSystem::GetSystemName is already available.
#jira UEVR-996
Change 3760773 by Keli.Hlodversson
Update interfaces related to late update and begin rendering:
* Deprecate RefreshPoses
Note: Existing and non-empty RefreshPoses implementations have been made private and non-virtual, and renamed to UpdatePoses in order not to conflict with the still-existing deprecated method in the base interface.
* Rename BeginRendering_GameThread/RenderThread to OnBeginRendering_* and move them to IXRTrackingSystem instead of IHeadMountedDisplay.
* Add bool DoesSupportLateUpdate() const to IXRTrackingSystem. IXRCamera implementations can use the method to see whether the underlying tracking system implementation supports late update. Note it is up to the IXRTrackingSystem implementations inside each plugin to actually make sure poses are updated somewhere before the late update is applied by the IXRCamera. (eg. in OnBeginRendering_RenderThread or ..._GameThread)
* Move call to OnBeginRedering_RenderThread to happen before GetCurrentPose in FXRDefaultCamera so the plugin has a chance to refresh the poses inside its implementation of it.
* Add IXRTrackingSystem::OnLateUpdateApplied_RenderThread, a method for notifying the tracking system that late update has been applied, passing in the current relative pose. Used by FXRTrackingSystemBase to pass the updated transform to the stereo layers implementation.
#jira UEVR-1037
Change 3761781 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Manually resolved files:
- OculusHMD.cpp
- OculusHMD_Settings.h/cpp
- SteamVRHMD.cpp
- PostProcessing.cpp
- OrionGame/Plugins/.../OnlineSessionInterface.h/cpp
[CL 3766571 by Mike Beach in Main branch]
2017-11-20 12:50:04 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
/*** Methods designed to be called from IXRCamera implementations ***/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called just before rendering the current frame on the render thread. Invoked before applying late update, so plugins that want to refresh poses on the
|
|
|
|
|
* render thread prior to late update. Use this to perform any initializations prior to rendering.
|
|
|
|
|
*/
|
|
|
|
|
virtual void OnBeginRendering_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& ViewFamily) {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called just before rendering the current frame on the game frame.
|
|
|
|
|
*/
|
|
|
|
|
virtual void OnBeginRendering_GameThread() {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Called just after the late update on the render thread passing back the current relative transform.
|
|
|
|
|
*/
|
2021-03-05 19:27:14 -04:00
|
|
|
virtual void OnLateUpdateApplied_RenderThread(FRHICommandListImmediate& RHICmdList, const FTransform& NewRelativeTransform) {}
|
2020-09-24 00:43:27 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Platform Agnostic Query about HMD details
|
|
|
|
|
*/
|
2020-10-22 19:19:16 -04:00
|
|
|
virtual void GetHMDData(UObject* WorldContext, FXRHMDData& HMDData);
|
2020-09-24 00:43:27 -04:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Platform Agnostic Query about MotionControllers details
|
|
|
|
|
*/
|
|
|
|
|
virtual void GetMotionControllerData(UObject* WorldContext, const EControllerHand Hand, FXRMotionControllerData& MotionControllerData) = 0;
|
2022-05-13 18:29:11 -04:00
|
|
|
virtual bool GetCurrentInteractionProfile(const EControllerHand Hand, FString& InteractionProfile) = 0;
|
2020-09-24 00:43:27 -04:00
|
|
|
|
|
|
|
|
virtual bool ConfigureGestures(const FXRGestureConfig& GestureConfig) = 0;
|
|
|
|
|
|
|
|
|
|
virtual EXRDeviceConnectionResult::Type ConnectRemoteXRDevice(const FString& IpAddress, const int32 BitRate)
|
|
|
|
|
{
|
|
|
|
|
return EXRDeviceConnectionResult::FeatureNotSupported;
|
2021-05-25 02:43:26 -04:00
|
|
|
}
|
|
|
|
|
virtual void DisconnectRemoteXRDevice() {}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the bounds of the area where the user can freely move while remaining tracked centered around the specified origin
|
|
|
|
|
*/
|
|
|
|
|
virtual FVector2D GetPlayAreaBounds(EHMDTrackingOrigin::Type Origin) const { return FVector2D::ZeroVector; }
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
|
|
|
};
|