Files
UnrealEngineUWP/Engine/Source/Runtime/HeadMountedDisplay/Private/MotionControllerComponent.cpp

745 lines
23 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
//
#include "MotionControllerComponent.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "GameFramework/Pawn.h"
#include "PrimitiveSceneProxy.h"
#include "Misc/ScopeLock.h"
#include "EngineGlobals.h"
#include "Engine/Engine.h"
#include "Features/IModularFeatures.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "IMotionController.h"
#include "PrimitiveSceneInfo.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
#include "Engine/World.h"
#include "GameFramework/WorldSettings.h"
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
#include "IXRSystemAssets.h"
#include "Components/StaticMeshComponent.h"
#include "MotionDelayBuffer.h"
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3805828 by Gil.Gribb UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works. Change 3806784 by Ben.Marsh UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT. Change 3807549 by Graeme.Thornton Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it. Change 3807727 by Graeme.Thornton Unhide the text asset format experimental editor option Change 3807746 by Josh.Engebretson Remove WER from iOS platform Change 3807928 by Robert.Manuszewski When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet Change 3808221 by Steve.Robb GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule() ^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway. Change 3809233 by Graeme.Thornton TBA: Misc changes to text asset commandlet - Rename mode to "loadsave" - Add -outputFormat option which can be assigned "text" or "binary" - When saving binary, use a differentiated filename so that source assets aren't overwritten Change 3809518 by Ben.Marsh Remove the outdated UnrealSync automation script. Change 3809643 by Steve.Robb GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value #jira UE-53037 Change 3809862 by Steve.Robb GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately #jira UE-42593 Change 3811190 by Graeme.Thornton Add support for writing specific log channels to their own files Change 3811197 by Graeme.Thornton Minor updates to output formatting and timing for the text asset commandlet Change 3811257 by Robert.Manuszewski Cluster creation will now be time-sliced Change 3811565 by Steve.Robb Define out non-monolithic module functions. Change 3812561 by Steve.Robb GitHub #3886 : Enable Brace-Initialization for Declaring Variables Incorrect semi-colon search removed after discussion with author. Test added. #jira UE-48242 Change 3812864 by Steve.Robb Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins. See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html #jira UE-53089 Change 3820358 by Ben.Marsh PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist) Change 3822594 by Ben.Marsh UAT: Improvements to log file handling. - Always create log files in the final location, rather than writing to a temp directory and copying in later. - Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX. - Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is. - Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location. Change 3823695 by Ben.Marsh UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk). Now always queries changes up to the last change for which zipped binaries are available. Change 3823845 by Ben.Marsh UBT: Exclude C# projects for unsupported platforms when generating project files. Change 3824180 by Ben.Marsh UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes). #jira Change 3825777 by Steve.Robb Fix to return value of StringToBytes. Change 3825810 by Ben.Marsh UBT: Reduce length of include paths for MSVC toolchain. Change 3825822 by Robert.Manuszewski Optimized PIE lazy pointer fixup. Should be up to 8x faster now. Change 3826734 by Ben.Marsh Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency. Change 3827730 by Steve.Robb Try to avoid decltype(auto) if it's not supported. See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html Change 3827745 by Steve.Robb Initializer list support for TMap. Change 3827770 by Steve.Robb GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType() #jira UE-53813 Change 3829189 by Ben.Marsh UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off. Change 3830444 by Steve.Robb BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library. This should be revisited when Core has its own JSON library. Change 3830718 by Ben.Marsh Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups. The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip. For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it. When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk. #jira UE-53845 Change 3831064 by Ben.Marsh Fix log file contention when spawning UBT recursively. Change 3832654 by Ben.Marsh UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it. Change 3832680 by Ben.Marsh UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade. Change 3832695 by Ben.Marsh UGS: Invert the options in the 'Show Changes' submenu for simplicity. Change 3833528 by Ben.Marsh UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write]. Change 3833543 by Ben.Marsh UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules. Change 3834354 by Robert.Manuszewski Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks. #jira UE-52035 Change 3834400 by Robert.Manuszewski Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup. #jira UE-52035 Change 3834947 by Steve.Robb USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal. Change 3835004 by Ben.Marsh Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL. Change 3835340 by Ben.Marsh Fix errors making installed build from directories with spaces in the name. Change 3835972 by Ben.Marsh UBT: Improved diagnostic message for targets which don't need a version file. Change 3836019 by Ben.Marsh UBT: Fix warnings caused by defining linkage macros for third party libraries. Change 3836269 by Ben.Marsh Fix message box larger than the screen height being created when a large number of modules are incompatible on startup. Change 3836543 by Ben.Marsh Enable SoundMod plugin on Linux, since it's already supported through the editor. Change 3836546 by Ben.Marsh PR #4412: fix type mismatch (Contributed by nakapon) Change 3836805 by Ben.Marsh Fix commandlet to compile marketplace plugins. Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. Change 3837036 by Ben.Marsh UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds. Change 3837037 by Ben.Marsh UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro). Change 3837040 by Ben.Marsh UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed. Change 3837247 by Ben.Marsh UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files). Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor. Change 3837262 by Ben.Marsh UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module. Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets. Change 3837343 by Ben.Marsh UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead. Change 3837356 by Ben.Marsh Fix invalid character encodings. Change 3837727 by Graeme.Thornton UnrealPak: KeyGenerator: Only generate prime table when required, not all the time Change 3837823 by Ben.Marsh UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window. Change 3837831 by Graeme.Thornton UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives Change 3837857 by Robert.Manuszewski PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch) Change 3837943 by Robert.Manuszewski PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch) Change 3838451 by Ben.Marsh UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread. #jira UE-53996 Change 3839519 by Ben.Marsh UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data. Change 3843790 by Graeme.Thornton UnrealPak: Log the size of all encrypted data Change 3844258 by Ben.Marsh Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace. Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure. #jira UE-54157 Change 3845796 by Ben.Marsh Workaround for slow performance of String.EndsWith() on Mono. Change 3845823 by Ben.Marsh Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun. #jira UE-54123 Change 3845901 by Arciel.Rekman Linux: fix crash due to lambda lifetime issues (UE-54040). - The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+). (Edigrating 3819174 to Dev-Core) Change 3846439 by Ben.Marsh Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates. Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main. Change 3816608 by Ben.Marsh UBT: Use DirectoryReference objects for all include paths. Change 3816954 by Ben.Marsh UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere. Change 3816986 by Ben.Marsh UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly. Change 3816991 by Ben.Marsh UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules. Change 3823090 by Ben.Marsh UAT: Improve logging for child UAT instances. - Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder. - Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway. - Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read. - Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output. Change 3826082 by Ben.Marsh UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target. Change 3827025 by Ben.Marsh UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling. Change 3829927 by James.Hopkin Made HTTP interface const correct Change 3833533 by Ben.Marsh Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules. Change 3835826 by Ben.Marsh UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced. Change 3835969 by Ben.Marsh UBT: Fix cases where text is being written directly to the console rather than via logging functions. Change 3837777 by Steve.Robb Format string type checking added to FOutputDevice::Logf. Fixes for those. Change 3838569 by Steve.Robb Algo moved up a folder. [CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
#include "UObject/VRObjectVersion.h"
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
#include "UObject/UObjectGlobals.h" // for FindObject<>
#include "XRMotionControllerBase.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
#include "IXRTrackingSystem.h"
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
DEFINE_LOG_CATEGORY_STATIC(LogMotionControllerComponent, Log, All);
namespace {
/** This is to prevent destruction of motion controller components while they are
in the middle of being accessed by the render thread */
FCriticalSection CritSect;
/** Console variable for specifying whether motion controller late update is used */
TAutoConsoleVariable<int32> CVarEnableMotionControllerLateUpdate(
TEXT("vr.EnableMotionControllerLateUpdate"),
1,
TEXT("This command allows you to specify whether the motion controller late update is applied.\n")
TEXT(" 0: don't use late update\n")
TEXT(" 1: use late update (default)"),
ECVF_Cheat);
} // anonymous namespace
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
FName UMotionControllerComponent::CustomModelSourceId(TEXT("Custom"));
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
namespace LegacyMotionSources
{
static bool GetSourceNameForHand(EControllerHand InHand, FName& OutSourceName)
{
UEnum* HandEnum = StaticEnum<EControllerHand>();
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
if (HandEnum)
{
FString ValueName = HandEnum->GetNameStringByValue((int64)InHand);
if (!ValueName.IsEmpty())
{
OutSourceName = *ValueName;
return true;
}
}
return false;
}
}
//=============================================================================
UMotionControllerComponent::UMotionControllerComponent(const FObjectInitializer& ObjectInitializer)
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
: Super(ObjectInitializer)
, RenderThreadComponentScale(1.0f,1.0f,1.0f)
{
PrimaryComponentTick.bCanEverTick = true;
PrimaryComponentTick.bStartWithTickEnabled = true;
PrimaryComponentTick.TickGroup = TG_PrePhysics;
PrimaryComponentTick.bTickEvenWhenPaused = true;
PlayerIndex = 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
MotionSource = FXRMotionControllerBase::LeftHandSourceId;
bDisableLowLatencyUpdate = false;
bHasAuthority = false;
bAutoActivate = true;
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
// ensure InitializeComponent() gets called
bWantsInitializeComponent = true;
}
//=============================================================================
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
void UMotionControllerComponent::BeginDestroy()
{
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
Super::BeginDestroy();
if (ViewExtension.IsValid())
{
{
// This component could be getting accessed from the render thread so it needs to wait
// before clearing MotionControllerComponent and allowing the destructor to continue
FScopeLock ScopeLock(&CritSect);
ViewExtension->MotionControllerComponent = NULL;
}
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
ViewExtension.Reset();
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
}
}
void UMotionControllerComponent::CreateRenderState_Concurrent(FRegisterComponentContext* Context)
{
Super::CreateRenderState_Concurrent(Context);
RenderThreadRelativeTransform = GetRelativeTransform();
RenderThreadComponentScale = GetComponentScale();
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
void UMotionControllerComponent::SendRenderTransform_Concurrent()
{
struct FPrimitiveUpdateRenderThreadRelativeTransformParams
{
FTransform RenderThreadRelativeTransform;
FVector RenderThreadComponentScale;
};
FPrimitiveUpdateRenderThreadRelativeTransformParams UpdateParams;
UpdateParams.RenderThreadRelativeTransform = GetRelativeTransform();
UpdateParams.RenderThreadComponentScale = GetComponentScale();
ENQUEUE_RENDER_COMMAND(UpdateRTRelativeTransformCommand)(
[UpdateParams, this](FRHICommandListImmediate& RHICmdList)
{
RenderThreadRelativeTransform = UpdateParams.RenderThreadRelativeTransform;
RenderThreadComponentScale = UpdateParams.RenderThreadComponentScale;
});
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
Super::SendRenderTransform_Concurrent();
}
//=============================================================================
void UMotionControllerComponent::TickComponent(float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction)
{
Super::TickComponent(DeltaTime, TickType, ThisTickFunction);
if (IsActive())
{
FVector Position = GetRelativeTransform().GetTranslation();
FRotator Orientation = GetRelativeTransform().GetRotation().Rotator();
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
float WorldToMeters = GetWorld() ? GetWorld()->GetWorldSettings()->WorldToMeters : 100.0f;
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
const bool bNewTrackedState = PollControllerState(Position, Orientation, WorldToMeters);
if (bNewTrackedState)
{
SetRelativeLocationAndRotation(Position, Orientation);
}
// if controller tracking just kicked in or we haven't gotten a valid model yet
if (((!bTracked && bNewTrackedState) || !DisplayComponent) && bDisplayDeviceModel && DisplayModelSource != UMotionControllerComponent::CustomModelSourceId)
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
{
RefreshDisplayComponent();
}
bTracked = bNewTrackedState;
if (!ViewExtension.IsValid() && GEngine)
{
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
ViewExtension = FSceneViewExtensions::NewExtension<FViewExtension>(this);
}
}
}
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
//=============================================================================
void UMotionControllerComponent::SetShowDeviceModel(const bool bShowDeviceModel)
{
if (bDisplayDeviceModel != bShowDeviceModel)
{
bDisplayDeviceModel = bShowDeviceModel;
#if WITH_EDITORONLY_DATA
const UWorld* MyWorld = GetWorld();
const bool bIsGameInst = MyWorld && MyWorld->WorldType != EWorldType::Editor && MyWorld->WorldType != EWorldType::EditorPreview;
if (!bIsGameInst)
{
// tear down and destroy the existing component if we're an editor inst
RefreshDisplayComponent(/*bForceDestroy =*/true);
}
else
#endif
if (DisplayComponent)
{
DisplayComponent->SetHiddenInGame(!bShowDeviceModel, /*bPropagateToChildren =*/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
}
else if (!bShowDeviceModel)
{
RefreshDisplayComponent();
}
}
}
//=============================================================================
void UMotionControllerComponent::SetDisplayModelSource(const FName NewDisplayModelSource)
{
if (NewDisplayModelSource != DisplayModelSource)
{
DisplayModelSource = NewDisplayModelSource;
RefreshDisplayComponent();
}
}
//=============================================================================
void UMotionControllerComponent::SetCustomDisplayMesh(UStaticMesh* NewDisplayMesh)
{
if (NewDisplayMesh != CustomDisplayMesh)
{
CustomDisplayMesh = NewDisplayMesh;
if (DisplayModelSource == UMotionControllerComponent::CustomModelSourceId)
{
if (UStaticMeshComponent* AsMeshComponent = Cast<UStaticMeshComponent>(DisplayComponent))
{
AsMeshComponent->SetStaticMesh(NewDisplayMesh);
}
else
{
RefreshDisplayComponent();
}
}
}
}
//=============================================================================
void UMotionControllerComponent::SetTrackingSource(const EControllerHand NewSource)
{
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
if (LegacyMotionSources::GetSourceNameForHand(NewSource, MotionSource))
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
UWorld* MyWorld = GetWorld();
if (MyWorld && MyWorld->IsGameWorld() && HasBeenInitialized())
{
FMotionDelayService::RegisterDelayTarget(this, PlayerIndex, MotionSource);
}
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
}
}
//=============================================================================
EControllerHand UMotionControllerComponent::GetTrackingSource() const
{
EControllerHand Hand = EControllerHand::Left;
FXRMotionControllerBase::GetHandEnumForSourceName(MotionSource, Hand);
return Hand;
}
//=============================================================================
void UMotionControllerComponent::SetTrackingMotionSource(const FName NewSource)
{
MotionSource = NewSource;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
UWorld* MyWorld = GetWorld();
if (MyWorld && MyWorld->IsGameWorld() && HasBeenInitialized())
{
FMotionDelayService::RegisterDelayTarget(this, PlayerIndex, NewSource);
}
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
}
//=============================================================================
void UMotionControllerComponent::SetAssociatedPlayerIndex(const int32 NewPlayer)
{
PlayerIndex = NewPlayer;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
UWorld* MyWorld = GetWorld();
if (MyWorld && MyWorld->IsGameWorld() && HasBeenInitialized())
{
FMotionDelayService::RegisterDelayTarget(this, NewPlayer, MotionSource);
}
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
}
void UMotionControllerComponent::Serialize(FArchive& Ar)
{
Ar.UsingCustomVersion(FVRObjectVersion::GUID);
Super::Serialize(Ar);
if (Ar.CustomVer(FVRObjectVersion::GUID) < FVRObjectVersion::UseFNameInsteadOfEControllerHandForMotionSource)
{
LegacyMotionSources::GetSourceNameForHand(Hand_DEPRECATED, MotionSource);
}
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
}
#if WITH_EDITOR
//=============================================================================
void UMotionControllerComponent::PreEditChange(FProperty* PropertyAboutToChange)
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
{
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
PreEditMaterialCount = DisplayMeshMaterialOverrides.Num();
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
Super::PreEditChange(PropertyAboutToChange);
}
//=============================================================================
void UMotionControllerComponent::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent)
{
Super::PostEditChangeProperty(PropertyChangedEvent);
FProperty* PropertyThatChanged = PropertyChangedEvent.Property;
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
const FName PropertyName = (PropertyThatChanged != nullptr) ? PropertyThatChanged->GetFName() : NAME_None;
if (PropertyName == GET_MEMBER_NAME_CHECKED(UMotionControllerComponent, bDisplayDeviceModel))
{
RefreshDisplayComponent(/*bForceDestroy =*/true);
}
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
else if (PropertyName == GET_MEMBER_NAME_CHECKED(UMotionControllerComponent, DisplayMeshMaterialOverrides))
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
{
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
RefreshDisplayComponent(/*bForceDestroy =*/DisplayMeshMaterialOverrides.Num() < PreEditMaterialCount);
}
else if (PropertyName == GET_MEMBER_NAME_CHECKED(UMotionControllerComponent, CustomDisplayMesh))
{
RefreshDisplayComponent(/*bForceDestroy =*/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
}
}
#endif
//=============================================================================
void UMotionControllerComponent::OnRegister()
{
Super::OnRegister();
if (DisplayComponent == nullptr)
{
RefreshDisplayComponent();
}
}
//=============================================================================
void UMotionControllerComponent::InitializeComponent()
{
Super::InitializeComponent();
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
UWorld* MyWorld = GetWorld();
if (MyWorld && MyWorld->IsGameWorld())
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
{
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
FMotionDelayService::RegisterDelayTarget(this, PlayerIndex, MotionSource);
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
}
}
//=============================================================================
void UMotionControllerComponent::OnComponentDestroyed(bool bDestroyingHierarchy)
{
Super::OnComponentDestroyed(bDestroyingHierarchy);
if (DisplayComponent)
{
DisplayComponent->DestroyComponent();
}
}
//=============================================================================
void UMotionControllerComponent::RefreshDisplayComponent(const bool bForceDestroy)
{
if (IsRegistered())
{
TArray<USceneComponent*> DisplayAttachChildren;
auto DestroyDisplayComponent = [this, &DisplayAttachChildren]()
{
DisplayDeviceId.Clear();
if (DisplayComponent)
{
// @TODO: save/restore socket attachments as well
DisplayAttachChildren = DisplayComponent->GetAttachChildren();
DisplayComponent->DestroyComponent(/*bPromoteChildren =*/true);
DisplayComponent = nullptr;
}
};
if (bForceDestroy)
{
DestroyDisplayComponent();
}
UPrimitiveComponent* NewDisplayComponent = nullptr;
if (bDisplayDeviceModel)
{
const EObjectFlags SubObjFlags = RF_Transactional | RF_TextExportTransient;
if (DisplayModelSource == UMotionControllerComponent::CustomModelSourceId)
{
UStaticMeshComponent* MeshComponent = nullptr;
if ((DisplayComponent == nullptr) || (DisplayComponent->GetClass() != UStaticMeshComponent::StaticClass()))
{
DestroyDisplayComponent();
const FName SubObjName = MakeUniqueObjectName(this, UStaticMeshComponent::StaticClass(), TEXT("MotionControllerMesh"));
MeshComponent = NewObject<UStaticMeshComponent>(this, SubObjName, SubObjFlags);
}
else
{
MeshComponent = CastChecked<UStaticMeshComponent>(DisplayComponent);
}
NewDisplayComponent = MeshComponent;
if (ensure(MeshComponent))
{
if (CustomDisplayMesh)
{
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
MeshComponent->SetStaticMesh(CustomDisplayMesh);
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
}
else
{
UE_LOG(LogMotionControllerComponent, Warning, TEXT("Failed to create a custom display component for the MotionController since no mesh was specified."));
}
}
}
else
{
TArray<IXRSystemAssets*> XRAssetSystems = IModularFeatures::Get().GetModularFeatureImplementations<IXRSystemAssets>(IXRSystemAssets::GetModularFeatureName());
for (IXRSystemAssets* AssetSys : XRAssetSystems)
{
if (!DisplayModelSource.IsNone() && AssetSys->GetSystemName() != DisplayModelSource)
{
continue;
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
int32 DeviceId = INDEX_NONE;
if (MotionSource == FXRMotionControllerBase::HMDSourceId)
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
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
DeviceId = IXRTrackingSystem::HMDDeviceId;
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
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
else
{
EControllerHand ControllerHandIndex;
if (!FXRMotionControllerBase::GetHandEnumForSourceName(MotionSource, ControllerHandIndex))
{
break;
}
DeviceId = AssetSys->GetDeviceId(ControllerHandIndex);
}
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
if (DisplayComponent && DisplayDeviceId.IsOwnedBy(AssetSys) && DisplayDeviceId.DeviceId == DeviceId)
{
// assume that the current DisplayComponent is the same one we'd get back, so don't recreate it
// @TODO: maybe we should add a IsCurrentlyRenderable(int32 DeviceId) to IXRSystemAssets to confirm this in some manner
break;
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
// needs to be set before CreateRenderComponent() since the LoadComplete callback may be triggered before it returns (for syncrounous loads)
DisplayModelLoadState = EModelLoadStatus::Pending;
FXRComponentLoadComplete LoadCompleteDelegate = FXRComponentLoadComplete::CreateUObject(this, &UMotionControllerComponent::OnDisplayModelLoaded);
NewDisplayComponent = AssetSys->CreateRenderComponent(DeviceId, GetOwner(), SubObjFlags, /*bForceSynchronous=*/false, LoadCompleteDelegate);
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
if (NewDisplayComponent != nullptr)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
if (DisplayModelLoadState != EModelLoadStatus::Complete)
{
DisplayModelLoadState = EModelLoadStatus::InProgress;
}
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
DestroyDisplayComponent();
DisplayDeviceId = FXRDeviceId(AssetSys, DeviceId);
break;
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
else
{
DisplayModelLoadState = EModelLoadStatus::Unloaded;
}
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
}
}
if (NewDisplayComponent && NewDisplayComponent != DisplayComponent)
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
{
NewDisplayComponent->SetupAttachment(this);
// force disable collision - if users wish to use collision, they can setup their own sub-component
NewDisplayComponent->SetCollisionEnabled(ECollisionEnabled::NoCollision);
NewDisplayComponent->RegisterComponent();
for (USceneComponent* Child : DisplayAttachChildren)
{
Child->SetupAttachment(NewDisplayComponent);
}
DisplayComponent = NewDisplayComponent;
}
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
if (DisplayComponent)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
if (DisplayModelLoadState != EModelLoadStatus::InProgress)
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
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
OnDisplayModelLoaded(DisplayComponent);
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
}
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3873914) ============================ MAJOR FEATURES & CHANGES ============================ Change 3873906 by Dan.Oconnor Revised fix for preventing delegate functions from appearing in context menu when using the compilation manager - needed to run after CallDelegateHandler changed statement type #jira UE-51726 Change 3873614 by Dan.Oconnor Prevent delegate functions from appearing in context menu when using the compilation manager and prevent crash if such a function is somehow compiled #jira UE-51726 Change 3873428 by Ben.Zeigler #jira UE-54753 Fix class pin on SpawnActorFromClass to correctly support browse. It was inherting from the wrong pin widget Copy of 3873408 Change 3873083 by Ethan.Geller [4.19]#jira UE-54865 fix seconds -> milliseconds conversion issue. #rb aaron.mcleran #lockdown cristina.riveron Change 3872714 by Dan.Oconnor Further revise fix for UE-53840, mistakenly reverted to old behavior when compiling synchronously #jira UE-53840 Change 3872648 by Ben.Zeigler #jira UE-54845 Fix crash in NextDebugTarget when there are no valid debug targets Copy of CL #3872636 Change 3872500 by Arne.Schober Back out changelist 3870283 #jira UE-54838 Change 3872412 by Mark.Satterthwaite Remove now unnecessary r.Metal.ManualVertexFetch from the device profiles. #jira UE-54853 Change 3872313 by Martin.Wilson Add UI to Live Link Client to warn live link users about background performance throttling #jira none Change 3872272 by Martin.Wilson Fix crash when clearing a skeletal mesh on a skeletal mesh component with an active Post Process Anim Instance #jira none Change 3872238 by Mark.Satterthwaite Duplicate CL #3871025 Make Manual Vertex Fetch a property of the shader platform for Metal - only the desktop platforms (METAL SM5/SM5_NoTess/MRT) will use manual vertex fetch. The mobile platforms use vertex descriptors. Prevents problems with cooked versions of games not working properly on Metal due to a mismatch between the runtime's Manual-Vertex-Fetch state versus the state used by the cooker when compiling shaders. #jira UE-54843 Change 3872087 by Yasiman.Ahsani Adding Python, libdisasm, musl, and LSS licenses. #JIRA n/a - adding licenses for new TPS Change 3872037 by Ben.Marsh BuildGraph: Add a task for compiling MSBuild projects. #jira Change 3871934 by Lina.Halper #jira: UE-54703 Change 3871595 by Michael.Trepka Fixed a problem with Mac editor not exiting with error code returned from GuardedMain function #jira UE-54830 Change 3870829 by Joe.Barnes Fix unintentional change to PhysX libs used in Debug builds. #jira ue-54817 Change 3870820 by Nick.Atamas Copying //Tasks/UE4/Dev-VR-4.19a@3870772 to Release-4.19 (//UE4/Release-4.19) #jira UE-54816 Change 3870755 by Chance.Ivey Min Android version set - should fix camera permissions issue found in #JIRA UE-54024 #rb none #fyi nick.atamas Change 3870547 by Krzysztof.Narkowicz Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel. #jira UE-53640 Change 3870546 by Krzysztof.Narkowicz Fixed tesselation shader tex/uniform initialization in OpenGL3/4 path #jira UE-54471 Change 3870284 by Ben.Zeigler #jira UE-54583 Fix issue where loading multiple already loaded assets via Async Load Asset node could return the wrong asset on the loaded pin. The assign variable node was happening at a slightly wrong time Copy of CL #3870279 Change 3870283 by Arne.Schober SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources) Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary #jira none Change 3870098 by Ben.Marsh Fix OptimizeCode = CodeOptimization.Always causing compile errors in Linux debug builds. bUseInlining was not set correctly on the global compile environment used to build shared PCHs. Also fixed other settings not being propogated down from the target correctly. #jira UE-53855 Change 3870013 by Ben.Marsh UBT: Add an error if a user attempts to clean a target through hot-reload, rather than just failing to delete DLLs because they are locked. #jira UE-54179 Change 3870010 by Ben.Marsh UBT: Add an option to format output messages in a form that can be parsed by MSBuild. Prevents errors showing as "EXEC: Error:", and displays them correctly in the error list window. #jira Change 3869814 by Ben.Marsh UBT: Unify command line arguments to use -Name=Value syntax. -Module <Name>, -ModuleWithSuffix <Name> <Suffix>, -Plugin <Path> and -Receipt <Path> are no longer supported. Also remove the RemoteRoot option, which was not used anywhere. #jira Change 3869786 by Martin.Wilson Fix Live Link Remove Source button not working #Jira UE-54652 Change 3869660 by Martin.Wilson Fix missing message bus sources in the live link client (not repolling for new sources) #Jira UE-54712 Change 3869659 by Guillaume.Abadie Fixes SimpleComposure's BP_AdvancedCompositing keep allocating memory every frame. Credits for fixing the issue to Ron Radeztsk. #jira UE-54780 Change 3869401 by Lauren.Ridge Adding to the conditional in FindAllAncestorNamedSlotHostWidgetsForContent #jira UE-51470 Change 3869384 by Brandon.Schaefer Open the project in the explorer when NullSourceCodeAccess is done creating the project #jira UE-54630 Change 3869308 by Ben.Marsh PR #4452: Fixed FindFilesRecursively in IPlatformFilePak (Contributed by user37337) #jira UE-54568 Change 3869265 by Martin.Wilson Fix crash and subsequently found issues with unloading/reloading Maya Live Link plugin -Crash on reload due to core code getting reinitialize, made this a one time only thing (as Maya never gets rid of the module from memory) -Added manual ticking of FTicker, allows message bus objects to be cleaned up properly (cannot do this as part of normal flow as it is in engine code which we dont have) -rebuild binaries for Engine/Extras #Jira UE-54643 Change 3869206 by Benn.Gallagher Fixed crash updating clothing paint mode after tab spawners have been destroyed by the hosting application. #jira UE-54116 Change 3869064 by Benn.Gallagher Resolved skeletal mesh data changes and clothing section disable changes after collision. Re-added ability to disable sections at the mesh level and removed the ability to strip editor sections as these are required for a number of other features to correctly function. #jira UE-52557 Change 3869062 by Guillaume.Abadie Fixes "dynamic resolution is not supported on this platform" warning message being always visible. #jira UE-54655 Change 3868202 by Lauren.Ridge Fix for assert on expanding vector param in layered material #jira UE-54737 Change 3868161 by zak.parrish Replacing FaceARDebugUI with a blank UI until a new one can be created, due to a crash bug. #rb none #JIRA UE-54639 Change 3867750 by Ethan.Geller [4.19] #jira UE-54725 Fix for Envelope attack and release values not being properly set on Synth Components #rb aaron.mcleran #lockdown cristina.riveron Change 3867657 by Lauren.Ridge Adding if with editor wrapper to new function #jira cis fix Change 3867646 by Aaron.McLeran #jira UE-53867 Access violation on Switch when playing sound with specified time out of range Change 3867340 by Lauren.Ridge Fixes to Material Layers from 4.19 preview feedback -Need to pass through base attributes better/have better default nodes in layer (optional Example Layers and Blends checkbox now enables this in Experimental Settings) -Parent in function should be editable -Enforce only two layers in a blend -Mat layer should warn if it has incorrect output in the layer itself -Enforce not being able to delete outputs -Warn about creating a MAL node inside a function #jira UETOOL-1312 Change 3867317 by Aaron.McLeran #jira UE-53867 Access violation on Switch when playing sound with specified time out of range Change 3867000 by Lauren.Ridge Fix for folder favorites possibly becoming very large #jira UE-54704 Change 3866892 by Martin.Wilson Fix crash if clicking ok on message bus add source without having a source selected #jira UE-54572 Change 3866391 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53379 Change 3866241 by Ryan.Vance #jira UE-54681 Fixed missing Vulkan texture GetNativeResource implementation that was lost in a bad merge. Change 3866071 by Nick.Shin UDN 412414 update HTMl5 readme file #jira none Change 3866005 by Max.Preussner Messaging: Preventing dangling references when removing message subscribers #jira UE-54680 Change 3865988 by Simon.Tourangeau Fix static analysis warnings #jira none Change 3865895 by zachary.wilson Renaming QA-PhysicalLightUnits to TM-PhysicalLightUnits in QAGame. #JIRA UE-29618 Change 3865469 by Simon.Tourangeau Support for DX11 quad buffer stereo rendering #jira UEENT-704 Change 3865461 by Chris.Babcock Add a wait for audio thread to pause audio on going to background #jira UE-54301 #ue4 #android Change 3865350 by Matt.Kuhlenschmidt Fix issue where cascade emitter UI would disapper #jira UE-53379 Change 3865336 by Arne.Schober REL - Fix UE-52356 Bone Weight #jira UE-52356 Change 3865257 by Ben.Marsh Fix editor failing to load content-only projects when compiled in DebugGame. #jira UE-54661 Change 3865238 by Simon.Tovey Pulling Olaf's fix from 3832595 over to release #tests EngineTests boots in vulkan #JIRA UE-54394 Change 3865191 by Sorin.Gradinaru UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format #jira UE-54317 #Android #4.19 From //Dev-Mobile/3863322 Change 3865190 by Sorin.Gradinaru UE-54175 Selecting For Distribution no longer sets configuration to Shipping #UE4 #4.19 #jira UE-54175 From //Dev-Mobile/3863371 "For Distribution" enable-> reset "Build COnfiguration" to Shipping and force serialization to DefaultGame.ini (see UE-52845) Change 3865056 by Jamie.Dale Fixed culture being incorrect when added via the Localization Dashboard #jira none Change 3864826 by Max.Preussner WmfMedia: Added missing scope lock #jira UE-54365 Change 3864055 by Aaron.McLeran #jira UE-54213 Crash fix for GC'd plugin settings objects. Adding to AddReferencedObjects. Change 3863775 by Andrew.Porter MediaFrameworkTest: Removing Platform Media Source TVOS test content #jira UE-29618 Change 3863714 by Dan.Oconnor Make array, set, and map nodes no longer switch object type when a pin is disconnected. Also, you can no longer attach unrelated map types to the MakeMap node if only the value pin has been inferred #jira UE-54634 Change 3863696 by Max.Chen Sequencer: Fix crash open a new sequence while another is still active. #jira UE-54620 #jira UE-54624 Change 3863638 by Dan.Oconnor Make sure all blueprints that are skeleton compiled get a BroadcastChanged notification, also run BroadcastChanged after reinstancing, matching pre compilation manager behavior #jira UE-54193 Change 3863494 by Jamie.Dale Ensure Py_SetPythonHome is set correctly before the embedded Python interpreter is initialized #jira UE-54345 Change 3863433 by Max.Preussner MediaPlayerEditor: Removed tvOS from list of available platforms in Platform Media Source assets tvOS currently reports itself as iOS, so it cannot have its own setting. #jira UE-54559 Change 3863406 by Lauren.Ridge Fix for a crash when filtering a dropdown with no set value #jira UE-54631 Change 3863238 by Michael.Kirzinger #jira UE-52730: Fix mac voip crash Change 3862586 by Marc.Audy Clean up rendering thread heartbeat checks that got mangled in various integrations #jira Change 3862247 by Guillaume.Abadie Fixes editor lines that were using a simple element blending mode that was generating an incorrect alpha channel. #jira UE-53830 Change 3862120 by Guillaume.Abadie Fixes USceneCaptureComponent::HiddenActors always staying gray out in world editor. #jira UE-51458 Change 3861363 by Jamie.Dale Static analysis fixes #jira none Change 3861150 by Matt.Kuhlenschmidt Fix static mesh editor displaying 0 for all stats on LODs > 0 #jira UE-53776 Change 3860990 by Dan.Oconnor Clear subobjects not recreated on load, e.g. because we're running with -game and the subobject was created using CreateEditorOnlySubobject #jira UE-54551 Change 3860972 by Nick.Shin HTML5 - detect "SyntaxError: " and do a forced reload - an actual syntax error would be caught during compile time - this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page #jira UE-54017 QAGame fails to launch properly on HTML5 Firefox 64 bit Change 3860951 by Arne.Schober Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer. #jira UE-54587 Change 3860950 by tim.gautier QAGame: Updating ML_Stone to include Texture Coordinate and Panner functions #jira UE-29618 Change 3860833 by Michael.Dupuis #jira UE-54181: Repopulate the foliage list when existing simulate mode Let the GC know that internal struct hold UObject ptr Change 3860762 by Jamie.Dale Ensure we invoke the correct version of Python from UBT #jira UE-54345 Change 3860676 by Simon.Tourangeau Remove DirectoryWatcher warning in output log #jira UEENT-846 Change 3860598 by Lauren.Ridge Fix for crash on opening new material instance #jira UE-54589 Change 3860338 by Michael.Lentine Integrate changes for fixing MorphTargets. #jira 54398 Change 3860215 by Ben.Marsh UAT: Fix exception consturcting target rules assembly inside UAT, now that there's an abstract TargetRules class. #jira UE-54578 Change 3860186 by Matt.Kuhlenschmidt Fix crash top 10 with the font editor shutting down and then a dpi event occuring #jira UE-54543 Change 3859854 by Graeme.Thornton PR #4124: VSCode: Changed VisualStudioCodeSourceCodeAccessor to work with non-default VSCode install paths on Linux (Contributed by christopherreed) #jira UE-51289 Change 3859848 by Graeme.Thornton Fix crypto.cs reading the wrong ini setting names for uasset encryption settings #jira UE-54566 Change 3859684 by Ben.Marsh PR #4436: Fix compile error when building BlankProgram because incorrect directory path (Contributed by windkey) #jira UE-54392 Change 3859657 by Ben.Marsh Fix FTransform being passed by value, causing alignment error when compiling for Win32. #jira Change 3859312 by nick.bullard Updating AEOverviewMan to remove reference to sub-level AEOverviewSWP which was deleted in 3859278 Still need to update menu to remove selection #jira UE-50784 Change 3859278 by Nick.Bullard Deleteing AEOverviewSWP.umap per request of Developer. Also updated TM-AnimPhys which refereneced this map as well. "This test map is a custom C++ implementation of a "procedural sound wave". This code is super janky and not worth fixing up. I'm sure there's a legit thread safety problem in there but the code is in QAGame only. We've since implemented "synth components" which do what this test does in a much safer/better way and maintaining/testing this old thing is *not* worth the time." #jira UE-50784 Change 3859124 by Dan.Oconnor Fix long standing crash when duplicating a blueprint that is missing its parent class. Entries in CrashReport go back to 4.16 #jira UE-54468 Change 3859086 by Ryan.Vance #jira UE-54470 We need to set the viewport in both cases. Change 3859006 by Dan.Oconnor Revise fix for archetype lookup when reinstancing. During compilation we do not want to force use of the up to date class #jira UE-54541 Change 3858990 by mason.seay Cleaned up blueprints to remove compile errors #jira UE-29618 Change 3858945 by Aaron.McLeran #jira UE-54265 PR #4428: Fixing Envelope Bug in AudioMixer (Contributed by Chrispykins) Change 3858719 by Aaron.McLeran #jira UE-54552 Fix for sample buffer reader Change 3858647 by Ethan.Geller PR #4439: Removes ambiX -> FuMa conversion (Contributed by mgorzel) #jira UE-54407 Change 3858364 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858268 by Dan.Oconnor Prevent postload logic running on REINST and SKEL classes #jira UE-54531 Change 3858205 by Mitchell.Wilson Removed particle looping from some emitters to resolve anim notify warnings. #jira UE-53823 Change 3858148 by Lauren.Ridge Changes based on Material Layer Feedback from previews - (Temporary) Disabled being able to create a layer or blend in the asset dropdown - Sections of the stack that have been disabled now inactivate that part of the UI - Create Function Instance now indicates if you are making a layer or a blend - Parent dropdown has been removed from layers and blends. Where relevant, a filter button has been added instead. #jira UETOOL-1328 Change 3857933 by Michael.Dupuis #jira UE-45854: Properly unregister callback when replacing foliage type with another one Change 3857898 by Michael.Dupuis #jira UE-54396: Remove the Ensure as it could be possible that the Landscape Info is invalid during an undo operation Change 3857878 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. Copy from Dev-Sequencer #jira UE-54462 Change 3857808 by Michael.Dupuis #jira UE-54421: Prevent edition during Simulate when clicking on actor Change 3857786 by Rolando.Caloca UE4.19 - Fix recompute tangents and skin cache for OpenGL #jira UE-42108 PR #3271 Change 3857549 by Lina.Halper another jittering issue due to revision number change clear the motion vector after compile #jira: UE-53930 Change 3857439 by Lina.Halper Clear motion vector when end of sequencer when in editor world #jira:UE-54057 Change 3857384 by Graeme.Thornton Restore fix for visual studio source code accessor not correctly determining that a content project has no solution and opening a fresh instance of visual studio #jira UE-50020 Change 3856596 by Chris.Babcock Fix ResonanceAudioApi Android library architecture filtering #jira UE-54478 #ue4 #android Change 3856449 by Michael.Dupuis #jira UE-35097: Various cosmetic changes that were done in phase 2 that help improve clarity of the design. Change 3856415 by Dan.Oconnor Fix regression when loading instances that have had their class deleted. Issue detected by static analysis #jira UE-54467 Change 3856332 by Ben.Marsh Resaving TP_HandheldARBP assets to fix version again. #jira Change 3856319 by Ben.Marsh Back out changelist 3855588 Causes build failure in UFE because it introduces a dependency on the Engine module. UFE compiles with WITH_ENGINE = 0. #jira UE-54472 Change 3856292 by Ben.Marsh Fix app-local dependencies not being included in binary builds, and only working for code projects in source builds. #jira UE-54448 Change 3856190 by Martin.Wilson Fix bone access mismatch between raw mesh bones and final bones (that include virtual bones too) #jira UE-54266 Change 3856169 by Ben.Marsh Tag XGEControlWorker.exe as a build product, so it's included in the binary distro. #jira UE-54283 Change 3856123 by Chris.Babcock Fix missing ARCore file #jira UE-54453 #ue4 #android Change 3856005 by Richard.Wallis Clone of Dev-Rendering CL 3855993 - turn off FShaderCache. #jira UE-52928 Change 3855961 by Jian.Ru Copy 3855047 - fix DFAO Nan problem #jira UE-54403 Change 3855811 by Martin.Wilson Add build process for Maya Live Link plugin (standalone, manually triggered) + add built binaries to Engine/Extras (Maya 2016, Maya 2017, Maya 2018) #jira none Change 3855758 by Cosmin.Sulea UE-53569 - tvOS does not package or launch-on #jira UE-53569 Change 3855727 by Ben.Marsh Resaving assets with a versioned build in the editor, to fix warnings building DDC. #jira Change 3855626 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-50979 (MP4 doesn't resume playback when iOS 11 device wakes from sleep) #jira UE-50979 Change 3855588 by Graeme.Thornton Fix visual studio solution path being incorrect for content projects #jira UE-50020 Change 3855283 by Ben.Marsh Fix race condition where stdout/stderr write handles could be inherited by multiple processes, resulting in them not being closed (and the process exit being detected) until all processes that inherited them had been closed. Improves performance of ParallelExecutor. #jira Change 3855009 by Chance.Ivey Resaving with version number. #JIRA-54330 #rb none Change 3854943 by Dan.Oconnor Fix archetype lookup when searching hierarchy that has been partially reinstanced #jira UE-53840 Change 3854882 by Ryan.Vance #jira UE-54438 Removing vr related references to screen percentage. Removing previously removed gvr screen percentage code that came back in an integration from google. Change 3854806 by Mike.Beach Mirroring part of CL 3802176 to fix a crash that can occur when users try to use the default 'DisplayModel' on MotionController components. Also provided users a better error message to explain why a model might not be showing up. #jira UE-54214 Change 3854680 by Chance.Ivey Saving assets with version number#JIRA UE-54330 #rb none Change 3854652 by Uriel.Doyon Added a tooltip to the EV100 slider in the exposure menu. Using game settings now disables the slider. #jira UE-53945 Change 3854605 by Dan.Oconnor Make sure we don't create objects outered to a placeholder object, also make sure that archetypes that are reinstanced on load are relinked in to the linker table so that they are postload'd (and the old instance isn't) #jira UE-53954 Change 3854274 by Brandon.Schaefer Changes in CL 3842286 changed the function glslang::GlslangToSpv and requires a rebuild on Linux #jira UE-54302 #codeview Arciel.Rekman Change 3854255 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. - Mirrored from //UE4/Dev-Framework (3853349). #jira UE-53960 Change 3854177 by Ethan.Geller #jira UE-54415 set EnabledByDefault to false for Resonance Audio Change 3854123 by Ethan.Geller #jira UE-54410 set AudioComponentID Change 3853775 by Lauren.Ridge Minor cleanup #jira UE-54054 Change 3853772 by Lauren.Ridge Don't create widgets when just testing if the selected widget is a replacement candidate #jira UE-54054 Change 3853715 by Rolando.Caloca UE4.19 - Fix for OpenGL overwriting texture units #jira UE-54401 Change 3853655 by Ben.Marsh Add a retry loop on creating the first directory before copying files. Attempt to work around problems copying to shared folders. #jira Change 3853535 by Ben.Marsh Expose the engine compatible changelist to Perforce. If EnginePatchVersion > 0, this will be the changelist of the original .0 release. #jira Change 3852583 by Nick.Atamas Resaved assets so they don't produce DDC warnings. #jira none Change 3852552 by Uriel.Doyon Fixed Pre-Exposure shader compilation and Temporal AA issue. #jira UE-54276 Change 3852354 by Nick.Atamas Hopefully fixes the static analysis warning from jira issue. #jira UE-54332 Change 3852281 by Nick.Atamas Merging CL 3851690 from //Tasks/UE4/Dev-VR-4.19a/... to //UE4/Telease-4.19/... #jira UE-54331 Change 3852274 by Simon.Tourangeau Back out changelist 3851041 until Win7 issue is resolved. #jira UE-54354 Change 3852208 by Jamie.Dale Merging CL# 3821754 from //UE4/Dev-Enterprise Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types #jira none Change 3852202 by Jamie.Dale More explicit handling of EngineDir for Python SDK #jira UE-54345 Change 3851982 by Brandon.Schaefer Workaround using a hardcoded path #jira UE-54136 Change 3851748 by Michael.Dupuis #jira UE-53904: Put the code back to what it was before, as we really only want to perform this code if bIsLayerThumbnail is true, it was changed to fix another issue complaining about a missing shader, that end up being added to the existing functions Change 3851545 by Marc.Audy Remove debugging code that slipped in #jira none Change 3851461 by Ben.Marsh Fix #includes with backslashes from crashing UBT. #jira UE-53996 Change 3851391 by Jamie.Dale Updated Python to prefer our TPS SDK #jira UE-54345 Change 3851372 by Jamie.Dale Added bat file to copy the Python SDK into TPS #jira UE-54345 Change 3851218 by Ben.Marsh Add missing template to installed engine build. #jira UE-54339 Change 3851117 by andrew.porter QAGame: Removing duplicate map #jira UE-29618 Change 3851041 by Simon.Tourangeau Support for DX11 quad buffer stereo rendering #jira UEENT-704 Change 3850548 by Ben.Marsh Add TP_HandheldARBP to installed engine build. #jira Change 3850424 by Ben.Zeigler Fix reported memory for asset registry to be correct, extracted from a larger change #jira none Change 3850324 by Ryan.Vance #jira UEVR-1050 Hook up the Rift dynamic res to the new IDynamicResolutionState framework Change 3849819 by JeanLuc.Corenthin Unhide Datasmith plugins in "regular" projects to allow easy project conversion #jira UEENT-795 Change 3849302 by Martin.Wilson Live Link is no longer experimental in 4.19 (moved from experimental folder to Animation) #jira none Change 3849238 by Max.Chen Sequencer: Remove bKeepStaleTracks so that stale tracks are now always purged. #jira UE-54248 Change 3849211 by Michael.Dupuis #jira UE-54181: Prevent foliage edition during PIE or simulate mode #coderevire jack.porter Change 3849123 by Benn.Gallagher Fixed crash in clothing actor creation when the clothing simulation mesh has no simulated vertices #jira UE-53741 Change 3849120 by Benn.Gallagher Fixed crash adding empty materials to destructible meshes in the destructible mesh editor #jira UE-53938 Change 3849047 by Jurre.deBaare Move material baking out of experimental #fix follow-up also remove the entry from experimental settings #jira UE-52685 Change 3848808 by Michael.Dupuis #jira UE-35097: Remove IncludeTessellationInShadowLOD & RestrictTessellationToShadowCascade from 4.19 as there is currently a bug regarding this in the dynamic rendering code path and would be too risky to fix for now. Fixed dynamic shadow code path issue vs static code path Change 3848659 by Lina.Halper Fix issue with animation resetting in the sequencer #jira: UE-54047 Change 3848635 by Rolando.Caloca UE4.19 - Fix static analysis #jira UE-50449 Change 3848515 by Sorin.Gradinaru Unshelved from pending changelist '3843541': WebBrowser Android crash on 4.4.3 #jira UE-53247 #Android #4.19 Crash on Android 4.x.x caused by a call to a Api Level 21 method Change 3848514 by Jurre.deBaare Moving over: CL 3832173 "Failed to import Alembic files #jira UE-53941 #fix Change Alembic thirdparty library setup - Removed old unused library files - Updated batch files for building HDF5 ILMBase and Alembic libraries to use new AlembicDeploy path - HDF5 is now build as a Dynamic library (which also enableds multi-threading) - Added DLLs for HDF5 to build.cs file CL 3838053 "Adding missing hdf5 dynamic libraries Change 3848245 by Ben.Marsh Downgrade warning about not using XGE shader compilation to a log message. Build machines do not have XGE. #jira UE-54237 Change 3847300 by Phillip.Kavan Fix shadowed local variable. #jira UE-54141 Change 3846922 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed Copied from Dev-Sequencer CL# 3846902 #jira UE-54247 Change 3846831 by Arciel.Rekman Linux: only use lld for x86_64 (UE-54144). - lld support for other architectures seems to not ready for prime time. #jira UE-54144 Change 3846771 by Lauren.Ridge Material window now uses the background color set in preview scene. #jira UE-52215 Change 3846705 by Ben.Marsh Fix batch file paths not being quoted correctly when run through XGE. #jira Change 3846550 by Lauren.Ridge Toggling Show Background now updates the background as well #jira UE-52250 Change 3846417 by Matt.Kuhlenschmidt Fix crash resizing shootergame window #jira UE-53137 Change 3846295 by Rolando.Caloca UE4.19 - New Vulkan descriptor pooling mechanism (enabled on non-android) #jira UE-50449 Change 3846273 by tim.gautier QAGame: Updating Material Layer test assets to include more Params - Added temp assets, quicker repros for bugs #jira UE-54176, UE-54165 Change 3846255 by Lauren.Ridge Parameter tab is the primary tab for material instances #jira UE-54092 Change 3846086 by Chris.Babcock Add missing SecureHash.h include #jira UE-54026 #PR #4417 #ue4 #android Change 3846049 by Martin.Wilson Fix Set Root Motion Enabled Anim Data Modifier node (previously didn't set the enabled flag) #jira UE-54220 Change 3846033 by Martin.Wilson Fix root motion being repeatedly applied ( Clear() call only clears bHasRootMotion flag, not the transform itself ) #Jira UE-54219 Change 3845991 by andrew.porter QAGame: Updating bindings on activechannels sequencer test content #jira UE-29618 Change 3845933 by Lauren.Ridge Check for original material being valid #jira UE-54166 Change 3845920 by Martin.Wilson Optimized redundant key removal #jira UE-51303 Change 3845812 by Matt.Kuhlenschmidt Fix not being able to change BSP brush shape #jira UE-53738 Change 3845790 by Martin.Wilson Fix for assert failure when accumulating root motion in debug. #jira UE-53955 Change 3845730 by JeanLuc.Corenthin Fix build breakage warning: resaved disc.uasset with 4.19.0 preview #1 failure: set the correct default mesh for AreaLightStruct.uasset #jira none Change 3845693 by Lina.Halper Fix issue with previewing pose asset with curve data #jira: UE-53967 Change 3845533 by Andrew.Rodham Sequencer: Fixed sub sequences potentially being loaded during AddReferencedObjects #jira UE-54173 Change 3845472 by Thomas.Sarkanen Prevented debug object selection dropdown from displaying objects with pending kill outers #jira UE-54045 - Animation Blueprint Editor Crashes on Compile if the Debug Instance Selection is Other Than No Object or Preview Instance Change 3845401 by Yannick.Lange Reverting thumbnail capture from viewport. #jira UE-53775 #jira UE-53701 Change 3844693 by JeanMichel.Dignard Changed IES texture brightness to be the max candela value and set the texture multiplier to be 1. This fixes the IES lights intensity being too high. #jira UEENT-632 Change 3844689 by JeanLuc.Corenthin Update Datasmith content assets to latest Copying fix from Dev-Enterprise by Jean-Luc Corenthin CL 3809803 Updated assets with correct release version Cleanup some paths on static meshes and texture #jira UEENT-759 #jira UEENT-657 Change 3844571 by Martin.Wilson Fix motion controller motion source pin still showing when pin is connected to something #Jira UE-53236 Change 3844564 by Martin.Wilson Due to previously fixed bug some anim blueprint nodes could have duplicated guids, this fixes them #Jira UE-54174 Change 3844545 by Jamie.Dale No longer attempt to parse group separators for numeric inputs This avoids some ambiguity when parsing numbers for languages such as German #jira UE-54170 Change 3844221 by Nick.Shin HTML5 - filter out "windows/super" keys - these are not used in UE4 - but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead... #jira UE-54056 HTML5 crashes inside browser upon pressing windows key Change 3843937 by JeanMichel.Dignard Fixed a crash when right clicking on a static mesh for which its AssetImportData class is currently unavailable (ie: in an unloaded plugin). #jira UEENT-764 Change 3843929 by Peter.Sauerbrei pull over fix for bad directory when copying launch images #jira UE-53177 Change 3843658 by Thomas.Sarkanen Text is red again in anim viewports #jira UE-53224 - Colouring removed from "Animation is being edited" warning messages Change 3843657 by Thomas.Sarkanen Enable picking via Enter for details panel asset pickers The previous (4.18) behavior was to only allow selection of the previous/next item in the list with arrow keys. A fix (CL 3783114) for pickers with many assets broke this. This change now allows for selection of any item by navigating with arrow keys and pressing Enter, as suggested in the Jira. #jira UE-53440 - Unable to select assets within modal Asset Selection dropdowns after navigating with keyboard entry Change 3843120 by Dan.Oconnor Avoid fixing component template games outside the editor, this logic does not work for games that have been nativized #jira UE-54009 Change 3842841 by Ben.Zeigler #jira UE-50020 Switch visual studio module back to using absolute paths so go to definition works, broken in CL #3796157 Change 3842582 by Lauren.Ridge Guards against the widget passed to scrollwidgetintoview being null #jira UE-54037 Change 3842575 by Max.Chen Sequence Recorder: Stop recording if the preview window is destroyed. #jira UE-49778 Change 3842551 by Michael.Dupuis #jira UE-35097: Minor bug fix, documentation, etc. to the landscape optim that was done in the phase 2 that have 0 risk. Change 3842371 by Max.Preussner Media: Merged 4.19 fixes from Dev-Sequencer CL 3807293 WmfMedia: Fixed YUY2 video format strides CL 3827988 MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together CL 3805414 MediaAssets: Setting valid GUID when initializing media texture resource CL 3804183 MediaAssets: Added missing lock in media sound component CL 3831580 MfMedia: Media open events generated in same order as on other platforms CL 3807193 WmfMedia: Fixed incorrect buffer stride for RGB32 video tracks #jira UE-53532 #jira UE-53328 Change 3842356 by Max.Preussner ImgMedia: Fixed ensure when cooking project that uses ImgMediaSource #jira UE-51631 Change 3842335 by Aaron.McLeran #jira UE-54087 PR #4419: Fixes a crash due to nullptr dereference (Contributed by mgorzel) Change 3842286 by Rolando.Caloca UE4.19 - Fix for static analysis - Glslang 1.0.65.1 #jira UE-54128 Change 3842222 by andrew.porter QAGame: Updating framerate of EXR_Sequence #jira UE-29618 Change 3842211 by Ben.Marsh Fix determination of Windows version string. The manifest for UE4 applications declares compatibility with Windows 10 nowadays, so we get accurate version numbers returned from GetOSVersionInfo(). #jira UE-54035 Change 3842163 by Cosmin.Sulea UE-53303 - We do not check for remote connection before attempting remote shader compile, causing crashes when misconfigured #jira UE-53303 Change 3841770 by Max.Chen Sequencer: Fix to allow keying of an arbitrarily deep property path. #jira UE-54095 Change 3841758 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3841415 by Lauren.Ridge Renaming a material layer or material layer blend will no longer cause the asset to appear removed from the stack #jira UE-53942 Change 3841327 by Arciel.Rekman Linux: fix Debug build (UE-53855) - A workaround. UBT should be using proper PCH files instead. #jira UE-53855 Change 3840975 by Rolando.Caloca UE4.19 - Updated VulkanRHI - Fixes for GPU frame time - Fixes for CPU performance #jira UE-50449 Change 3840838 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3840693 by Ben.Zeigler #jira UE-53923 Fix regression in 4.19 where PrintScriptCallstack is not always safe to call from the immediate window. I narrowed down the issue to some confusing optimized code so I turned off optimization Copy of CL #3840692 Change 3840680 by Aaron.McLeran Bringing fixes from Dev-AnimPhys to 4.19. #jira UE-53903 crash on load with oculus audio and old audio engine #jira UE-52786, UE-53910 Fix for broken spatialization on xaudio2, old audio engine. Change 3840663 by Rolando.Caloca UE4.19 - Fix for layout ensure on HMD projects on Vulkan #jira UE-50265 Change 3840577 by Rolando.Caloca UE4.19 - Fix for CPUs with more than 16 cores #jira UE-53434 Change 3840551 by andrew.porter QAGame: Setting Allow Bindings from Asset to false #jira UE-29618 Change 3840491 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Copy of CL #3840489 Change 3840297 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840284 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840215 by Sorin.Gradinaru Unshelved from pending changelist '3812852': UE-53550 Level doesn't render on Lenovo 939 UE-53592 Assertion right after rendering scene on Lenovo S939 #jira UE-53550 #jira UE-53592 #4.19 #Android UE-53550 Removed force disabling texture2DLodEXT and textureCubeLodEXT on Mali-400 devices The problem was that the shader compiler complains about code lines before the #extension directives. Placeholder // end extensions in the original shader code - to be replaced with round() functions UE-53592 Always use a new task for devices that have GIsThreadedRendering=false, even when the call is from the rendering thread Change 3840048 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840005 by Richard.Wallis Clone of CL 3835252 Fix for shader library not working with iterative cooking, also fixes native Metal library not working with iterative cook. This works by saving a "backup" of the shader library file - this is reloaded only during iterative cook and adds back in shaders that are missing from the current cook. Fix for extracting/searching .metal files in different directories so debug tgz archiving wasn't working correctly and also support iterative cook. Includes first pass code review suggestions by Mark Sat and Dmitriy Dyomin. #jira UE-53815 Change 3839968 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing ##codereview jack.porter Change 3839924 by Richard.Wallis Clone of CL 3838093 Fix for rewind / seek bugs in AvfMediaPlayer. - Don't initialise and send audio buffers that have a duration of Zero from the audio tap. This chokes the audio sink and adds overhead we don't need. - Don't faff around with current play rates during loop operation - normal seek doesn't do this so loop seek shouldn't either. - SetRate() should not required to be passed to media tracks - should be enough to do this on audio track select only. #jira UE-54019, UE-53027 Change 3839321 by andrew.porter QAGame: Adding missing bookmark to QA-Sequencer_Blending #jira UE-29618 Change 3839286 by Marcus.Wassmer Duplicate CL: 3823296 #jira UE-52784 Change 3839229 by Brandon.Schaefer Fix audio clean up crash when exiting PIE #jira UE-54050 #review-3839109 @Arciel.Rekman, @Aaron.McLeran Change 3839223 by andrew.porter QAGame: Rebinding pointlight actor to sequences #jira UE-29618 Change 3839098 by andrew.porter QAGame: Fixing missing sequencer blending test content #jira UE-29618 Change 3838919 by Mike.Erwin glTF: binary format's BIN chunk is not necessarily right after the JSON chunk. Discussed this with glTF spec authors. See https://github.com/KhronosGroup/glTF/issues/1177 Rearranged how we read "chunks" from the file since they are not fixed in number or order, besides JSON always being first. #jira UE-50695 Change 3838909 by Mike.Erwin glTF: base64 decoding of data buffers and images Data can be encoded inside the glTF JSON as a Base64 data URI. This CL addresses a known limitation of initial commit CL 3793018. I added this after because base64 is expected to be uncommon in the wild. Authoring software will typically use external BIN files (.gltf) or a BIN chunk (.glb) to store data. #jira UE-50695 Change 3838812 by Uriel.Doyon Integrated CL 3838576, 3838581 and 3831760 from DevRendering, fixing issues with texture streaming. #jira none Change 3838773 by Lauren.Ridge Fixing material layer filters #jira UE-54064 Change 3838748 by Michael.Trepka Fixed EngineTest runtime warning caused by CL 3838626 #jira UE-53893 Change 3838730 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3838626 by Michael.Trepka Changed FMacMenu to store MultiBox and MenuEntryBox as weak pointers instead of shared pointers. This way we avoid a situation where FMacMenu would try to release them on the main Cocoa thread or where we'd try to execute a menu action for menu items that Slate considers released. #jira UE-53893 Change 3838392 by Arciel.Rekman Fix assert on a policy removal (UE-54042). - Applying Gil's safe fix which just sweeps the problem under the rug. #jira UE-54042 Change 3838162 by Arciel.Rekman Linux: fix crash due to lambda lifetime issues (UE-54040). - The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+). #jira UE-54040 (Edigrating 3819174 to Release-4.19) Change 3838156 by Rolando.Caloca UE4.19 - Support for Vulkan devices that have no cached memory type #jira UE-54039 Change 3838096 by Brandon.Schaefer Set sound to unfocused volume multiplier if not focused #jira UE-51327 #review-3835736 arciel.rekman Change 3838087 by Brandon.Schaefer Fix arm server building. A fix from CL 3617084 remove inheriting from IHeadMountedDisplayVulkanExtensions. Remove overrides #jira UE-53901 #review-3838088 arciel.rekman Change 3837072 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. - Mirrored from //UE4/Dev-Framework (3836768). #jira UE-53908 Change 3837071 by Phillip.Kavan Emit proper syntax for set/map fields containing converted assets to generated C++ Blueprint class headers when Blueprint nativization is enabled. - Mirrored from //UE4/Dev-Framework (3835944, 3835965). #jira UE-42614 Change 3837070 by Phillip.Kavan #4202 - Blueprint nativization bug fixes (PR). - Mirrored from //UE4/Dev-Framework (3830562, 3832292). #jira UE-52188 Change 3836507 by Ryan.Vance #jira UE-53992 Due to hijacking the depth target directly from the scene context, we can't support depth compositing if it's being scaled by screen percentage since it wont match our color render target dimensions. Change 3836390 by Dan.Oconnor Fix failure to resolve archetype when using the compilation manager #jira UE-53840 Change 3836251 by Ryan.Vance #jira UE-53992 Change 3835852 by Mark.Satterthwaite Fix tessellation shaders in Metal with Manual Vertex Fetch enabled: - The control points idnex buffer shouldn't collide with anything else. - We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures. #jira UE-53851 Change 3835802 by JeanMichel.Dignard UBT changes for Enterprise deployment - Allow building enterprise against an installed engine version - Added enterprise to the cleanup process if its not installed #jira UEENT-748 Change 3835625 by Bogdan.Vasilache UE-50257 --> (Skeletal meshes silently fail to render if they have more than 75 bones) --> changed logged error with a warning #jira UE-50257 Change 3833649 by Mike.Beach Enabling debug layer when multiview is enabled. #jira UE-49954 Change 3833525 by Ethan.Geller Fix copyright in ActiveSound.cpp #jira none #rb none Change 3642649 by Stewart.Lynch Renamed loctext key to stop it clashing with an existing entry #jira UE-49432 Change 3644762 by Stewart.Lynch LLM update: Added Total, Untracked and FMalloc Unused to LLMFULL stat page. Fixed occasionally missing allocs/frees. Removed platform csv. * removed CheckSize arg from OnLowLevelFree * show a warning in LLM Map when replacing existing value. This means that there has been an alloc/free mismatch. * minor optimization in LLMMap::GetMaxIndex - cache Mask value * added Total and Untracked stats to LLMFULL. LLMFULL now tracks almost all of the memory that LLMPlatform does, so there is no real need to use LLMPlatform. Removed the LLMPlatform csv. * added FMalloc Unused stat to LLMFULL to account for memory Binned2 has allocated internally. This can be used to track Binned2 fragmentation over time. * renamed Binned stats to FMemory to make it more general * added Default tracking to CustomVirtualAlloc and disable it where necessary. This catches the few VirtualAlloc calls that were missed. * added AllocType arg to all allocation tracking. This was needed in order to track the FMalloc total, and also to fix the pausing * fixed a bug in pausing where alloc/frees were being missed. Now only pauses a specific allocation type. * Trackers now maintain totals for each enum tag * tracking of Texture and mesh allocation on Windows D3D11 & D3D12 Change 3651334 by Joe.Barnes Fix misspelled function name. #jira 39441 #3016 Change 3653857 by Ben.Woodhouse Integrate from //UE4/Main/...@3653675 to //UE4/Dev-Console/... Change 3656553 by Joe.Barnes Add path for SCS_DeviceDepth. Change 3662703 by Ben.Woodhouse Merging CL 3659069 from //Fortnite/Main/... to to //ue4/dev-console/...: [FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism - Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame. - Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe. - r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency. Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup. A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index. In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread. [~] Unified platform specific sync interval CVars into one: rhi.SyncInterval - 1 == 60Hz - 2 == 30Hz - 3 == 20Hz Change 3675239 by Keith.Judge Fixed thread priorities for Windows so that BelowNormal and SlightlyBelowNormal are the same. Bumped Lowest down a notch so they all fit. #jira UE-50626 Change 3676709 by Ben.Woodhouse Integrate from //UE4/Main/...@3675008 to //UE4/Dev-Console/... Change 3689712 by Ben.Woodhouse Integrate from //UE4/Main/...@3687781 to //UE4/Dev-Console/... Change 3701778 by Ben.Woodhouse Integrate from //UE4/Main/...@3699491 to //UE4/Dev-Console/... Change 3677043 by Ben.Woodhouse From StewartL: I also found that on Windows Fortnite is overflowing int32 values due to the number of allocations. I changed LLMArray and LLMMap to use uint32 and it seems to be Ok now. I didn't want to check this in at the last minute, so here's the shelf: 3645336 Change 3726532 by Luke.Thatcher [CONSOLE] [~] Enable XGE shader compilation by default. - Also set XGE mode to "force interception". With XGE on by default, we don't want people with an old Incredibuild version using the old system inadvertently. Change 3726554 by Luke.Thatcher [CONSOLE] [+] Improved Scoped Named Events - Added SCOPED_NAMED_EVENT(_FSTRING/_TEXT/_F) macros to allow use of string literals, FString and printf in scoped named event strings. - Replaced explicit use of FPlatformMisc::Begin/EndNamedEvent throughout the engine with macros, so the events can be compiled out. - Fixed performance issues on various platforms with named events. SCOPED_NAMED_EVENT macros were not considering whether the platform uses wide or ansi char strings. Change 3751378 by Ben.Woodhouse Integrate from //UE4/Main/...@3748735 to //UE4/Dev-Console/... Change 3751812 by Ben.Woodhouse Integrate from //UE4/Main/...@3750870 to //UE4/Dev-Console/... Change 3728571 by Luke.Thatcher [CONSOLE] [!] Drop another XGE controller warning to log. Change 3747150 by Joe.Barnes Add AuthoringToolHelper.bat file to installed build copy list. Change 3768585 by Ben.Woodhouse Integrate from //UE4/Main/...@3767531 to //UE4/Dev-Console/... Change 3772333 by Ben.Woodhouse Integrate from //UE4/Main/...@3771573 to //UE4/Dev-Console/... Change 3786872 by Ben.Woodhouse Integrate from //UE4/Main/...@3786785 to //UE4/Dev-Console/... Change 3787279 by Luke.Thatcher [CONSOLE] [~] Unified present threshold CVars. - CVars are now in RHIUtilities.cpp, and are renamed to rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom. - Platform implementations will be checked in shortly. Change 3787445 by Luke.Thatcher [CONSOLE] [^] Merging (as edit) improvements to low-latency frame syncing from //Fortnite/Main to //UE4/Dev-Console Original CLs - 3708949 - Added rhi.SyncSlackMS cvar to allow an offset of the game thread sync time by a number of milliseconds. - 3712693 - Fix for crash on startup in new frame syncing. - 3735765 - Fix r.GTSyncType logic when vsync is disabled (falls back to old behaviour when vsync is off). Change 3788417 by Ben.Woodhouse Duplicate from FN CL 3712515 CSV profiler GPU and pre-declared stat support - refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds - add support for pre-declared CSV stats, using FNames (these are required for GPU stats) - add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats Change 3807818 by Ben.Woodhouse Integrate from //UE4/Main/...@3803271 to //UE4/Dev-Console/... Change 3818577 by Ben.Woodhouse Integrate from //UE4/Main/...@3812936 to //UE4/Dev-Console/... Change 3821198 by Ben.Woodhouse Integrate from //UE4/Release-4.19/...@3820127 to //UE4/Dev-Console/... Change 3821519 by Ben.Woodhouse Integrate from //UE4/Release-4.19/...@3820753 to //UE4/Dev-Console/... #robomerge none Change 3813513 by Ben.Woodhouse CSV profiler refactor+ bug fix - Move the CSV profiler to core, so we can use it in modules other than engine - Profiler no longer enqueues RT commands - this is handled by a new core delegate type - Make begin/end requests more robust, enqueued via a command queue and processed in order - Defer end capture requests by a frame. This ensures stats on threads other than the gamethread (e.g. renderthread etc) are complete, so the last frame is not truncated - Fix long-standing bug with multiple captures where old/stale frames would appear in the first <128 frames of captures - Move unit stats and dynamic resolution out of the profiler itself and into the engine. Only frametime is recorded in the profiler now - Fix longstanding bug in first frame renderthread time in the engine Change 3814039 by Ben.Woodhouse More Csvprofiler improvements - Event support (via CSV_EVENT macros). These appear in the "EVENTS" column of the CSV and can be used to add context to the stat data - Reduced memory overhead for timestamps through bit-packing (now 16 bytes per marker instead of 24), and splitting stats into different types Change 3814041 by Ben.Woodhouse Integrate as edit CL 3796390 from Fortnite/Main: Fix CsvProfiler not compiling in shipping for now Change 3814229 by Ben.Woodhouse Integrate + refactor of CL 3792591 to reduce complexity and fix bugs Original changelist description: CSV profiler improvements: - The CSV profiler is now always compiled in on the server - The CSV profiler can now handle both int32 and float stats - In BeginCapture, the function can take additional arguments for some customization of filenames Fixes to the above: - Remove FCustomValue class - Fixes bug where all timestamp values from CSV_SCOPED_STATs were garbage (due to issues resulting from FCustomValue type ambiguity when adding values together) - FCsvCustomStat now just uses simple union + bitfield flag to reduce size and complexity (4 bytes instead of 8 per value) - FCsvColumn class modified to use doubles, which can represent both ints and floats without loss of precision - this class is not memory or time critical - Replace multiple overrides used by the server for filenameprefix/folder/postfix etc with a single FilenameOverride Change 3814242 by Ben.Woodhouse Disable CSV unit stats on the dedicated server Change 3817339 by Ben.Woodhouse Duplicate from 3816641: CSV profiler improvements - Added a low-pri processing thread to compress raw timing data into a much more efficient format - Reduces memory usage for 15 minute 30k frame capture with GPU stats enabled from 110MB to 3.4MB - Processing time : 0.1ms per frame - Improved name handling for char literal stats. We now use the string as the ID rather than the pointer so multiple stat uses of the same name string apply only to a single stat - Reworked thread data access to eliminate locking for anything time-critical. Frame boundaries now handled via a lock-free helper class - Fixed bug with queue implementation where 1 in 128 reads would duplicate the last block of stat data - Reduced #include dependencies for CSVProfiler.h - Removed AccumulateMax because it doesn't work, and implementing properly would add a lot of complexity - Added a simple test harness Change 3817582 by Ben.Woodhouse Fix android compile warning Change 3823242 by Ben.Woodhouse Integrate as edit from Fortnite/Main 3820067: Fix threading issue with D3D12 pipeline state caches for windows. This was caused by the usage of FRwScopeLock::RaiseLockToWrite. A pointer read before RaiseLockToWrite was called was invalidated because RaiseLockToWrite has to release the read lock before acquiring the write lock. Rename FRwScopeLock::RaiseLockToWrite to ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION to make it more explicit what's happening. As the comment says: // This function should be used with caution. // It releases the read lock _before_ acquiring a new write lock. This is not an atomic operation and the caller should // not treat it as such. // E.g. Pointers read from protected data structures prior to this call may be invalid after the function is called. Change 3823840 by Ben.Woodhouse Edigrate from 3823816 Fix an issue where the csvprofile console commands would sometimes result in an empty CSV. The root cause was GFrameNumber incrementing between the console command being read and FCSVProfiler::EndFrame(). We now use our own frame counter which is updated in EndFrame, so this can't happen Also fix an issue where calling csvprofile stop twice would cause all further commands to be ignored. Change 3827787 by Ben.Woodhouse Integrate-as-edit CL 3820678 from Fortnite/Main Allow the CSV Profiler to be compiled in to shipping dedicated server builds Change 3827842 by Ben.Woodhouse Integrate-as-edit CL 3827079 from Fortnite/Main CSV profiler category support Change 3827918 by Luke.Thatcher [CONSOLE] [!] Fix compile error in CSV custom stats. Change 3827964 by Luke.Thatcher [CONSOLE] [!] Fix inverted logic and spelling of boolean. - Functionally, the boolean did the correct thing, but the logic was backwards inside the build tool. Change 3831661 by Ben.Woodhouse Integrate-as-edit CL 3830630 from Fortnite/Main Fix CSVProfiler assert in dev builds on XB1 Change 3860300 by Joe.Barnes Use same method for src and dest rect calculation as other post processing passes so rects match between passes. Prevents read of unprocessed pixels. Change 3860347 by Joe.Barnes Delete existing SourceConfigFile before allocating a new one to prevent them leaking. Change 3860348 by Joe.Barnes Completely encapsulate GetLLMAlloc() in #ifdef. Change 3861772 by Ben.Woodhouse Integrate-as-edit CL 3861688 from Fortnite/Main: Forward lighting GPU crash fixes Change 3861774 by Ben.Woodhouse Integrate as edit CL 3833918 from dev-rendering (courtesy of DanielW): D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled. Change 3862214 by Ben.Woodhouse Integrate-as-edit CL 3859637 from Fortnite/Main Dynamic resolution console tweaks - Dynamic resolution high level switch driven by a cvar instead of code - Disable user settings dynamic resolution handling on non-desktop platforms. DynamicRes as a user setting does not make sense on consoles/mobile - we'll drive it from device profiles/scalability - Modify naming of GPUHeadRoom to make it clear that it's a percentage, not millseconds Change 3863919 by Ben.Woodhouse [Copy] Integrate console dynamic resolution interface changes from CL 3863354, 3862754, 3862639 Change 3864347 by Ben.Woodhouse Fix the editor build. This will need a proper fix before 4.19 ships. #lockdown Nick.Penwarden #rb none [CL 3913399 by Ben Marsh in Main branch]
2018-02-27 17:30:35 -05:00
DisplayComponent->SetHiddenInGame(bHiddenInGame);
DisplayComponent->SetVisibility(GetVisibleFlag());
Copying //UE4/Release-Staging-4.19 to //UE4/Dev-Main (Source: //UE4/Release-4.19 @ 3873914) ============================ MAJOR FEATURES & CHANGES ============================ Change 3873906 by Dan.Oconnor Revised fix for preventing delegate functions from appearing in context menu when using the compilation manager - needed to run after CallDelegateHandler changed statement type #jira UE-51726 Change 3873614 by Dan.Oconnor Prevent delegate functions from appearing in context menu when using the compilation manager and prevent crash if such a function is somehow compiled #jira UE-51726 Change 3873428 by Ben.Zeigler #jira UE-54753 Fix class pin on SpawnActorFromClass to correctly support browse. It was inherting from the wrong pin widget Copy of 3873408 Change 3873083 by Ethan.Geller [4.19]#jira UE-54865 fix seconds -> milliseconds conversion issue. #rb aaron.mcleran #lockdown cristina.riveron Change 3872714 by Dan.Oconnor Further revise fix for UE-53840, mistakenly reverted to old behavior when compiling synchronously #jira UE-53840 Change 3872648 by Ben.Zeigler #jira UE-54845 Fix crash in NextDebugTarget when there are no valid debug targets Copy of CL #3872636 Change 3872500 by Arne.Schober Back out changelist 3870283 #jira UE-54838 Change 3872412 by Mark.Satterthwaite Remove now unnecessary r.Metal.ManualVertexFetch from the device profiles. #jira UE-54853 Change 3872313 by Martin.Wilson Add UI to Live Link Client to warn live link users about background performance throttling #jira none Change 3872272 by Martin.Wilson Fix crash when clearing a skeletal mesh on a skeletal mesh component with an active Post Process Anim Instance #jira none Change 3872238 by Mark.Satterthwaite Duplicate CL #3871025 Make Manual Vertex Fetch a property of the shader platform for Metal - only the desktop platforms (METAL SM5/SM5_NoTess/MRT) will use manual vertex fetch. The mobile platforms use vertex descriptors. Prevents problems with cooked versions of games not working properly on Metal due to a mismatch between the runtime's Manual-Vertex-Fetch state versus the state used by the cooker when compiling shaders. #jira UE-54843 Change 3872087 by Yasiman.Ahsani Adding Python, libdisasm, musl, and LSS licenses. #JIRA n/a - adding licenses for new TPS Change 3872037 by Ben.Marsh BuildGraph: Add a task for compiling MSBuild projects. #jira Change 3871934 by Lina.Halper #jira: UE-54703 Change 3871595 by Michael.Trepka Fixed a problem with Mac editor not exiting with error code returned from GuardedMain function #jira UE-54830 Change 3870829 by Joe.Barnes Fix unintentional change to PhysX libs used in Debug builds. #jira ue-54817 Change 3870820 by Nick.Atamas Copying //Tasks/UE4/Dev-VR-4.19a@3870772 to Release-4.19 (//UE4/Release-4.19) #jira UE-54816 Change 3870755 by Chance.Ivey Min Android version set - should fix camera permissions issue found in #JIRA UE-54024 #rb none #fyi nick.atamas Change 3870547 by Krzysztof.Narkowicz Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel. #jira UE-53640 Change 3870546 by Krzysztof.Narkowicz Fixed tesselation shader tex/uniform initialization in OpenGL3/4 path #jira UE-54471 Change 3870284 by Ben.Zeigler #jira UE-54583 Fix issue where loading multiple already loaded assets via Async Load Asset node could return the wrong asset on the loaded pin. The assign variable node was happening at a slightly wrong time Copy of CL #3870279 Change 3870283 by Arne.Schober SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources) Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary #jira none Change 3870098 by Ben.Marsh Fix OptimizeCode = CodeOptimization.Always causing compile errors in Linux debug builds. bUseInlining was not set correctly on the global compile environment used to build shared PCHs. Also fixed other settings not being propogated down from the target correctly. #jira UE-53855 Change 3870013 by Ben.Marsh UBT: Add an error if a user attempts to clean a target through hot-reload, rather than just failing to delete DLLs because they are locked. #jira UE-54179 Change 3870010 by Ben.Marsh UBT: Add an option to format output messages in a form that can be parsed by MSBuild. Prevents errors showing as "EXEC: Error:", and displays them correctly in the error list window. #jira Change 3869814 by Ben.Marsh UBT: Unify command line arguments to use -Name=Value syntax. -Module <Name>, -ModuleWithSuffix <Name> <Suffix>, -Plugin <Path> and -Receipt <Path> are no longer supported. Also remove the RemoteRoot option, which was not used anywhere. #jira Change 3869786 by Martin.Wilson Fix Live Link Remove Source button not working #Jira UE-54652 Change 3869660 by Martin.Wilson Fix missing message bus sources in the live link client (not repolling for new sources) #Jira UE-54712 Change 3869659 by Guillaume.Abadie Fixes SimpleComposure's BP_AdvancedCompositing keep allocating memory every frame. Credits for fixing the issue to Ron Radeztsk. #jira UE-54780 Change 3869401 by Lauren.Ridge Adding to the conditional in FindAllAncestorNamedSlotHostWidgetsForContent #jira UE-51470 Change 3869384 by Brandon.Schaefer Open the project in the explorer when NullSourceCodeAccess is done creating the project #jira UE-54630 Change 3869308 by Ben.Marsh PR #4452: Fixed FindFilesRecursively in IPlatformFilePak (Contributed by user37337) #jira UE-54568 Change 3869265 by Martin.Wilson Fix crash and subsequently found issues with unloading/reloading Maya Live Link plugin -Crash on reload due to core code getting reinitialize, made this a one time only thing (as Maya never gets rid of the module from memory) -Added manual ticking of FTicker, allows message bus objects to be cleaned up properly (cannot do this as part of normal flow as it is in engine code which we dont have) -rebuild binaries for Engine/Extras #Jira UE-54643 Change 3869206 by Benn.Gallagher Fixed crash updating clothing paint mode after tab spawners have been destroyed by the hosting application. #jira UE-54116 Change 3869064 by Benn.Gallagher Resolved skeletal mesh data changes and clothing section disable changes after collision. Re-added ability to disable sections at the mesh level and removed the ability to strip editor sections as these are required for a number of other features to correctly function. #jira UE-52557 Change 3869062 by Guillaume.Abadie Fixes "dynamic resolution is not supported on this platform" warning message being always visible. #jira UE-54655 Change 3868202 by Lauren.Ridge Fix for assert on expanding vector param in layered material #jira UE-54737 Change 3868161 by zak.parrish Replacing FaceARDebugUI with a blank UI until a new one can be created, due to a crash bug. #rb none #JIRA UE-54639 Change 3867750 by Ethan.Geller [4.19] #jira UE-54725 Fix for Envelope attack and release values not being properly set on Synth Components #rb aaron.mcleran #lockdown cristina.riveron Change 3867657 by Lauren.Ridge Adding if with editor wrapper to new function #jira cis fix Change 3867646 by Aaron.McLeran #jira UE-53867 Access violation on Switch when playing sound with specified time out of range Change 3867340 by Lauren.Ridge Fixes to Material Layers from 4.19 preview feedback -Need to pass through base attributes better/have better default nodes in layer (optional Example Layers and Blends checkbox now enables this in Experimental Settings) -Parent in function should be editable -Enforce only two layers in a blend -Mat layer should warn if it has incorrect output in the layer itself -Enforce not being able to delete outputs -Warn about creating a MAL node inside a function #jira UETOOL-1312 Change 3867317 by Aaron.McLeran #jira UE-53867 Access violation on Switch when playing sound with specified time out of range Change 3867000 by Lauren.Ridge Fix for folder favorites possibly becoming very large #jira UE-54704 Change 3866892 by Martin.Wilson Fix crash if clicking ok on message bus add source without having a source selected #jira UE-54572 Change 3866391 by Matt.Kuhlenschmidt Fix static analysis #jira UE-53379 Change 3866241 by Ryan.Vance #jira UE-54681 Fixed missing Vulkan texture GetNativeResource implementation that was lost in a bad merge. Change 3866071 by Nick.Shin UDN 412414 update HTMl5 readme file #jira none Change 3866005 by Max.Preussner Messaging: Preventing dangling references when removing message subscribers #jira UE-54680 Change 3865988 by Simon.Tourangeau Fix static analysis warnings #jira none Change 3865895 by zachary.wilson Renaming QA-PhysicalLightUnits to TM-PhysicalLightUnits in QAGame. #JIRA UE-29618 Change 3865469 by Simon.Tourangeau Support for DX11 quad buffer stereo rendering #jira UEENT-704 Change 3865461 by Chris.Babcock Add a wait for audio thread to pause audio on going to background #jira UE-54301 #ue4 #android Change 3865350 by Matt.Kuhlenschmidt Fix issue where cascade emitter UI would disapper #jira UE-53379 Change 3865336 by Arne.Schober REL - Fix UE-52356 Bone Weight #jira UE-52356 Change 3865257 by Ben.Marsh Fix editor failing to load content-only projects when compiled in DebugGame. #jira UE-54661 Change 3865238 by Simon.Tovey Pulling Olaf's fix from 3832595 over to release #tests EngineTests boots in vulkan #JIRA UE-54394 Change 3865191 by Sorin.Gradinaru UE-54317 DXT apps fail on first launch when 'For Distribution' enabled, Unsupported Texture Format #jira UE-54317 #Android #4.19 From //Dev-Mobile/3863322 Change 3865190 by Sorin.Gradinaru UE-54175 Selecting For Distribution no longer sets configuration to Shipping #UE4 #4.19 #jira UE-54175 From //Dev-Mobile/3863371 "For Distribution" enable-> reset "Build COnfiguration" to Shipping and force serialization to DefaultGame.ini (see UE-52845) Change 3865056 by Jamie.Dale Fixed culture being incorrect when added via the Localization Dashboard #jira none Change 3864826 by Max.Preussner WmfMedia: Added missing scope lock #jira UE-54365 Change 3864055 by Aaron.McLeran #jira UE-54213 Crash fix for GC'd plugin settings objects. Adding to AddReferencedObjects. Change 3863775 by Andrew.Porter MediaFrameworkTest: Removing Platform Media Source TVOS test content #jira UE-29618 Change 3863714 by Dan.Oconnor Make array, set, and map nodes no longer switch object type when a pin is disconnected. Also, you can no longer attach unrelated map types to the MakeMap node if only the value pin has been inferred #jira UE-54634 Change 3863696 by Max.Chen Sequencer: Fix crash open a new sequence while another is still active. #jira UE-54620 #jira UE-54624 Change 3863638 by Dan.Oconnor Make sure all blueprints that are skeleton compiled get a BroadcastChanged notification, also run BroadcastChanged after reinstancing, matching pre compilation manager behavior #jira UE-54193 Change 3863494 by Jamie.Dale Ensure Py_SetPythonHome is set correctly before the embedded Python interpreter is initialized #jira UE-54345 Change 3863433 by Max.Preussner MediaPlayerEditor: Removed tvOS from list of available platforms in Platform Media Source assets tvOS currently reports itself as iOS, so it cannot have its own setting. #jira UE-54559 Change 3863406 by Lauren.Ridge Fix for a crash when filtering a dropdown with no set value #jira UE-54631 Change 3863238 by Michael.Kirzinger #jira UE-52730: Fix mac voip crash Change 3862586 by Marc.Audy Clean up rendering thread heartbeat checks that got mangled in various integrations #jira Change 3862247 by Guillaume.Abadie Fixes editor lines that were using a simple element blending mode that was generating an incorrect alpha channel. #jira UE-53830 Change 3862120 by Guillaume.Abadie Fixes USceneCaptureComponent::HiddenActors always staying gray out in world editor. #jira UE-51458 Change 3861363 by Jamie.Dale Static analysis fixes #jira none Change 3861150 by Matt.Kuhlenschmidt Fix static mesh editor displaying 0 for all stats on LODs > 0 #jira UE-53776 Change 3860990 by Dan.Oconnor Clear subobjects not recreated on load, e.g. because we're running with -game and the subobject was created using CreateEditorOnlySubobject #jira UE-54551 Change 3860972 by Nick.Shin HTML5 - detect "SyntaxError: " and do a forced reload - an actual syntax error would be caught during compile time - this is usually error condition is usually seen when browser is running "old/partial" cached data and it's fairly safe to just reload the page #jira UE-54017 QAGame fails to launch properly on HTML5 Firefox 64 bit Change 3860951 by Arne.Schober Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer. #jira UE-54587 Change 3860950 by tim.gautier QAGame: Updating ML_Stone to include Texture Coordinate and Panner functions #jira UE-29618 Change 3860833 by Michael.Dupuis #jira UE-54181: Repopulate the foliage list when existing simulate mode Let the GC know that internal struct hold UObject ptr Change 3860762 by Jamie.Dale Ensure we invoke the correct version of Python from UBT #jira UE-54345 Change 3860676 by Simon.Tourangeau Remove DirectoryWatcher warning in output log #jira UEENT-846 Change 3860598 by Lauren.Ridge Fix for crash on opening new material instance #jira UE-54589 Change 3860338 by Michael.Lentine Integrate changes for fixing MorphTargets. #jira 54398 Change 3860215 by Ben.Marsh UAT: Fix exception consturcting target rules assembly inside UAT, now that there's an abstract TargetRules class. #jira UE-54578 Change 3860186 by Matt.Kuhlenschmidt Fix crash top 10 with the font editor shutting down and then a dpi event occuring #jira UE-54543 Change 3859854 by Graeme.Thornton PR #4124: VSCode: Changed VisualStudioCodeSourceCodeAccessor to work with non-default VSCode install paths on Linux (Contributed by christopherreed) #jira UE-51289 Change 3859848 by Graeme.Thornton Fix crypto.cs reading the wrong ini setting names for uasset encryption settings #jira UE-54566 Change 3859684 by Ben.Marsh PR #4436: Fix compile error when building BlankProgram because incorrect directory path (Contributed by windkey) #jira UE-54392 Change 3859657 by Ben.Marsh Fix FTransform being passed by value, causing alignment error when compiling for Win32. #jira Change 3859312 by nick.bullard Updating AEOverviewMan to remove reference to sub-level AEOverviewSWP which was deleted in 3859278 Still need to update menu to remove selection #jira UE-50784 Change 3859278 by Nick.Bullard Deleteing AEOverviewSWP.umap per request of Developer. Also updated TM-AnimPhys which refereneced this map as well. "This test map is a custom C++ implementation of a "procedural sound wave". This code is super janky and not worth fixing up. I'm sure there's a legit thread safety problem in there but the code is in QAGame only. We've since implemented "synth components" which do what this test does in a much safer/better way and maintaining/testing this old thing is *not* worth the time." #jira UE-50784 Change 3859124 by Dan.Oconnor Fix long standing crash when duplicating a blueprint that is missing its parent class. Entries in CrashReport go back to 4.16 #jira UE-54468 Change 3859086 by Ryan.Vance #jira UE-54470 We need to set the viewport in both cases. Change 3859006 by Dan.Oconnor Revise fix for archetype lookup when reinstancing. During compilation we do not want to force use of the up to date class #jira UE-54541 Change 3858990 by mason.seay Cleaned up blueprints to remove compile errors #jira UE-29618 Change 3858945 by Aaron.McLeran #jira UE-54265 PR #4428: Fixing Envelope Bug in AudioMixer (Contributed by Chrispykins) Change 3858719 by Aaron.McLeran #jira UE-54552 Fix for sample buffer reader Change 3858647 by Ethan.Geller PR #4439: Removes ambiX -> FuMa conversion (Contributed by mgorzel) #jira UE-54407 Change 3858364 by Michael.Dupuis #jira UE-52049: There was a case where adding and removing multiple time would lead to reordering the instances and this would cause the regeneration of the random stream for all the reorded instances. Change 3858268 by Dan.Oconnor Prevent postload logic running on REINST and SKEL classes #jira UE-54531 Change 3858205 by Mitchell.Wilson Removed particle looping from some emitters to resolve anim notify warnings. #jira UE-53823 Change 3858148 by Lauren.Ridge Changes based on Material Layer Feedback from previews - (Temporary) Disabled being able to create a layer or blend in the asset dropdown - Sections of the stack that have been disabled now inactivate that part of the UI - Create Function Instance now indicates if you are making a layer or a blend - Parent dropdown has been removed from layers and blends. Where relevant, a filter button has been added instead. #jira UETOOL-1328 Change 3857933 by Michael.Dupuis #jira UE-45854: Properly unregister callback when replacing foliage type with another one Change 3857898 by Michael.Dupuis #jira UE-54396: Remove the Ensure as it could be possible that the Landscape Info is invalid during an undo operation Change 3857878 by Max.Chen Sequencer: Assign the sequence id after the template is compiled. Copy from Dev-Sequencer #jira UE-54462 Change 3857808 by Michael.Dupuis #jira UE-54421: Prevent edition during Simulate when clicking on actor Change 3857786 by Rolando.Caloca UE4.19 - Fix recompute tangents and skin cache for OpenGL #jira UE-42108 PR #3271 Change 3857549 by Lina.Halper another jittering issue due to revision number change clear the motion vector after compile #jira: UE-53930 Change 3857439 by Lina.Halper Clear motion vector when end of sequencer when in editor world #jira:UE-54057 Change 3857384 by Graeme.Thornton Restore fix for visual studio source code accessor not correctly determining that a content project has no solution and opening a fresh instance of visual studio #jira UE-50020 Change 3856596 by Chris.Babcock Fix ResonanceAudioApi Android library architecture filtering #jira UE-54478 #ue4 #android Change 3856449 by Michael.Dupuis #jira UE-35097: Various cosmetic changes that were done in phase 2 that help improve clarity of the design. Change 3856415 by Dan.Oconnor Fix regression when loading instances that have had their class deleted. Issue detected by static analysis #jira UE-54467 Change 3856332 by Ben.Marsh Resaving TP_HandheldARBP assets to fix version again. #jira Change 3856319 by Ben.Marsh Back out changelist 3855588 Causes build failure in UFE because it introduces a dependency on the Engine module. UFE compiles with WITH_ENGINE = 0. #jira UE-54472 Change 3856292 by Ben.Marsh Fix app-local dependencies not being included in binary builds, and only working for code projects in source builds. #jira UE-54448 Change 3856190 by Martin.Wilson Fix bone access mismatch between raw mesh bones and final bones (that include virtual bones too) #jira UE-54266 Change 3856169 by Ben.Marsh Tag XGEControlWorker.exe as a build product, so it's included in the binary distro. #jira UE-54283 Change 3856123 by Chris.Babcock Fix missing ARCore file #jira UE-54453 #ue4 #android Change 3856005 by Richard.Wallis Clone of Dev-Rendering CL 3855993 - turn off FShaderCache. #jira UE-52928 Change 3855961 by Jian.Ru Copy 3855047 - fix DFAO Nan problem #jira UE-54403 Change 3855811 by Martin.Wilson Add build process for Maya Live Link plugin (standalone, manually triggered) + add built binaries to Engine/Extras (Maya 2016, Maya 2017, Maya 2018) #jira none Change 3855758 by Cosmin.Sulea UE-53569 - tvOS does not package or launch-on #jira UE-53569 Change 3855727 by Ben.Marsh Resaving assets with a versioned build in the editor, to fix warnings building DDC. #jira Change 3855626 by Adrian.Siminciuc https://jira.it.epicgames.net/browse/UE-50979 (MP4 doesn't resume playback when iOS 11 device wakes from sleep) #jira UE-50979 Change 3855588 by Graeme.Thornton Fix visual studio solution path being incorrect for content projects #jira UE-50020 Change 3855283 by Ben.Marsh Fix race condition where stdout/stderr write handles could be inherited by multiple processes, resulting in them not being closed (and the process exit being detected) until all processes that inherited them had been closed. Improves performance of ParallelExecutor. #jira Change 3855009 by Chance.Ivey Resaving with version number. #JIRA-54330 #rb none Change 3854943 by Dan.Oconnor Fix archetype lookup when searching hierarchy that has been partially reinstanced #jira UE-53840 Change 3854882 by Ryan.Vance #jira UE-54438 Removing vr related references to screen percentage. Removing previously removed gvr screen percentage code that came back in an integration from google. Change 3854806 by Mike.Beach Mirroring part of CL 3802176 to fix a crash that can occur when users try to use the default 'DisplayModel' on MotionController components. Also provided users a better error message to explain why a model might not be showing up. #jira UE-54214 Change 3854680 by Chance.Ivey Saving assets with version number#JIRA UE-54330 #rb none Change 3854652 by Uriel.Doyon Added a tooltip to the EV100 slider in the exposure menu. Using game settings now disables the slider. #jira UE-53945 Change 3854605 by Dan.Oconnor Make sure we don't create objects outered to a placeholder object, also make sure that archetypes that are reinstanced on load are relinked in to the linker table so that they are postload'd (and the old instance isn't) #jira UE-53954 Change 3854274 by Brandon.Schaefer Changes in CL 3842286 changed the function glslang::GlslangToSpv and requires a rebuild on Linux #jira UE-54302 #codeview Arciel.Rekman Change 3854255 by Phillip.Kavan Fix a scoping issue for local instanced subobject references in nativized Blueprint C++ code. Also, don't emit redundant assignment statements for instanced subobject reference properties. - Mirrored from //UE4/Dev-Framework (3853349). #jira UE-53960 Change 3854177 by Ethan.Geller #jira UE-54415 set EnabledByDefault to false for Resonance Audio Change 3854123 by Ethan.Geller #jira UE-54410 set AudioComponentID Change 3853775 by Lauren.Ridge Minor cleanup #jira UE-54054 Change 3853772 by Lauren.Ridge Don't create widgets when just testing if the selected widget is a replacement candidate #jira UE-54054 Change 3853715 by Rolando.Caloca UE4.19 - Fix for OpenGL overwriting texture units #jira UE-54401 Change 3853655 by Ben.Marsh Add a retry loop on creating the first directory before copying files. Attempt to work around problems copying to shared folders. #jira Change 3853535 by Ben.Marsh Expose the engine compatible changelist to Perforce. If EnginePatchVersion > 0, this will be the changelist of the original .0 release. #jira Change 3852583 by Nick.Atamas Resaved assets so they don't produce DDC warnings. #jira none Change 3852552 by Uriel.Doyon Fixed Pre-Exposure shader compilation and Temporal AA issue. #jira UE-54276 Change 3852354 by Nick.Atamas Hopefully fixes the static analysis warning from jira issue. #jira UE-54332 Change 3852281 by Nick.Atamas Merging CL 3851690 from //Tasks/UE4/Dev-VR-4.19a/... to //UE4/Telease-4.19/... #jira UE-54331 Change 3852274 by Simon.Tourangeau Back out changelist 3851041 until Win7 issue is resolved. #jira UE-54354 Change 3852208 by Jamie.Dale Merging CL# 3821754 from //UE4/Dev-Enterprise Class property conversion now goes through NativizeClass/PythonizeClass This allows it to coerce from Python wrapped object types #jira none Change 3852202 by Jamie.Dale More explicit handling of EngineDir for Python SDK #jira UE-54345 Change 3851982 by Brandon.Schaefer Workaround using a hardcoded path #jira UE-54136 Change 3851748 by Michael.Dupuis #jira UE-53904: Put the code back to what it was before, as we really only want to perform this code if bIsLayerThumbnail is true, it was changed to fix another issue complaining about a missing shader, that end up being added to the existing functions Change 3851545 by Marc.Audy Remove debugging code that slipped in #jira none Change 3851461 by Ben.Marsh Fix #includes with backslashes from crashing UBT. #jira UE-53996 Change 3851391 by Jamie.Dale Updated Python to prefer our TPS SDK #jira UE-54345 Change 3851372 by Jamie.Dale Added bat file to copy the Python SDK into TPS #jira UE-54345 Change 3851218 by Ben.Marsh Add missing template to installed engine build. #jira UE-54339 Change 3851117 by andrew.porter QAGame: Removing duplicate map #jira UE-29618 Change 3851041 by Simon.Tourangeau Support for DX11 quad buffer stereo rendering #jira UEENT-704 Change 3850548 by Ben.Marsh Add TP_HandheldARBP to installed engine build. #jira Change 3850424 by Ben.Zeigler Fix reported memory for asset registry to be correct, extracted from a larger change #jira none Change 3850324 by Ryan.Vance #jira UEVR-1050 Hook up the Rift dynamic res to the new IDynamicResolutionState framework Change 3849819 by JeanLuc.Corenthin Unhide Datasmith plugins in "regular" projects to allow easy project conversion #jira UEENT-795 Change 3849302 by Martin.Wilson Live Link is no longer experimental in 4.19 (moved from experimental folder to Animation) #jira none Change 3849238 by Max.Chen Sequencer: Remove bKeepStaleTracks so that stale tracks are now always purged. #jira UE-54248 Change 3849211 by Michael.Dupuis #jira UE-54181: Prevent foliage edition during PIE or simulate mode #coderevire jack.porter Change 3849123 by Benn.Gallagher Fixed crash in clothing actor creation when the clothing simulation mesh has no simulated vertices #jira UE-53741 Change 3849120 by Benn.Gallagher Fixed crash adding empty materials to destructible meshes in the destructible mesh editor #jira UE-53938 Change 3849047 by Jurre.deBaare Move material baking out of experimental #fix follow-up also remove the entry from experimental settings #jira UE-52685 Change 3848808 by Michael.Dupuis #jira UE-35097: Remove IncludeTessellationInShadowLOD & RestrictTessellationToShadowCascade from 4.19 as there is currently a bug regarding this in the dynamic rendering code path and would be too risky to fix for now. Fixed dynamic shadow code path issue vs static code path Change 3848659 by Lina.Halper Fix issue with animation resetting in the sequencer #jira: UE-54047 Change 3848635 by Rolando.Caloca UE4.19 - Fix static analysis #jira UE-50449 Change 3848515 by Sorin.Gradinaru Unshelved from pending changelist '3843541': WebBrowser Android crash on 4.4.3 #jira UE-53247 #Android #4.19 Crash on Android 4.x.x caused by a call to a Api Level 21 method Change 3848514 by Jurre.deBaare Moving over: CL 3832173 "Failed to import Alembic files #jira UE-53941 #fix Change Alembic thirdparty library setup - Removed old unused library files - Updated batch files for building HDF5 ILMBase and Alembic libraries to use new AlembicDeploy path - HDF5 is now build as a Dynamic library (which also enableds multi-threading) - Added DLLs for HDF5 to build.cs file CL 3838053 "Adding missing hdf5 dynamic libraries Change 3848245 by Ben.Marsh Downgrade warning about not using XGE shader compilation to a log message. Build machines do not have XGE. #jira UE-54237 Change 3847300 by Phillip.Kavan Fix shadowed local variable. #jira UE-54141 Change 3846922 by Max.Preussner ImgMedia: Fixed image media player never finished initialization if loading failed Copied from Dev-Sequencer CL# 3846902 #jira UE-54247 Change 3846831 by Arciel.Rekman Linux: only use lld for x86_64 (UE-54144). - lld support for other architectures seems to not ready for prime time. #jira UE-54144 Change 3846771 by Lauren.Ridge Material window now uses the background color set in preview scene. #jira UE-52215 Change 3846705 by Ben.Marsh Fix batch file paths not being quoted correctly when run through XGE. #jira Change 3846550 by Lauren.Ridge Toggling Show Background now updates the background as well #jira UE-52250 Change 3846417 by Matt.Kuhlenschmidt Fix crash resizing shootergame window #jira UE-53137 Change 3846295 by Rolando.Caloca UE4.19 - New Vulkan descriptor pooling mechanism (enabled on non-android) #jira UE-50449 Change 3846273 by tim.gautier QAGame: Updating Material Layer test assets to include more Params - Added temp assets, quicker repros for bugs #jira UE-54176, UE-54165 Change 3846255 by Lauren.Ridge Parameter tab is the primary tab for material instances #jira UE-54092 Change 3846086 by Chris.Babcock Add missing SecureHash.h include #jira UE-54026 #PR #4417 #ue4 #android Change 3846049 by Martin.Wilson Fix Set Root Motion Enabled Anim Data Modifier node (previously didn't set the enabled flag) #jira UE-54220 Change 3846033 by Martin.Wilson Fix root motion being repeatedly applied ( Clear() call only clears bHasRootMotion flag, not the transform itself ) #Jira UE-54219 Change 3845991 by andrew.porter QAGame: Updating bindings on activechannels sequencer test content #jira UE-29618 Change 3845933 by Lauren.Ridge Check for original material being valid #jira UE-54166 Change 3845920 by Martin.Wilson Optimized redundant key removal #jira UE-51303 Change 3845812 by Matt.Kuhlenschmidt Fix not being able to change BSP brush shape #jira UE-53738 Change 3845790 by Martin.Wilson Fix for assert failure when accumulating root motion in debug. #jira UE-53955 Change 3845730 by JeanLuc.Corenthin Fix build breakage warning: resaved disc.uasset with 4.19.0 preview #1 failure: set the correct default mesh for AreaLightStruct.uasset #jira none Change 3845693 by Lina.Halper Fix issue with previewing pose asset with curve data #jira: UE-53967 Change 3845533 by Andrew.Rodham Sequencer: Fixed sub sequences potentially being loaded during AddReferencedObjects #jira UE-54173 Change 3845472 by Thomas.Sarkanen Prevented debug object selection dropdown from displaying objects with pending kill outers #jira UE-54045 - Animation Blueprint Editor Crashes on Compile if the Debug Instance Selection is Other Than No Object or Preview Instance Change 3845401 by Yannick.Lange Reverting thumbnail capture from viewport. #jira UE-53775 #jira UE-53701 Change 3844693 by JeanMichel.Dignard Changed IES texture brightness to be the max candela value and set the texture multiplier to be 1. This fixes the IES lights intensity being too high. #jira UEENT-632 Change 3844689 by JeanLuc.Corenthin Update Datasmith content assets to latest Copying fix from Dev-Enterprise by Jean-Luc Corenthin CL 3809803 Updated assets with correct release version Cleanup some paths on static meshes and texture #jira UEENT-759 #jira UEENT-657 Change 3844571 by Martin.Wilson Fix motion controller motion source pin still showing when pin is connected to something #Jira UE-53236 Change 3844564 by Martin.Wilson Due to previously fixed bug some anim blueprint nodes could have duplicated guids, this fixes them #Jira UE-54174 Change 3844545 by Jamie.Dale No longer attempt to parse group separators for numeric inputs This avoids some ambiguity when parsing numbers for languages such as German #jira UE-54170 Change 3844221 by Nick.Shin HTML5 - filter out "windows/super" keys - these are not used in UE4 - but, keycode are not the expected "91 or 92" values, SDL keys are "227 & 231" instead... #jira UE-54056 HTML5 crashes inside browser upon pressing windows key Change 3843937 by JeanMichel.Dignard Fixed a crash when right clicking on a static mesh for which its AssetImportData class is currently unavailable (ie: in an unloaded plugin). #jira UEENT-764 Change 3843929 by Peter.Sauerbrei pull over fix for bad directory when copying launch images #jira UE-53177 Change 3843658 by Thomas.Sarkanen Text is red again in anim viewports #jira UE-53224 - Colouring removed from "Animation is being edited" warning messages Change 3843657 by Thomas.Sarkanen Enable picking via Enter for details panel asset pickers The previous (4.18) behavior was to only allow selection of the previous/next item in the list with arrow keys. A fix (CL 3783114) for pickers with many assets broke this. This change now allows for selection of any item by navigating with arrow keys and pressing Enter, as suggested in the Jira. #jira UE-53440 - Unable to select assets within modal Asset Selection dropdowns after navigating with keyboard entry Change 3843120 by Dan.Oconnor Avoid fixing component template games outside the editor, this logic does not work for games that have been nativized #jira UE-54009 Change 3842841 by Ben.Zeigler #jira UE-50020 Switch visual studio module back to using absolute paths so go to definition works, broken in CL #3796157 Change 3842582 by Lauren.Ridge Guards against the widget passed to scrollwidgetintoview being null #jira UE-54037 Change 3842575 by Max.Chen Sequence Recorder: Stop recording if the preview window is destroyed. #jira UE-49778 Change 3842551 by Michael.Dupuis #jira UE-35097: Minor bug fix, documentation, etc. to the landscape optim that was done in the phase 2 that have 0 risk. Change 3842371 by Max.Preussner Media: Merged 4.19 fixes from Dev-Sequencer CL 3807293 WmfMedia: Fixed YUY2 video format strides CL 3827988 MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together CL 3805414 MediaAssets: Setting valid GUID when initializing media texture resource CL 3804183 MediaAssets: Added missing lock in media sound component CL 3831580 MfMedia: Media open events generated in same order as on other platforms CL 3807193 WmfMedia: Fixed incorrect buffer stride for RGB32 video tracks #jira UE-53532 #jira UE-53328 Change 3842356 by Max.Preussner ImgMedia: Fixed ensure when cooking project that uses ImgMediaSource #jira UE-51631 Change 3842335 by Aaron.McLeran #jira UE-54087 PR #4419: Fixes a crash due to nullptr dereference (Contributed by mgorzel) Change 3842286 by Rolando.Caloca UE4.19 - Fix for static analysis - Glslang 1.0.65.1 #jira UE-54128 Change 3842222 by andrew.porter QAGame: Updating framerate of EXR_Sequence #jira UE-29618 Change 3842211 by Ben.Marsh Fix determination of Windows version string. The manifest for UE4 applications declares compatibility with Windows 10 nowadays, so we get accurate version numbers returned from GetOSVersionInfo(). #jira UE-54035 Change 3842163 by Cosmin.Sulea UE-53303 - We do not check for remote connection before attempting remote shader compile, causing crashes when misconfigured #jira UE-53303 Change 3841770 by Max.Chen Sequencer: Fix to allow keying of an arbitrarily deep property path. #jira UE-54095 Change 3841758 by Max.Chen Sequencer: Fix unbound possessable components when pasting spawnables. #jira UE-54104 Change 3841415 by Lauren.Ridge Renaming a material layer or material layer blend will no longer cause the asset to appear removed from the stack #jira UE-53942 Change 3841327 by Arciel.Rekman Linux: fix Debug build (UE-53855) - A workaround. UBT should be using proper PCH files instead. #jira UE-53855 Change 3840975 by Rolando.Caloca UE4.19 - Updated VulkanRHI - Fixes for GPU frame time - Fixes for CPU performance #jira UE-50449 Change 3840838 by Michael.Dupuis #jira UE-53944: Make sure the LOD generated is in the valid range to prevent the crash Change 3840693 by Ben.Zeigler #jira UE-53923 Fix regression in 4.19 where PrintScriptCallstack is not always safe to call from the immediate window. I narrowed down the issue to some confusing optimized code so I turned off optimization Copy of CL #3840692 Change 3840680 by Aaron.McLeran Bringing fixes from Dev-AnimPhys to 4.19. #jira UE-53903 crash on load with oculus audio and old audio engine #jira UE-52786, UE-53910 Fix for broken spatialization on xaudio2, old audio engine. Change 3840663 by Rolando.Caloca UE4.19 - Fix for layout ensure on HMD projects on Vulkan #jira UE-50265 Change 3840577 by Rolando.Caloca UE4.19 - Fix for CPUs with more than 16 cores #jira UE-53434 Change 3840551 by andrew.porter QAGame: Setting Allow Bindings from Asset to false #jira UE-29618 Change 3840491 by Ben.Zeigler #jira UE-31662 Fix regression with renaming parent inherited function. It was not correctly searching the parent's skeleton class during the child's recompile so it was erroneously detecting the parent function as missing Copy of CL #3840489 Change 3840297 by Max.Chen Sequencer: Fix copy/paste crash for lights #jira UE-54084 Change 3840284 by Michael.Dupuis #jira UE-53053: Was having a mismatch between the remove reorder and the actual remove Change 3840215 by Sorin.Gradinaru Unshelved from pending changelist '3812852': UE-53550 Level doesn't render on Lenovo 939 UE-53592 Assertion right after rendering scene on Lenovo S939 #jira UE-53550 #jira UE-53592 #4.19 #Android UE-53550 Removed force disabling texture2DLodEXT and textureCubeLodEXT on Mali-400 devices The problem was that the shader compiler complains about code lines before the #extension directives. Placeholder // end extensions in the original shader code - to be replaced with round() functions UE-53592 Always use a new task for devices that have GIsThreadedRendering=false, even when the call is from the rendering thread Change 3840048 by Michael.Dupuis #jira UE-52975: Was always performing the equivalent of an Add, so now we use the Transform during the duplicate Change 3840005 by Richard.Wallis Clone of CL 3835252 Fix for shader library not working with iterative cooking, also fixes native Metal library not working with iterative cook. This works by saving a "backup" of the shader library file - this is reloaded only during iterative cook and adds back in shaders that are missing from the current cook. Fix for extracting/searching .metal files in different directories so debug tgz archiving wasn't working correctly and also support iterative cook. Includes first pass code review suggestions by Mark Sat and Dmitriy Dyomin. #jira UE-53815 Change 3839968 by Michael.Dupuis #jira UE-52289: When OnRegister is called on the component make sure our PerInstanceRenderData is up to date Prevent a possible crash if ClearInstanceSelection was called on a component with no PerInstanceRenderData existing ##codereview jack.porter Change 3839924 by Richard.Wallis Clone of CL 3838093 Fix for rewind / seek bugs in AvfMediaPlayer. - Don't initialise and send audio buffers that have a duration of Zero from the audio tap. This chokes the audio sink and adds overhead we don't need. - Don't faff around with current play rates during loop operation - normal seek doesn't do this so loop seek shouldn't either. - SetRate() should not required to be passed to media tracks - should be enough to do this on audio track select only. #jira UE-54019, UE-53027 Change 3839321 by andrew.porter QAGame: Adding missing bookmark to QA-Sequencer_Blending #jira UE-29618 Change 3839286 by Marcus.Wassmer Duplicate CL: 3823296 #jira UE-52784 Change 3839229 by Brandon.Schaefer Fix audio clean up crash when exiting PIE #jira UE-54050 #review-3839109 @Arciel.Rekman, @Aaron.McLeran Change 3839223 by andrew.porter QAGame: Rebinding pointlight actor to sequences #jira UE-29618 Change 3839098 by andrew.porter QAGame: Fixing missing sequencer blending test content #jira UE-29618 Change 3838919 by Mike.Erwin glTF: binary format's BIN chunk is not necessarily right after the JSON chunk. Discussed this with glTF spec authors. See https://github.com/KhronosGroup/glTF/issues/1177 Rearranged how we read "chunks" from the file since they are not fixed in number or order, besides JSON always being first. #jira UE-50695 Change 3838909 by Mike.Erwin glTF: base64 decoding of data buffers and images Data can be encoded inside the glTF JSON as a Base64 data URI. This CL addresses a known limitation of initial commit CL 3793018. I added this after because base64 is expected to be uncommon in the wild. Authoring software will typically use external BIN files (.gltf) or a BIN chunk (.glb) to store data. #jira UE-50695 Change 3838812 by Uriel.Doyon Integrated CL 3838576, 3838581 and 3831760 from DevRendering, fixing issues with texture streaming. #jira none Change 3838773 by Lauren.Ridge Fixing material layer filters #jira UE-54064 Change 3838748 by Michael.Trepka Fixed EngineTest runtime warning caused by CL 3838626 #jira UE-53893 Change 3838730 by Max.Chen Sequencer: Add notification when the blend type is changed. #jira UE-54046 Change 3838626 by Michael.Trepka Changed FMacMenu to store MultiBox and MenuEntryBox as weak pointers instead of shared pointers. This way we avoid a situation where FMacMenu would try to release them on the main Cocoa thread or where we'd try to execute a menu action for menu items that Slate considers released. #jira UE-53893 Change 3838392 by Arciel.Rekman Fix assert on a policy removal (UE-54042). - Applying Gil's safe fix which just sweeps the problem under the rug. #jira UE-54042 Change 3838162 by Arciel.Rekman Linux: fix crash due to lambda lifetime issues (UE-54040). - The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+). #jira UE-54040 (Edigrating 3819174 to Release-4.19) Change 3838156 by Rolando.Caloca UE4.19 - Support for Vulkan devices that have no cached memory type #jira UE-54039 Change 3838096 by Brandon.Schaefer Set sound to unfocused volume multiplier if not focused #jira UE-51327 #review-3835736 arciel.rekman Change 3838087 by Brandon.Schaefer Fix arm server building. A fix from CL 3617084 remove inheriting from IHeadMountedDisplayVulkanExtensions. Remove overrides #jira UE-53901 #review-3838088 arciel.rekman Change 3837072 by Phillip.Kavan Fix for a build failure that could occur with Blueprint nativization enabled and EDL disabled. This was a regression introduced in 4.18. - Mirrored from //UE4/Dev-Framework (3836768). #jira UE-53908 Change 3837071 by Phillip.Kavan Emit proper syntax for set/map fields containing converted assets to generated C++ Blueprint class headers when Blueprint nativization is enabled. - Mirrored from //UE4/Dev-Framework (3835944, 3835965). #jira UE-42614 Change 3837070 by Phillip.Kavan #4202 - Blueprint nativization bug fixes (PR). - Mirrored from //UE4/Dev-Framework (3830562, 3832292). #jira UE-52188 Change 3836507 by Ryan.Vance #jira UE-53992 Due to hijacking the depth target directly from the scene context, we can't support depth compositing if it's being scaled by screen percentage since it wont match our color render target dimensions. Change 3836390 by Dan.Oconnor Fix failure to resolve archetype when using the compilation manager #jira UE-53840 Change 3836251 by Ryan.Vance #jira UE-53992 Change 3835852 by Mark.Satterthwaite Fix tessellation shaders in Metal with Manual Vertex Fetch enabled: - The control points idnex buffer shouldn't collide with anything else. - We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures. #jira UE-53851 Change 3835802 by JeanMichel.Dignard UBT changes for Enterprise deployment - Allow building enterprise against an installed engine version - Added enterprise to the cleanup process if its not installed #jira UEENT-748 Change 3835625 by Bogdan.Vasilache UE-50257 --> (Skeletal meshes silently fail to render if they have more than 75 bones) --> changed logged error with a warning #jira UE-50257 Change 3833649 by Mike.Beach Enabling debug layer when multiview is enabled. #jira UE-49954 Change 3833525 by Ethan.Geller Fix copyright in ActiveSound.cpp #jira none #rb none Change 3642649 by Stewart.Lynch Renamed loctext key to stop it clashing with an existing entry #jira UE-49432 Change 3644762 by Stewart.Lynch LLM update: Added Total, Untracked and FMalloc Unused to LLMFULL stat page. Fixed occasionally missing allocs/frees. Removed platform csv. * removed CheckSize arg from OnLowLevelFree * show a warning in LLM Map when replacing existing value. This means that there has been an alloc/free mismatch. * minor optimization in LLMMap::GetMaxIndex - cache Mask value * added Total and Untracked stats to LLMFULL. LLMFULL now tracks almost all of the memory that LLMPlatform does, so there is no real need to use LLMPlatform. Removed the LLMPlatform csv. * added FMalloc Unused stat to LLMFULL to account for memory Binned2 has allocated internally. This can be used to track Binned2 fragmentation over time. * renamed Binned stats to FMemory to make it more general * added Default tracking to CustomVirtualAlloc and disable it where necessary. This catches the few VirtualAlloc calls that were missed. * added AllocType arg to all allocation tracking. This was needed in order to track the FMalloc total, and also to fix the pausing * fixed a bug in pausing where alloc/frees were being missed. Now only pauses a specific allocation type. * Trackers now maintain totals for each enum tag * tracking of Texture and mesh allocation on Windows D3D11 & D3D12 Change 3651334 by Joe.Barnes Fix misspelled function name. #jira 39441 #3016 Change 3653857 by Ben.Woodhouse Integrate from //UE4/Main/...@3653675 to //UE4/Dev-Console/... Change 3656553 by Joe.Barnes Add path for SCS_DeviceDepth. Change 3662703 by Ben.Woodhouse Merging CL 3659069 from //Fortnite/Main/... to to //ue4/dev-console/...: [FORTNITE] [CONSOLE] [+] Improved frame syncing mechanism - Improves input latency by allowing the game thread to sync to the swap chain flip of the previous frame. - Added "r.GTSyncType" CVar to control how the game thread syncs with the rest of the pipe. - r.GTSyncType 2 will sync the game thread with the flip of the swap chain, preventing the pipe from getting too long and causing excess input latency. Platforms are required to implement RHIWaitForFlip and RHISignalFlipEvent, and call RHIInitializeFlipTracking on RHI startup. A separate thread monitors the progress of frame flips and signals task graph events as they pass their corresponding frame index. In r.GTSyncType 2 mode, the game thread is signaled by this flip tracking thread. [~] Unified platform specific sync interval CVars into one: rhi.SyncInterval - 1 == 60Hz - 2 == 30Hz - 3 == 20Hz Change 3675239 by Keith.Judge Fixed thread priorities for Windows so that BelowNormal and SlightlyBelowNormal are the same. Bumped Lowest down a notch so they all fit. #jira UE-50626 Change 3676709 by Ben.Woodhouse Integrate from //UE4/Main/...@3675008 to //UE4/Dev-Console/... Change 3689712 by Ben.Woodhouse Integrate from //UE4/Main/...@3687781 to //UE4/Dev-Console/... Change 3701778 by Ben.Woodhouse Integrate from //UE4/Main/...@3699491 to //UE4/Dev-Console/... Change 3677043 by Ben.Woodhouse From StewartL: I also found that on Windows Fortnite is overflowing int32 values due to the number of allocations. I changed LLMArray and LLMMap to use uint32 and it seems to be Ok now. I didn't want to check this in at the last minute, so here's the shelf: 3645336 Change 3726532 by Luke.Thatcher [CONSOLE] [~] Enable XGE shader compilation by default. - Also set XGE mode to "force interception". With XGE on by default, we don't want people with an old Incredibuild version using the old system inadvertently. Change 3726554 by Luke.Thatcher [CONSOLE] [+] Improved Scoped Named Events - Added SCOPED_NAMED_EVENT(_FSTRING/_TEXT/_F) macros to allow use of string literals, FString and printf in scoped named event strings. - Replaced explicit use of FPlatformMisc::Begin/EndNamedEvent throughout the engine with macros, so the events can be compiled out. - Fixed performance issues on various platforms with named events. SCOPED_NAMED_EVENT macros were not considering whether the platform uses wide or ansi char strings. Change 3751378 by Ben.Woodhouse Integrate from //UE4/Main/...@3748735 to //UE4/Dev-Console/... Change 3751812 by Ben.Woodhouse Integrate from //UE4/Main/...@3750870 to //UE4/Dev-Console/... Change 3728571 by Luke.Thatcher [CONSOLE] [!] Drop another XGE controller warning to log. Change 3747150 by Joe.Barnes Add AuthoringToolHelper.bat file to installed build copy list. Change 3768585 by Ben.Woodhouse Integrate from //UE4/Main/...@3767531 to //UE4/Dev-Console/... Change 3772333 by Ben.Woodhouse Integrate from //UE4/Main/...@3771573 to //UE4/Dev-Console/... Change 3786872 by Ben.Woodhouse Integrate from //UE4/Main/...@3786785 to //UE4/Dev-Console/... Change 3787279 by Luke.Thatcher [CONSOLE] [~] Unified present threshold CVars. - CVars are now in RHIUtilities.cpp, and are renamed to rhi.PresentThreshold.Top and rhi.PresentThreshold.Bottom. - Platform implementations will be checked in shortly. Change 3787445 by Luke.Thatcher [CONSOLE] [^] Merging (as edit) improvements to low-latency frame syncing from //Fortnite/Main to //UE4/Dev-Console Original CLs - 3708949 - Added rhi.SyncSlackMS cvar to allow an offset of the game thread sync time by a number of milliseconds. - 3712693 - Fix for crash on startup in new frame syncing. - 3735765 - Fix r.GTSyncType logic when vsync is disabled (falls back to old behaviour when vsync is off). Change 3788417 by Ben.Woodhouse Duplicate from FN CL 3712515 CSV profiler GPU and pre-declared stat support - refactor the GPU profiler so it's no longer dependent on the stats system and can work in Test builds - add support for pre-declared CSV stats, using FNames (these are required for GPU stats) - add DECLARE_GPU_STAT macro which handles STATS and CsvProfiler declarations Note: still a few issues to resolve with GPU stats: these randomly go to 0 at times during a replay on XB1, the GPU total is lower than the stat unit number, and the unaccounted stat is too large due to missing stats Change 3807818 by Ben.Woodhouse Integrate from //UE4/Main/...@3803271 to //UE4/Dev-Console/... Change 3818577 by Ben.Woodhouse Integrate from //UE4/Main/...@3812936 to //UE4/Dev-Console/... Change 3821198 by Ben.Woodhouse Integrate from //UE4/Release-4.19/...@3820127 to //UE4/Dev-Console/... Change 3821519 by Ben.Woodhouse Integrate from //UE4/Release-4.19/...@3820753 to //UE4/Dev-Console/... #robomerge none Change 3813513 by Ben.Woodhouse CSV profiler refactor+ bug fix - Move the CSV profiler to core, so we can use it in modules other than engine - Profiler no longer enqueues RT commands - this is handled by a new core delegate type - Make begin/end requests more robust, enqueued via a command queue and processed in order - Defer end capture requests by a frame. This ensures stats on threads other than the gamethread (e.g. renderthread etc) are complete, so the last frame is not truncated - Fix long-standing bug with multiple captures where old/stale frames would appear in the first <128 frames of captures - Move unit stats and dynamic resolution out of the profiler itself and into the engine. Only frametime is recorded in the profiler now - Fix longstanding bug in first frame renderthread time in the engine Change 3814039 by Ben.Woodhouse More Csvprofiler improvements - Event support (via CSV_EVENT macros). These appear in the "EVENTS" column of the CSV and can be used to add context to the stat data - Reduced memory overhead for timestamps through bit-packing (now 16 bytes per marker instead of 24), and splitting stats into different types Change 3814041 by Ben.Woodhouse Integrate as edit CL 3796390 from Fortnite/Main: Fix CsvProfiler not compiling in shipping for now Change 3814229 by Ben.Woodhouse Integrate + refactor of CL 3792591 to reduce complexity and fix bugs Original changelist description: CSV profiler improvements: - The CSV profiler is now always compiled in on the server - The CSV profiler can now handle both int32 and float stats - In BeginCapture, the function can take additional arguments for some customization of filenames Fixes to the above: - Remove FCustomValue class - Fixes bug where all timestamp values from CSV_SCOPED_STATs were garbage (due to issues resulting from FCustomValue type ambiguity when adding values together) - FCsvCustomStat now just uses simple union + bitfield flag to reduce size and complexity (4 bytes instead of 8 per value) - FCsvColumn class modified to use doubles, which can represent both ints and floats without loss of precision - this class is not memory or time critical - Replace multiple overrides used by the server for filenameprefix/folder/postfix etc with a single FilenameOverride Change 3814242 by Ben.Woodhouse Disable CSV unit stats on the dedicated server Change 3817339 by Ben.Woodhouse Duplicate from 3816641: CSV profiler improvements - Added a low-pri processing thread to compress raw timing data into a much more efficient format - Reduces memory usage for 15 minute 30k frame capture with GPU stats enabled from 110MB to 3.4MB - Processing time : 0.1ms per frame - Improved name handling for char literal stats. We now use the string as the ID rather than the pointer so multiple stat uses of the same name string apply only to a single stat - Reworked thread data access to eliminate locking for anything time-critical. Frame boundaries now handled via a lock-free helper class - Fixed bug with queue implementation where 1 in 128 reads would duplicate the last block of stat data - Reduced #include dependencies for CSVProfiler.h - Removed AccumulateMax because it doesn't work, and implementing properly would add a lot of complexity - Added a simple test harness Change 3817582 by Ben.Woodhouse Fix android compile warning Change 3823242 by Ben.Woodhouse Integrate as edit from Fortnite/Main 3820067: Fix threading issue with D3D12 pipeline state caches for windows. This was caused by the usage of FRwScopeLock::RaiseLockToWrite. A pointer read before RaiseLockToWrite was called was invalidated because RaiseLockToWrite has to release the read lock before acquiring the write lock. Rename FRwScopeLock::RaiseLockToWrite to ReleaseReadOnlyLockAndAcquireWriteLock_USE_WITH_CAUTION to make it more explicit what's happening. As the comment says: // This function should be used with caution. // It releases the read lock _before_ acquiring a new write lock. This is not an atomic operation and the caller should // not treat it as such. // E.g. Pointers read from protected data structures prior to this call may be invalid after the function is called. Change 3823840 by Ben.Woodhouse Edigrate from 3823816 Fix an issue where the csvprofile console commands would sometimes result in an empty CSV. The root cause was GFrameNumber incrementing between the console command being read and FCSVProfiler::EndFrame(). We now use our own frame counter which is updated in EndFrame, so this can't happen Also fix an issue where calling csvprofile stop twice would cause all further commands to be ignored. Change 3827787 by Ben.Woodhouse Integrate-as-edit CL 3820678 from Fortnite/Main Allow the CSV Profiler to be compiled in to shipping dedicated server builds Change 3827842 by Ben.Woodhouse Integrate-as-edit CL 3827079 from Fortnite/Main CSV profiler category support Change 3827918 by Luke.Thatcher [CONSOLE] [!] Fix compile error in CSV custom stats. Change 3827964 by Luke.Thatcher [CONSOLE] [!] Fix inverted logic and spelling of boolean. - Functionally, the boolean did the correct thing, but the logic was backwards inside the build tool. Change 3831661 by Ben.Woodhouse Integrate-as-edit CL 3830630 from Fortnite/Main Fix CSVProfiler assert in dev builds on XB1 Change 3860300 by Joe.Barnes Use same method for src and dest rect calculation as other post processing passes so rects match between passes. Prevents read of unprocessed pixels. Change 3860347 by Joe.Barnes Delete existing SourceConfigFile before allocating a new one to prevent them leaking. Change 3860348 by Joe.Barnes Completely encapsulate GetLLMAlloc() in #ifdef. Change 3861772 by Ben.Woodhouse Integrate-as-edit CL 3861688 from Fortnite/Main: Forward lighting GPU crash fixes Change 3861774 by Ben.Woodhouse Integrate as edit CL 3833918 from dev-rendering (courtesy of DanielW): D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled. Change 3862214 by Ben.Woodhouse Integrate-as-edit CL 3859637 from Fortnite/Main Dynamic resolution console tweaks - Dynamic resolution high level switch driven by a cvar instead of code - Disable user settings dynamic resolution handling on non-desktop platforms. DynamicRes as a user setting does not make sense on consoles/mobile - we'll drive it from device profiles/scalability - Modify naming of GPUHeadRoom to make it clear that it's a percentage, not millseconds Change 3863919 by Ben.Woodhouse [Copy] Integrate console dynamic resolution interface changes from CL 3863354, 3862754, 3862639 Change 3864347 by Ben.Woodhouse Fix the editor build. This will need a proper fix before 4.19 ships. #lockdown Nick.Penwarden #rb none [CL 3913399 by Ben Marsh in Main branch]
2018-02-27 17:30:35 -05:00
}
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
}
else if (DisplayComponent)
{
DisplayComponent->SetHiddenInGame(true, /*bPropagateToChildren =*/false);
}
}
}
namespace UEMotionController {
// A scoped lock that must be explicitly locked and will unlock upon destruction if locked.
// Convenient if you only sometimes want to lock and the scopes are complicated.
class FScopeLockOptional
{
public:
FScopeLockOptional()
{
}
void Lock(FCriticalSection* InSynchObject)
{
SynchObject = InSynchObject;
SynchObject->Lock();
}
/** Destructor that performs a release on the synchronization object. */
~FScopeLockOptional()
{
Unlock();
}
void Unlock()
{
if (SynchObject)
{
SynchObject->Unlock();
SynchObject = nullptr;
}
}
private:
/** Copy constructor( hidden on purpose). */
FScopeLockOptional(const FScopeLockOptional& InScopeLock);
/** Assignment operator (hidden on purpose). */
FScopeLockOptional& operator=(FScopeLockOptional& InScopeLock)
{
return *this;
}
private:
// Holds the synchronization object to aggregate and scope manage.
FCriticalSection* SynchObject = nullptr;
};
}
//=============================================================================
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
bool UMotionControllerComponent::PollControllerState(FVector& Position, FRotator& Orientation, float WorldToMetersScale)
{
if (IsInGameThread())
{
// Cache state from the game thread for use on the render thread
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3056808) #lockdown Nick.Penwarden #rb The Forces of Good and Evil, twixt the realms from which bugs doth come ========================== MAJOR FEATURES + CHANGES ========================== Change 3026722 on 2016/06/24 by Chad.Taylor IStereoLayers SteamVR initial implementation Change 3027397 on 2016/06/24 by Chad.Taylor SteamVR stereo layer texture updating rework. It now upadtes textures from the render thread and supports "continous update" Change 3033004 on 2016/06/29 by Nick.Whiting Integrating GoogleVR plugin from Google branch Change 3033248 on 2016/06/29 by Sam.Zamani Copying //Tasks/UE4/Dev-VR-Online to Dev-VR (//UE4/Dev-VR) Merged up to cl #3029677 from //depot/Partners/Oculus/UE4-Research/4.12-dev/Engine/Source/Runtime/Online/... Added PacketHandler module dependency to new OnlineSubsystemOculus module Replaced std::move usage with UE equivalent MoveTemp Trigger OnLoginStatusChanged delegate during login/logout processing of FOnlineIdentityOculus Implemented Oculus unique net id creation from string and byte* Added OnlineSubsystemOculus module as a dependency for QAGame testing Make sure to always call completion delegates in FOnlineFriendsOculus Trigger success OnMatchmakingComplete delegate in FOnlineSessionOculus::StartMatchmaking Fixed shadowed variable PlayerId in FOnlineSessionOculus::OnRoomInviteAccepted Split out 32/64bit dll dependencies of LibOVRPlatform Replaced "unsigned long long" with UE equivalent "uint64" Replaced "unsigned int" with UE equivalent "uint32" Change 3033490 on 2016/06/29 by Jeff.Fisher UE-32601 Changed from Flush to FlushImmediate when switching from rendering one eye buffer to the other on GoogleVR because we are trying to clear the immediate RHI command list. Change 3034920 on 2016/06/30 by Chad.Taylor PSVR ApplyMorpheusReprojection support for separate texture per stereo eye. Change 3038640 on 2016/07/05 by Chad.Taylor Fixing Morpheus "HasValidTrackingPosition" to actually return true when tracking is valid. Change 3038940 on 2016/07/06 by Nick.Whiting Haptics Refactor: Adding support for multiple types of haptics effect, defined by their data format (curves, buffer, sound waves) Change 3040512 on 2016/07/06 by Chad.Taylor Fix for CopyOverOtherViewportsIfNeeded that was selecting an incorrect FSceneView. This was picking the wrong hmd mesh for render and causing strange flickering. Change 3041314 on 2016/07/07 by Nick.Whiting Extending core hand types for motion tracking controllers to have external camera tracking available, as well as Special_1 - 9 for systems like STEM that have multiple special packs. Change 3041353 on 2016/07/07 by Nick.Whiting Modifying SteamVR HMD detection check to use a lighter weight function that doesn't launch the compositor Change 3043516 on 2016/07/08 by Chad.Taylor PSVR A3D Sound fix Change 3043808 on 2016/07/08 by Nick.Whiting Fixing issue with SteamVR plugin starting while trying to detect connected HMDs, fix for editor quitting when VR Compositor quits Change 3043840 on 2016/07/09 by Nick.Whiting OSVR Updated plugin, from Sensics Change 3043958 on 2016/07/09 by Nick.Whiting Oculus 1.5 Support Integration Change 3045493 on 2016/07/11 by Ryan.Vance Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) PS4 multi-view copy up Change 3046896 on 2016/07/12 by Ryan.Vance #jira UE-30842 We need to also late update ShadowViewMatrices, otherwise we compute an incorrect volume for translucent lighting which manifests as flickering. Note: I'm not bothering to check the r.Shadow.FreezeCamera cvar here, as debugging shadowing *in vr* is probably not a case we need to support. Change 3047272 on 2016/07/12 by Ryan.Vance #jira UE-30278 We need to forward the eye index interpolator along. Also removed a superfluous call to resolve view. Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3048151 on 2016/07/13 by Nick.Whiting Integrating small controller initialization fix from AndroidVR-DevVR branch Change 3048363 on 2016/07/13 by Ryan.Vance Fix for crash with HMDs when the adapter description isn't found. Crashing case was having monitors plugged into one adapter, and an HMD plugged into another, which caused a gap in AdapterDescription array, which later crashed in FindAdapter. Change 3048783 on 2016/07/13 by Chad.Taylor Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution #jira UE-30173 Change 3049101 on 2016/07/13 by Chad.Taylor Part 2 of: Fixing up SteamVR's -vr to mimic the same behavior as Oculus and use the appropriate resolution. Had to defer setting of the viewport size to occur after we have a valid Window. #jira UE-30173 Change 3050707 on 2016/07/14 by Nick.Whiting Fix for motion controllers on remote clients responding to local motion controllers Change 3051043 on 2016/07/14 by Nick.Whiting Stub funcitonality to allow for rebasing based on other external trackers Change 3051882 on 2016/07/15 by Nick.Whiting Moving OnlineSubsystemOculus to a plugin, instead of a module Change 3053772 on 2016/07/18 by Chad.Taylor Code cleanup: Removing defunct IStereoRendering methods Change 3054515 on 2016/07/18 by Chad.Taylor Changing HMD resolution resizing to no longer occur in "Windowed" mode because its causing an issue in VR Preview #jira UE-33341 Change 3056435 on 2016/07/19 by Jeff.Fisher UES-2981 UEVR-13 Implemented VRHeadsetLost and VRHeadsetReconnected Delegates for Morpheus (Playstation VR). https://udn.unrealengine.com/questions/301886/trying-to-use-vrheadsetlost-and-vrheadsetreconnect.html #review-3056100 @nick.whiting Change 3056491 on 2016/07/19 by Chad.Taylor Audio thread assertion from HandlePause being called on the game thread. Submitting on behalf of Aaron McLeran #jira UE-33360 [CL 3057155 by Nick Whiting in Main branch]
2016-07-20 01:48:44 -04:00
const AActor* MyOwner = GetOwner();
bHasAuthority = MyOwner->HasLocalNetOwner();
}
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
if(bHasAuthority)
{
UEMotionController::FScopeLockOptional LockOptional;
TArray<IMotionController*> MotionControllers;
if (IsInGameThread())
{
MotionControllers = IModularFeatures::Get().GetModularFeatureImplementations<IMotionController>(IMotionController::GetModularFeatureName());
{
FScopeLock Lock(&PolledMotionControllerMutex);
PolledMotionController_GameThread = nullptr;
}
}
else if (IsInRenderingThread())
{
LockOptional.Lock(&PolledMotionControllerMutex);
if (PolledMotionController_RenderThread != nullptr)
{
MotionControllers.Add(PolledMotionController_RenderThread);
}
}
else
{
// If we are in some other thread we can't use the game thread code, because the ModularFeature access isn't threadsafe.
// The render thread code might work, or not.
// Let's do the fully safe locking version, and assert because this case is not expected.
checkNoEntry();
IModularFeatures::FScopedLockModularFeatureList FeatureListLock;
MotionControllers = IModularFeatures::Get().GetModularFeatureImplementations<IMotionController>(IMotionController::GetModularFeatureName());
}
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
for (auto MotionController : MotionControllers)
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3512802) #lockdown Nick.Penwarden #rb no.one ===================================== MAJOR FEATURES + CHANGES ===================================== Change 3060975 by Ryan.Vance Integrating 3058175 from Oculus Change 3466079 by Nick.Atamas Added rudimentary collision support to MrMesh. Change 3468111 by Mike.Beach Give the SceneRender component's scene view a specific ViewActor (the component's owner). This lets us set bOnlyOwnerSee on components belonging to the same actor, and have it only showup in the render scene view. Change 3468267 by Nick.Atamas Now using non-interleaved data in MRMeshComponent Change 3468475 by Mike.Beach Initial checkin for new mixed reality plugin (WIP). New MixedReality capture component, intended to mimic a real world camera. Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) #jira UEVR-795, UEVR-789 Change 3468483 by Mike.Beach Marking the new MixedReality plugin as experimental (as it is incomplete and a WIP) Change 3468511 by Mike.Beach CIS fixes for fallout from CL 3468475. Change 3469754 by Mike.Beach CIS compiler error fixes (fallout from CL 3468475). Change 3470407 by Mike.Beach *sigh* more CIS fixes (fallout from 3468475) Change 3471494 by Douglas.Copeland Test content for GearVR Stereo Layers Change 3476135 by Jeff.Fisher UE-45661 Duplicate .so files in GoogleVR. -We want the version of each file from the android_x86 style folder, but in the android\x86 folder, and the APL.xml file needed to reference the new path rather than the old path. -This fix was also made in Release-4.16 for 4.16.2 in cl 3476133. #jira UE-45661 #review-3474770 Change 3480446 by Dustin.Holmes Added support for Vive Tracker. #jira UEVR-792 Change 3480552 by Dustin.Holmes Added map and gamemode for calibration #jira UEVR-808 Change 3483325 by Nick.Atamas Merging //UE4/Partner-Google-VR to Dev-VR (//UE4/Dev-VR) Known issue with Mac build packaging. Change 3485969 by Nick.Atamas Fixed double-spacing and formatting issues. Converted TangoEcefUtils.cpp to follow Epic coding standards. Change 3486071 by Nick.Atamas Rename/move file(s) from Plugins/Runtime/Tango/... to Plugins/Runtime/GoogleTango/... Change 3486078 by Nick.Atamas Fixed non-portable (wrong case) include path. Change 3486906 by Jeff.Fisher Fixing build warning about a variable being shadowed. Change 3487245 by Jeff.Fisher Fixing build break in some template source files from HeadMountedDisplayFunctionLibrary move. Change 3487827 by Nick.Atamas Fixing the missing platforms header; should resolve CIS warning. Change 3488808 by Keli.Hlodversson Fix vr.Debug.VisualizeTrackingSensors when ViewTarget->HasActiveCameraComponent() is true. Also switched to use GWorld instead of passing in the current World argument to the handler as the world pointer can change for instance if turning the setting on and loading another level in the editor. #jira UE-45949 Change 3490841 by Nick.Atamas Fixing more CIS and coding standard issues related to Tango. Change 3491038 by Nick.Atamas Modified GoogleInstantPreview.Build.cs to use RuntimeDependencies instead of explicit dylib/dll copying. Change 3492481 by Jeff.Fisher Fixing HeadMountedDisplayTypes.h shadowed member warning. Change 3495157 by Mike.Beach New XR modular feature - XRDeviceAssets. Intended to give us access to device models so we can render arbitrary devices. Implements this for SteamVR. #jira UEVR-829 Change 3495205 by Mike.Beach CIS fix (fallout from 3495157) - missing leading 'template<>' for template specializations. Change 3495213 by Mike.Beach Fixing the vr.SpectatorScreenMode CVar so that it's sink function doesn't override other CVar commands that set the mode themselves. #jira UEVR-790 Change 3495403 by Nick.Atamas - Disabled Google Tango support for Win32. - Disabled GoogleInstantPreview files being erroneously included while building game; it is only used by Editor. - Renamed Tango.uplugin -> GoogleTango.uplugin - Fixed self-assignment in TangoImageComponent.cpp Change 3496225 by Mike.Beach Fixing CIS compiler error for non-editor builds (fallout from CL 3495157). Change 3496981 by Nick.Atamas GoogleInstantPreview libraries are now checked into Binaries/ThirdParty/... so that no copying from .Build.cs is necessary. Change 3497033 by Nick.Atamas Going back from GoogleTango/ to Tango/. It's a bigger change that previously thought. Change 3498487 by Nick.Whiting Adding option to PIE settings to NOT minimize editor when doing VR PIE Change 3499242 by Dustin.Holmes Fixed static analysis warning by updating the number of devices that can have their button states tracked. Change 3499341 by Nick.Atamas Hopefully fixes Mac Editor CIS. Change 3499395 by Arciel.Rekman Copying //UE4/Partner-Valve@3499365 to Dev-VR (//UE4/Dev-VR) Change 3499550 by Ryan.Vance Fixing compile issue. Change 3499678 by Nick.Atamas - Dummy Mesh Reconsturctor now sometimes generates empty blocks to test more scenarios. - Removed unused code in DummyMeshReconstructorModule - Removed unused variable in GoogleInstantPreview.Build.cs Change 3499840 by Nick.Atamas std::string needed by google's online system. Change 3499889 by Nick.Atamas Fixed static code analysis CIS fails. Change 3500007 by Nick.Whiting Removing Vulkan RHI dependency on a plugin, refactoring it to use an interface to check to break the dependency Change 3500027 by Nick.Whiting Fixing missing include file in SteamAudio Change 3500030 by Nick.Whiting Changing cast from reinterp to static. Copypasta fail Change 3500078 by Nick.Whiting Speculative fix for the builder for an error that doesn't repro locally Change 3500086 by Nick.Atamas More build fixups. Change 3500096 by Nick.Atamas Copying //UE4/Partner-Google-VR-Minimal at CL3499964 to Dev-VR (//UE4/Dev-VR) Change 3500107 by Nick.Atamas Does this fix CIS? Change 3500121 by Nick.Atamas More CIS fixing, hopefully. Change 3500129 by Nick.Atamas More CIS fixing. Change 3500713 by Nick.Whiting Fix for Win32 build break Change 3500887 by Arciel.Rekman Fixed copyright notices and compilation errors in Steam Audio. (Edigrating CL 3500131) Change 3501010 by Arciel.Rekman Fix shadowing error. Change 3501230 by Nick.Atamas Make warning go away. Change 3501890 by Nick.Atamas Moving Tango->GoogleTango. Fixup pass in next CL. Change 3501900 by Jeff.Fisher UE-46265 Crash attempting to Play in VR -Need to call UpdateSpectatorScreenMode_RenderThread in PreRenderViewFamily_RenderThread so that the mode is set before other renderthread work decides what to do based on the mode. #review-3501882 #jira UE-46256 Change 3502152 by Nick.Whiting Oculus Unified Plugin. OculusHMD plugin now supports both the Rift and the GearVR in one plugin. Minor supporting engine modifications included Change 3502199 by Nick.Atamas Checking in TangoQA project with fixed-up content to point at GoogleTango plugin. Known issue: crash when building cooking collision for bricks with no triangles. Change 3502215 by Nick.Atamas Fixed UIScale curve. Change 3502253 by Nick.Whiting Trying to fix up p4's botch of the merge Change 3502930 by Mike.Beach Attempt to fix build errors (fallout from CL 3502873), using new (moved/renamed) PhysX cook util struct. Change 3503559 by Jeff.Fisher UE-46300 Editor process crashes when opening with Oculus HMD plugged in -Reimplementing spectator screen for updated oculus plugin. #jira UE-46300 #review-3503455 Change 3503685 by Jeff.Fisher TM-SpectatorScreen -made the scene capture component follow the camera orientation so i can make it look at different stuff. Change 3503695 by Nick.Whiting Fixes for build breaks Change 3503819 by Jeff.Fisher TM-SpectatorScreen -Adjusted scene capture and render target to get approximately correct color in the spectator screen. Change 3503852 by Nick.Atamas - Fixed crash when sending a brick with 0 data. - Added implementation to ClearAllBricks. Change 3503947 by Ryan.Vance Fixing overspecified method definitions. Change 3505242 by Douglas.Copeland Added gamepad inputs to SpectatorScreen Level BP for more efficient test setup Change 3505307 by Douglas.Copeland Re-saving Emmissive_Blue Material to resolve map warning Change 3505704 by Ryan.Vance We can't pass a nullptr into RenderTexture_RenderThread. Instead of checking for a mirror window here, the RenderTexture_RenderThread implementation should do the right thing. Jeff's mirrorwindow/socialscreen refactoring should handle this correctly now. Change 3505914 by Jeff.Fisher UE-46370 Ensure handled when restarting Editor after disabling Oculus plugin -remove scaling from the pose if necessary. It appears that when running oculus rift through steamvr the tracking reference comes through at .99 scale. We can't build a quat out of it unless it is normalized. #jira UE-46370 #review-3505892 Change 3506650 by Jack.Porter External Texture fixes changes from Dev-Sequencer - fix ENGINE_API meaning singletons were existing in each module - fix crash releasing an External RHITexture resource. - Recache uniform expressions when external textures are registered and unregistered Change 3506653 by Jack.Porter Remove external texture logging that was accidentally enabled. Change 3507043 by Mike.Beach Fixing CIS content errors (copied material still referencing assets from a separate plugin) - redid the material. Change 3507231 by Ryan.Vance #jira UE-46426 Fail preinit on gearvr if bPackageForGearVR is false Change 3507822 by Jeff.Fisher UE-46445 Player can't move through level by holding one grip button in Editor VR Mode -We were passing worldscalefactor, rather than worldscale into the get controller position function. WorldScaleFactor is worldscale / 100, making it a unitless multiplier of the world scale. So a *magical* 100 needs to be multipled back in here. Oculus must have found that and fixed it, looks like it was broken for 4.16. #jira UE-46445 Change 3508167 by Jeff.Fisher Fixing CheckSlow at startup on Oculus. The head pose orientation was being initialized to zero rather than identity, which isn't so useful. Change 3509622 by Jeff.Fisher Adding commented out null check to commented out implementation of ShouldDisableHiddenAndVisibileAreaMeshForSpectatorScreen_RenderThread. Change 3509983 by Jeff.Fisher Fixing vr.MirrorMode alias to vr.SpectatorScreenMode -was trying to use a cvar that no longer exists Change 3510188 by Ryan.Vance #jira UE-46454 We need to set the render target before applying cached render targets. Change 3510231 by Mike.Beach Setting up redirects for the plugin, since it was renamed from "OculusLibrary" to "OculusHMD" - ensuring that projects don't loose references in Blueprints, etc. #jira UE-46462 Change 3510253 by Ryan.Vance #jira UE-46452 We need to execute the clear before seting up shader state for the copy. Change 3511627 by Mike.Beach Correcting some CIS warnings - Updating misc. GetWorldFromContextObject() calls since the old signature was deprecated by the latest Framework integration. Change 3511984 by Mike.Beach Fixing fallout from integration with Main (CL 3511845)... common shader file renamed (to .ush instead of .usf). Change 3512797 by Mike.Beach Static analysis fix - making doubly sure that we're not indexing into out of bounds memory. Change 3512802 by Mike.Beach Only warning about the OculusHMD module being unavailable when it isn't loaded (otherwise, we were extraneously warning when users didn't have a rift). #jira UE-46575 DONE! [CL 3512933 by Mike Beach in Main branch]
2017-06-27 23:02:31 -04:00
if (MotionController == nullptr)
{
continue;
}
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
CurrentTrackingStatus = MotionController->GetControllerTrackingStatus(PlayerIndex, MotionSource);
if (MotionController->GetControllerOrientationAndPosition(PlayerIndex, MotionSource, Orientation, Position, WorldToMetersScale))
{
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
if (IsInGameThread())
{
InUseMotionController = MotionController;
OnMotionControllerUpdated();
InUseMotionController = nullptr;
{
FScopeLock Lock(&PolledMotionControllerMutex);
PolledMotionController_GameThread = MotionController; // We only want a render thread update from the motion controller we polled on the game thread.
}
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
}
return true;
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
if (MotionSource == FXRMotionControllerBase::HMDSourceId)
{
IXRTrackingSystem* TrackingSys = GEngine->XRSystem.Get();
if (TrackingSys)
{
FQuat OrientationQuat;
if (TrackingSys->GetCurrentPose(IXRTrackingSystem::HMDDeviceId, OrientationQuat, Position))
{
Orientation = OrientationQuat.Rotator();
return true;
}
}
}
}
return false;
}
void UMotionControllerComponent::OnModularFeatureUnregistered(const FName& Type, class IModularFeature* ModularFeature)
{
FScopeLock Lock(&PolledMotionControllerMutex);
if (ModularFeature == PolledMotionController_GameThread)
{
PolledMotionController_GameThread = nullptr;
}
if (ModularFeature == PolledMotionController_RenderThread)
{
PolledMotionController_RenderThread = nullptr;
}
}
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
//=============================================================================
UMotionControllerComponent::FViewExtension::FViewExtension(const FAutoRegister& AutoRegister, UMotionControllerComponent* InMotionControllerComponent)
: FSceneViewExtensionBase(AutoRegister)
, MotionControllerComponent(InMotionControllerComponent)
{}
//=============================================================================
void UMotionControllerComponent::FViewExtension::BeginRenderViewFamily(FSceneViewFamily& InViewFamily)
{
if (!MotionControllerComponent)
{
return;
}
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
// Set up the late update state for the controller component
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
LateUpdate.Setup(MotionControllerComponent->CalcNewComponentToWorld(FTransform()), MotionControllerComponent, false);
}
//=============================================================================
void UMotionControllerComponent::FViewExtension::PreRenderViewFamily_RenderThread(FRHICommandListImmediate& RHICmdList, FSceneViewFamily& InViewFamily)
{
if (!MotionControllerComponent)
{
return;
}
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
FTransform OldTransform;
FTransform NewTransform;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -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
FScopeLock ScopeLock(&CritSect);
if (!MotionControllerComponent)
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -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
return;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3012064 on 2016/06/13 by Nick.Whiting Merging Main -> DevVR Change 3048060 on 2016/07/13 by Nick.Whiting Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR Upgrade Android and iOS GVR SDK to the latest. Fix the flipped vignette issue when using Unreal's post processing distortion. Change the Daydream & Cardboard mode to use scanline racing. Deprecate the ability to turn off individual UI elements. Change 3235307 on 2016/12/14 by Keli.Hlodversson Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit Change 3235308 on 2016/12/14 by Ryan.Vance #jira UEVR-478 Monoscopic far field improvements Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile. Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled. Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined. Addressed code review comments. Change 3235397 on 2016/12/14 by Keli.Hlodversson [Oculus] Only enable GearVR platform on Windows if Oculus service is running Original author: Loren.McQuade Change 3235762 on 2016/12/14 by Keli.Hlodversson Add explicit parentheses to placate the build bots. Change 3242318 on 2016/12/21 by Ryan.Vance Working around pixel density crash. Change 3242522 on 2016/12/21 by Ryan.Vance Missing flag clear so our adaptive test was always returning true. Change 3243173 on 2016/12/22 by Ryan.Vance Integrating post present callback implementation from 4.14.1 Change 3248633 on 2017/01/05 by Keli.Hlodversson Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal) Change 3248723 on 2017/01/05 by Keli.Hlodversson Fix after merge. EnablePositionalTracking no longer exists. Change 3249484 on 2017/01/06 by Keli.Hlodversson Add missing includes Change 3249714 on 2017/01/06 by Keli.Hlodversson Remove monolithic header include Change 3249980 on 2017/01/06 by Keli.Hlodversson SteamVR: Remove leftover unused WindowMirrorMode member variable Change 3252432 on 2017/01/10 by Keli.Hlodversson Submitting change by Loren McQuade to fix monolithic builds. Unshelved from pending changelist '3251436': Change 3257373 on 2017/01/13 by Keli.Hlodversson #jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands #jira UEVR-412: Rename and merge remaining Morpheus console commands #jira UEVR-417: Remove Exec from IHeadMountedDisplay Change 3269971 on 2017/01/24 by Jeff.Fisher UEVR-498 move controller is missing world to meters UEVR-522 PS4 motion controller worldscale support. -Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level. -Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update. #jira UEVR-498 #review-3384107 Change 3288308 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity -PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed. -Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before. -Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4. -Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint. -With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit. -PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected. -DS4 controller no longer jumps back to 000 if it loses tracking. #review-3384107 #jira UEVR-517 Change 3288309 on 2017/02/06 by Keli.Hlodversson Add file missing from CL#3257373. Change 3288311 on 2017/02/06 by Jeff.Fisher UEVR-517 Detect MotionController Connectivity - Test content. -tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum. -ctrl-A disables tracking of all controllers -alt-A disables tracking of all controllers for player 0 -ctrl-D toggles enabling new controllers by default -Also fixed one button not working in one of the other test modes for the Aim (gun) controller. -The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera. -This logic is in the QA_MoCoAll blueprint. Change 3291601 on 2017/02/07 by Jeff.Fisher UEVR-536 PSVR motion controller tracking problem with multiple controllers -Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread. #jira UEVR-536 #review-3384107 @Ryan.Vance Change 3292460 on 2017/02/08 by Jeff.Fisher PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added. Change 3308771 on 2017/02/17 by Keli.Hlodversson Rename GoogleVR console commands #jira UEVR-412 Change 3309156 on 2017/02/17 by Keli.Hlodversson Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly. Change 3311999 on 2017/02/20 by Keli.Hlodversson Create a default implementation for RecordAnalytics. Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality. Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown" #jira UE-21878 #jira UEVR-213 Change 3313467 on 2017/02/20 by Ryan.Vance #jira UE-41604 3278583 pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped. 3278536 Adding ovrError_NoHmd to our sanity check in OnStartGameFrame. Change 3314002 on 2017/02/21 by Keli.Hlodversson Fix compilation on PS4 and Linux Change 3326722 on 2017/03/01 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Integrating 4.15 from main. Change 3327567 on 2017/03/01 by Jeff.Fisher UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered. Duplicating from Release-4.15 cl 3327481, 3327542 -Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused. #jira UEVR-588 #review-3384107 Change 3328098 on 2017/03/01 by Jeff.Fisher 4.15 merge fixes -Fixed deprecated enum name function usage. -Fixed world scale usage in GoogleVRController. -Fixed compile break in PS4Tracker. Change 3328271 on 2017/03/01 by Jeff.Fisher 2.15 merge -restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere. Change 3328307 on 2017/03/01 by Jeff.Fisher 4.15 merge -More googlevr worldscale fixes. Change 3328312 on 2017/03/01 by Jeff.Fisher 4.15 merge -removing 2 unused includes Change 3330610 on 2017/03/02 by Jeff.Fisher 4.15 merge -fixing linux build Change 3333952 on 2017/03/06 by Keli.Hlodversson Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not. #jira UEVR-628 #jira UE-42555 Change 3334961 on 2017/03/07 by Keli.Hlodversson Add missing include to fix non-unity builds Change 3336200 on 2017/03/07 by Keli.Hlodversson Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs) * Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.) * Switch apparently doesn't know how to format a size_t for analytics either. Also: Typo in backwards compatibility command name alias Change 3337347 on 2017/03/08 by Jeff.Fisher UE-42631 Stereo off while prox sensor uncovered causes low framerate -Setting maxfps appropriately on 'stereo on/off'. #review-3384107 #jira UE-42631 Change 3338385 on 2017/03/08 by Ryan.Vance r.DisableDistortion was only being used for the mobile renderer Change 3342301 on 2017/03/10 by patrickr.donovan Test updates to TM-VRSmoke. Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset. Rebuilt lighting. Change 3348133 on 2017/03/15 by Ryan.Vance Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway. Change 3348836 on 2017/03/15 by Ryan.Vance Direct multi-view support for gear vr Monoscopic far field with multi-view (blit and direct) support for gear vr Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly) Fixed missing discards/clears in the multi-view blit Change 3348843 on 2017/03/15 by Ryan.Vance Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16. Change 3349276 on 2017/03/16 by Keli.Hlodversson Fixing compile errors in GoogleVR after merge from main. Change 3350932 on 2017/03/16 by Ryan.Vance Re-enabling the gearvr plugin on windows. Change 3351977 on 2017/03/17 by Jeff.Fisher Fixing masked member variable. Change 3352314 on 2017/03/17 by Ryan.Vance We need to ensure that we don't select different lod levels for each eye. Change 3352993 on 2017/03/17 by Nick.Whiting Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D Change 3355185 on 2017/03/20 by Nick.Whiting Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working Change 3355676 on 2017/03/20 by Nick.Whiting PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications Change 3357286 on 2017/03/21 by Jeff.Fisher Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago. Change 3357435 on 2017/03/21 by Jeff.Fisher Fixing editor build break, looks like a merge mistake. Change 3359960 on 2017/03/23 by Keli.Hlodversson Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor. Change 3361230 on 2017/03/23 by Jeff.Fisher Fixing linux build opengl include problem... maybe. Change 3361638 on 2017/03/23 by Jeff.Fisher Another guess at fixing linux build. Change 3364224 on 2017/03/24 by Keli.Hlodversson Initial implementation of UEVR-576 - Base emulated layer implementation #jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation #jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support #jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support #jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support #jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer Change 3364242 on 2017/03/24 by Keli.Hlodversson SteamVR layers do not support negatve Layer priorities Change 3364263 on 2017/03/24 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up. Change 3364472 on 2017/03/24 by Jeff.Fisher Merge fix Change 3364475 on 2017/03/24 by Jeff.Fisher Fixing gearvr include. Change 3364486 on 2017/03/24 by Jeff.Fisher merge fix Change 3364532 on 2017/03/24 by Ryan.Vance pso update for mono rendering and stereo layers. Change 3364599 on 2017/03/24 by Ryan.Vance Oculus changes for SI1.12 Change 3365159 on 2017/03/26 by Jeff.Fisher include fix Change 3365182 on 2017/03/26 by Jeff.Fisher include fix Change 3366087 on 2017/03/27 by Ryan.Vance Remaining files from Oculus changes for SI1.12 merge request. Fixing a bug in OnlineSubsystem. Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue. Change 3366492 on 2017/03/27 by Ryan.Vance #jira UE-43294 Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes. Going to leave the shader clear in the rift prerender for clearing the eye padding for now. Change 3366929 on 2017/03/27 by Ryan.Vance Fixing compile error Change 3368549 on 2017/03/28 by Jeff.Fisher Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR Upgrade Google VR Plugin to v1.3: *Upgraded GVR NDK to 1.30.0 *Changed some BlueprintFunction to use BlueprintPure *Add the missing bDaydream flag in UEDeployAndroid.cs #review-3384107 Change 3368975 on 2017/03/28 by Ryan.Vance CIS clean up #jira UE-43428, UE-43429, UE-43426, UE-43427 Change 3369028 on 2017/03/28 by Ryan.Vance This is not exacly 'correct', but it's at least what the code was trying to do. Change 3370203 on 2017/03/29 by Ryan.Vance Adding gear vr controller component support. Change 3370918 on 2017/03/29 by Ryan.Vance Merging 3370569 using Partner-Google-VR_to_DevVR Change 3371030 on 2017/03/29 by Ryan.Vance Fixing linux build errors #jira UE-43426 Change 3371036 on 2017/03/29 by Ryan.Vance Oculus 4.16 integration. Not terribly happy with the use of std::string. They promised to clean this up for the next release. Change 3373495 on 2017/03/30 by Jeff.Fisher Merging from Dev-Main, in preparation for 4.16 Change 3373578 on 2017/03/30 by Jeff.Fisher build break, one comma short Change 3373870 on 2017/03/31 by Jeff.Fisher Include order fix. Change 3374001 on 2017/03/31 by Keli.Hlodversson Use DefaultStereoLayers as base for Morpheus implementation. #jira UEVR-709 #jira UE-42919 #rb: Jeff.Fisher Change 3374004 on 2017/03/31 by Keli.Hlodversson Fix rendering for the default Stereo Layers implementation on mobile. Depth test was set to "Never" instead of "Always" Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms. Change 3375125 on 2017/03/31 by Jeff.Fisher UE-43506 Ensure using VRPreview with GoogleVR -Removed the ensure, there is code in there to handle that case, and it works. #jira UE-43506 Change 3375294 on 2017/03/31 by nick.bullard Resaving Plugin content to resovle "saved with empty engine version" #jira UE-43537 Change 3375480 on 2017/03/31 by Jeff.Fisher UEVR-9 PSVR: Social Screen Support -Experimental social screen support for 4.16. -This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor. -Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play). -There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers. -MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode). -Also finally updated the bEnabled flag in project settings to tell people it's only for PC. #jira UEVR-9 #review-3384107 Change 3375540 on 2017/03/31 by Ryan.Vance #jira UE-43504 Fixing android build break when using a 64 bit isa. Change 3375655 on 2017/03/31 by Jeff.Fisher Fixing missing RGBAToYUV shader problem -This at least unblocks our process. Will revisit before zbr. Change 3375820 on 2017/04/01 by Jeff.Fisher Fixing linux build warning about HAS_MORPHEUS Change 3376050 on 2017/04/02 by Jeff.Fisher UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings -Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings. -Just wrap all standard headers in static analysis disables. #jira UE-43515 Change 3376609 on 2017/04/03 by Jeff.Fisher Fixing rgbatoyuvshader include. Change 3377001 on 2017/04/03 by Jeff.Fisher UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS - shader c++ must be compiled so that it can be cooked for ps4. #jira UE-43547 Change 3379858 on 2017/04/04 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) pulling main this should get us ps4 sdk 4.508 Change 3379938 on 2017/04/04 by Ryan.Vance #jira UE-43548 If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them. The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene. Change 3381519 on 2017/04/05 by Jeff.Fisher UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect. -Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status. #jira UEVR-733 #review-3384107 Change 3382019 on 2017/04/05 by Ryan.Vance Linux: add Vulkan support from dev editor: 3381593 Change 3382021 on 2017/04/05 by Ryan.Vance SteamVR on Linux using Vulkan OpenVR rev to 1_0_6 PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro) Change 3382076 on 2017/04/05 by Ryan.Vance Fixing linux steamvr lib path. It changed to something less silly in 1.0.6 Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed. Change 3383237 on 2017/04/06 by Ryan.Vance #jira UE-43732 Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now. Change 3383353 on 2017/04/06 by Ryan.Vance Fixing include cycles. Change 3383509 on 2017/04/06 by Jeff.Fisher Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) merging the stuff from dev-mobile [CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
}
{
FScopeLock Lock(&MotionControllerComponent->PolledMotionControllerMutex);
MotionControllerComponent->PolledMotionController_RenderThread = MotionControllerComponent->PolledMotionController_GameThread;
}
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
// Find a view that is associated with this player.
float WorldToMetersScale = -1.0f;
for (const FSceneView* SceneView : InViewFamily.Views)
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2867947) ========================== MAJOR FEATURES + CHANGES ========================== Change 2858603 on 2016/02/08 by Tim.Hobson #jira UE-26550 - checked in new art assets for buttons and symbols Change 2858665 on 2016/02/08 by Taizyd.Korambayil #jira UE-25797 Added TextureLODSettings for Ipad Mini set all LODBias to 2. Change 2858668 on 2016/02/08 by Matthew.Griffin Added InfiltratorDemo back into Rocket samples #jira UEB-591 Change 2858743 on 2016/02/08 by Taizyd.Korambayil #jira UE-25996 Fixed Import Error in TopDOwn Code Change 2858776 on 2016/02/08 by Matthew.Griffin Added UnrealMatch3 to packaged projects #jira UEB-589 Change 2858900 on 2016/02/08 by Taizyd.Korambayil #jira UE-15234 Switched all Mask Textures to use the (Mask,No sRGB) Compression Change 2858947 on 2016/02/08 by Mike.Beach Controlling more when VerifyImport() is ran - trying to prevent Verify() from running when DeferDependencyLoads is on, and instead trying to fully verify every import upfront (where it's meant to happen) before serializing in the package's contents (to alleviate cyclic dependency complications). #jira UE-21098 Change 2858954 on 2016/02/08 by Taizyd.Korambayil #jira UE-25524 Resaved Sound Assets to Fix NodeGuid Warnings Change 2859126 on 2016/02/08 by Max.Chen Sequencer: Release track editors when destroying sequencer #jira UE-26423 Change 2859147 on 2016/02/08 by Martin.Wilson Fix uninitialized variable bug #jira UE-26606 Change 2859237 on 2016/02/08 by Lauren.Ridge Bumping Match 3 Version Number for iTunes Connect #jira UE-26648 Change 2859434 on 2016/02/08 by Chad.Taylor Handle the quit and focus message pipe from the SteamVR SDK #jira UEBP-142 Change 2859562 on 2016/02/08 by Chad.Taylor Mac/Android compile fix #jira UEBP-142 Change 2859633 on 2016/02/08 by Dan.Oconnor Transaction buffer uniformly address subobjects and SCS created components via an array of names and a root object. This allows undo/redo to work reliably to any depth of object hierarchy. Removed FReferencedObject and replaced it with the robust FPersistentObjectRef. DefaultSubObjects of the CDO are now tagged as RF_Archetype at construction (logic in PropertyHandleImpl.cpp probably no longer required) Actors reinstanced due to blueprint compilation now have stable names, so that this name can be used to reference their subobjects. This is also part of the fix needed for UE-23335, completely fixes UE-26045 This version of the fix is less aggressive about searching all the way up an object's outer chain before stopping. Fixes issues with parts of outer chain changing on PIE. Also doesn't add objects referenced by subobject name to any AddReference calls which fixes race conditions with GC. Also fixes bad logic in CopyPropertiesForUnrelatedObjects, which would create copies of subobjects that already existed because we were populating the ReferenceReplacementMap before adding all existing subobjects (always components in this case) #jira UE-26045 Change 2859640 on 2016/02/08 by Dan.Oconnor Removed debugging code.. #jira UE-26045 Change 2859668 on 2016/02/08 by Aaron.McLeran #jira UE-26503 A Mixer with a Concatenator node won't loop with a Looping node - issue was the looping nodes weren't properly reseting all the child wave instances - also looping nodes weren't reporting the correct GetNumSounds() count for use with sequencer node Change 2859688 on 2016/02/08 by Chris.Babcock Allow external access to runtime modifications to OpenGL shaders #jira UE-26679 #ue4 Change 2859739 on 2016/02/08 by Chad.Taylor UE4_Win64_Mono compile fix #jira UEBP-142 Change 2859962 on 2016/02/09 by Chris.Wood Passing command line to Crash Report Client without stripping the project name. [UE-24959] - "Send and Restart" brings up the Project Browser #jira UE-24959 Reimplement changes from Orion in UE 4.11 Reimplementing the command line logging filtering over from Dev-Core (same change as CL 2821359 that moved this change into Orion) Reimplementing passing full command line to Crash Report Client (same change as CL 2858617 in Orion) Change 2859966 on 2016/02/09 by Matthew.Griffin Fixed shadow variable issue that was causing build failure in NonUnity mode on Mac [CL 2873884 by Ben Marsh in Main branch]
2016-02-19 13:49:13 -05: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
if (SceneView && SceneView->PlayerIndex == MotionControllerComponent->PlayerIndex)
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2867947) ========================== MAJOR FEATURES + CHANGES ========================== Change 2858603 on 2016/02/08 by Tim.Hobson #jira UE-26550 - checked in new art assets for buttons and symbols Change 2858665 on 2016/02/08 by Taizyd.Korambayil #jira UE-25797 Added TextureLODSettings for Ipad Mini set all LODBias to 2. Change 2858668 on 2016/02/08 by Matthew.Griffin Added InfiltratorDemo back into Rocket samples #jira UEB-591 Change 2858743 on 2016/02/08 by Taizyd.Korambayil #jira UE-25996 Fixed Import Error in TopDOwn Code Change 2858776 on 2016/02/08 by Matthew.Griffin Added UnrealMatch3 to packaged projects #jira UEB-589 Change 2858900 on 2016/02/08 by Taizyd.Korambayil #jira UE-15234 Switched all Mask Textures to use the (Mask,No sRGB) Compression Change 2858947 on 2016/02/08 by Mike.Beach Controlling more when VerifyImport() is ran - trying to prevent Verify() from running when DeferDependencyLoads is on, and instead trying to fully verify every import upfront (where it's meant to happen) before serializing in the package's contents (to alleviate cyclic dependency complications). #jira UE-21098 Change 2858954 on 2016/02/08 by Taizyd.Korambayil #jira UE-25524 Resaved Sound Assets to Fix NodeGuid Warnings Change 2859126 on 2016/02/08 by Max.Chen Sequencer: Release track editors when destroying sequencer #jira UE-26423 Change 2859147 on 2016/02/08 by Martin.Wilson Fix uninitialized variable bug #jira UE-26606 Change 2859237 on 2016/02/08 by Lauren.Ridge Bumping Match 3 Version Number for iTunes Connect #jira UE-26648 Change 2859434 on 2016/02/08 by Chad.Taylor Handle the quit and focus message pipe from the SteamVR SDK #jira UEBP-142 Change 2859562 on 2016/02/08 by Chad.Taylor Mac/Android compile fix #jira UEBP-142 Change 2859633 on 2016/02/08 by Dan.Oconnor Transaction buffer uniformly address subobjects and SCS created components via an array of names and a root object. This allows undo/redo to work reliably to any depth of object hierarchy. Removed FReferencedObject and replaced it with the robust FPersistentObjectRef. DefaultSubObjects of the CDO are now tagged as RF_Archetype at construction (logic in PropertyHandleImpl.cpp probably no longer required) Actors reinstanced due to blueprint compilation now have stable names, so that this name can be used to reference their subobjects. This is also part of the fix needed for UE-23335, completely fixes UE-26045 This version of the fix is less aggressive about searching all the way up an object's outer chain before stopping. Fixes issues with parts of outer chain changing on PIE. Also doesn't add objects referenced by subobject name to any AddReference calls which fixes race conditions with GC. Also fixes bad logic in CopyPropertiesForUnrelatedObjects, which would create copies of subobjects that already existed because we were populating the ReferenceReplacementMap before adding all existing subobjects (always components in this case) #jira UE-26045 Change 2859640 on 2016/02/08 by Dan.Oconnor Removed debugging code.. #jira UE-26045 Change 2859668 on 2016/02/08 by Aaron.McLeran #jira UE-26503 A Mixer with a Concatenator node won't loop with a Looping node - issue was the looping nodes weren't properly reseting all the child wave instances - also looping nodes weren't reporting the correct GetNumSounds() count for use with sequencer node Change 2859688 on 2016/02/08 by Chris.Babcock Allow external access to runtime modifications to OpenGL shaders #jira UE-26679 #ue4 Change 2859739 on 2016/02/08 by Chad.Taylor UE4_Win64_Mono compile fix #jira UEBP-142 Change 2859962 on 2016/02/09 by Chris.Wood Passing command line to Crash Report Client without stripping the project name. [UE-24959] - "Send and Restart" brings up the Project Browser #jira UE-24959 Reimplement changes from Orion in UE 4.11 Reimplementing the command line logging filtering over from Dev-Core (same change as CL 2821359 that moved this change into Orion) Reimplementing passing full command line to Crash Report Client (same change as CL 2858617 in Orion) Change 2859966 on 2016/02/09 by Matthew.Griffin Fixed shadow variable issue that was causing build failure in NonUnity mode on Mac [CL 2873884 by Ben Marsh in Main branch]
2016-02-19 13:49:13 -05: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
WorldToMetersScale = SceneView->WorldToMetersScale;
break;
Merging //UE4/Release-4.11 to //UE4/Main (Up to CL#2867947) ========================== MAJOR FEATURES + CHANGES ========================== Change 2858603 on 2016/02/08 by Tim.Hobson #jira UE-26550 - checked in new art assets for buttons and symbols Change 2858665 on 2016/02/08 by Taizyd.Korambayil #jira UE-25797 Added TextureLODSettings for Ipad Mini set all LODBias to 2. Change 2858668 on 2016/02/08 by Matthew.Griffin Added InfiltratorDemo back into Rocket samples #jira UEB-591 Change 2858743 on 2016/02/08 by Taizyd.Korambayil #jira UE-25996 Fixed Import Error in TopDOwn Code Change 2858776 on 2016/02/08 by Matthew.Griffin Added UnrealMatch3 to packaged projects #jira UEB-589 Change 2858900 on 2016/02/08 by Taizyd.Korambayil #jira UE-15234 Switched all Mask Textures to use the (Mask,No sRGB) Compression Change 2858947 on 2016/02/08 by Mike.Beach Controlling more when VerifyImport() is ran - trying to prevent Verify() from running when DeferDependencyLoads is on, and instead trying to fully verify every import upfront (where it's meant to happen) before serializing in the package's contents (to alleviate cyclic dependency complications). #jira UE-21098 Change 2858954 on 2016/02/08 by Taizyd.Korambayil #jira UE-25524 Resaved Sound Assets to Fix NodeGuid Warnings Change 2859126 on 2016/02/08 by Max.Chen Sequencer: Release track editors when destroying sequencer #jira UE-26423 Change 2859147 on 2016/02/08 by Martin.Wilson Fix uninitialized variable bug #jira UE-26606 Change 2859237 on 2016/02/08 by Lauren.Ridge Bumping Match 3 Version Number for iTunes Connect #jira UE-26648 Change 2859434 on 2016/02/08 by Chad.Taylor Handle the quit and focus message pipe from the SteamVR SDK #jira UEBP-142 Change 2859562 on 2016/02/08 by Chad.Taylor Mac/Android compile fix #jira UEBP-142 Change 2859633 on 2016/02/08 by Dan.Oconnor Transaction buffer uniformly address subobjects and SCS created components via an array of names and a root object. This allows undo/redo to work reliably to any depth of object hierarchy. Removed FReferencedObject and replaced it with the robust FPersistentObjectRef. DefaultSubObjects of the CDO are now tagged as RF_Archetype at construction (logic in PropertyHandleImpl.cpp probably no longer required) Actors reinstanced due to blueprint compilation now have stable names, so that this name can be used to reference their subobjects. This is also part of the fix needed for UE-23335, completely fixes UE-26045 This version of the fix is less aggressive about searching all the way up an object's outer chain before stopping. Fixes issues with parts of outer chain changing on PIE. Also doesn't add objects referenced by subobject name to any AddReference calls which fixes race conditions with GC. Also fixes bad logic in CopyPropertiesForUnrelatedObjects, which would create copies of subobjects that already existed because we were populating the ReferenceReplacementMap before adding all existing subobjects (always components in this case) #jira UE-26045 Change 2859640 on 2016/02/08 by Dan.Oconnor Removed debugging code.. #jira UE-26045 Change 2859668 on 2016/02/08 by Aaron.McLeran #jira UE-26503 A Mixer with a Concatenator node won't loop with a Looping node - issue was the looping nodes weren't properly reseting all the child wave instances - also looping nodes weren't reporting the correct GetNumSounds() count for use with sequencer node Change 2859688 on 2016/02/08 by Chris.Babcock Allow external access to runtime modifications to OpenGL shaders #jira UE-26679 #ue4 Change 2859739 on 2016/02/08 by Chad.Taylor UE4_Win64_Mono compile fix #jira UEBP-142 Change 2859962 on 2016/02/09 by Chris.Wood Passing command line to Crash Report Client without stripping the project name. [UE-24959] - "Send and Restart" brings up the Project Browser #jira UE-24959 Reimplement changes from Orion in UE 4.11 Reimplementing the command line logging filtering over from Dev-Core (same change as CL 2821359 that moved this change into Orion) Reimplementing passing full command line to Crash Report Client (same change as CL 2858617 in Orion) Change 2859966 on 2016/02/09 by Matthew.Griffin Fixed shadow variable issue that was causing build failure in NonUnity mode on Mac [CL 2873884 by Ben Marsh in Main branch]
2016-02-19 13:49:13 -05: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
// If there are no views associated with this player use view 0.
if (WorldToMetersScale < 0.0f)
{
check(InViewFamily.Views.Num() > 0);
WorldToMetersScale = InViewFamily.Views[0]->WorldToMetersScale;
}
// Poll state for the most recent controller transform
FVector Position = MotionControllerComponent->RenderThreadRelativeTransform.GetTranslation();
FRotator Orientation = MotionControllerComponent->RenderThreadRelativeTransform.GetRotation().Rotator();
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 (!MotionControllerComponent->PollControllerState(Position, Orientation, WorldToMetersScale))
{
return;
}
OldTransform = MotionControllerComponent->RenderThreadRelativeTransform;
NewTransform = FTransform(Orientation, Position, MotionControllerComponent->RenderThreadComponentScale);
} // Release the lock on the MotionControllerComponent
// Tell the late update manager to apply the offset to the scene components
LateUpdate.Apply_RenderThread(InViewFamily.Scene, OldTransform, NewTransform);
}
bool UMotionControllerComponent::FViewExtension::IsActiveThisFrame_Internal(const FSceneViewExtensionContext&) const
{
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
check(IsInGameThread());
return MotionControllerComponent && !MotionControllerComponent->bDisableLowLatencyUpdate && CVarEnableMotionControllerLateUpdate.GetValueOnGameThread();
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05: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
float UMotionControllerComponent::GetParameterValue(FName InName, bool& bValueFound)
{
if (InUseMotionController)
{
return InUseMotionController->GetCustomParameterValue(MotionSource, InName, bValueFound);
}
bValueFound = false;
return 0.f;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3805828 by Gil.Gribb UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works. Change 3806784 by Ben.Marsh UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT. Change 3807549 by Graeme.Thornton Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it. Change 3807727 by Graeme.Thornton Unhide the text asset format experimental editor option Change 3807746 by Josh.Engebretson Remove WER from iOS platform Change 3807928 by Robert.Manuszewski When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet Change 3808221 by Steve.Robb GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule() ^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway. Change 3809233 by Graeme.Thornton TBA: Misc changes to text asset commandlet - Rename mode to "loadsave" - Add -outputFormat option which can be assigned "text" or "binary" - When saving binary, use a differentiated filename so that source assets aren't overwritten Change 3809518 by Ben.Marsh Remove the outdated UnrealSync automation script. Change 3809643 by Steve.Robb GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value #jira UE-53037 Change 3809862 by Steve.Robb GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately #jira UE-42593 Change 3811190 by Graeme.Thornton Add support for writing specific log channels to their own files Change 3811197 by Graeme.Thornton Minor updates to output formatting and timing for the text asset commandlet Change 3811257 by Robert.Manuszewski Cluster creation will now be time-sliced Change 3811565 by Steve.Robb Define out non-monolithic module functions. Change 3812561 by Steve.Robb GitHub #3886 : Enable Brace-Initialization for Declaring Variables Incorrect semi-colon search removed after discussion with author. Test added. #jira UE-48242 Change 3812864 by Steve.Robb Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins. See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html #jira UE-53089 Change 3820358 by Ben.Marsh PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist) Change 3822594 by Ben.Marsh UAT: Improvements to log file handling. - Always create log files in the final location, rather than writing to a temp directory and copying in later. - Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX. - Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is. - Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location. Change 3823695 by Ben.Marsh UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk). Now always queries changes up to the last change for which zipped binaries are available. Change 3823845 by Ben.Marsh UBT: Exclude C# projects for unsupported platforms when generating project files. Change 3824180 by Ben.Marsh UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes). #jira Change 3825777 by Steve.Robb Fix to return value of StringToBytes. Change 3825810 by Ben.Marsh UBT: Reduce length of include paths for MSVC toolchain. Change 3825822 by Robert.Manuszewski Optimized PIE lazy pointer fixup. Should be up to 8x faster now. Change 3826734 by Ben.Marsh Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency. Change 3827730 by Steve.Robb Try to avoid decltype(auto) if it's not supported. See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html Change 3827745 by Steve.Robb Initializer list support for TMap. Change 3827770 by Steve.Robb GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType() #jira UE-53813 Change 3829189 by Ben.Marsh UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off. Change 3830444 by Steve.Robb BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library. This should be revisited when Core has its own JSON library. Change 3830718 by Ben.Marsh Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups. The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip. For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it. When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk. #jira UE-53845 Change 3831064 by Ben.Marsh Fix log file contention when spawning UBT recursively. Change 3832654 by Ben.Marsh UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it. Change 3832680 by Ben.Marsh UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade. Change 3832695 by Ben.Marsh UGS: Invert the options in the 'Show Changes' submenu for simplicity. Change 3833528 by Ben.Marsh UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write]. Change 3833543 by Ben.Marsh UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules. Change 3834354 by Robert.Manuszewski Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks. #jira UE-52035 Change 3834400 by Robert.Manuszewski Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup. #jira UE-52035 Change 3834947 by Steve.Robb USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal. Change 3835004 by Ben.Marsh Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL. Change 3835340 by Ben.Marsh Fix errors making installed build from directories with spaces in the name. Change 3835972 by Ben.Marsh UBT: Improved diagnostic message for targets which don't need a version file. Change 3836019 by Ben.Marsh UBT: Fix warnings caused by defining linkage macros for third party libraries. Change 3836269 by Ben.Marsh Fix message box larger than the screen height being created when a large number of modules are incompatible on startup. Change 3836543 by Ben.Marsh Enable SoundMod plugin on Linux, since it's already supported through the editor. Change 3836546 by Ben.Marsh PR #4412: fix type mismatch (Contributed by nakapon) Change 3836805 by Ben.Marsh Fix commandlet to compile marketplace plugins. Change 3836829 by Ben.Marsh UBT: Fix ability to precompile plugins from installed engine builds. Change 3837036 by Ben.Marsh UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds. Change 3837037 by Ben.Marsh UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro). Change 3837040 by Ben.Marsh UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed. Change 3837247 by Ben.Marsh UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files). Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor. Change 3837262 by Ben.Marsh UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module. Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets. Change 3837343 by Ben.Marsh UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead. Change 3837356 by Ben.Marsh Fix invalid character encodings. Change 3837727 by Graeme.Thornton UnrealPak: KeyGenerator: Only generate prime table when required, not all the time Change 3837823 by Ben.Marsh UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window. Change 3837831 by Graeme.Thornton UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives Change 3837857 by Robert.Manuszewski PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch) Change 3837943 by Robert.Manuszewski PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch) Change 3838451 by Ben.Marsh UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread. #jira UE-53996 Change 3839519 by Ben.Marsh UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data. Change 3843790 by Graeme.Thornton UnrealPak: Log the size of all encrypted data Change 3844258 by Ben.Marsh Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace. Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure. #jira UE-54157 Change 3845796 by Ben.Marsh Workaround for slow performance of String.EndsWith() on Mono. Change 3845823 by Ben.Marsh Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun. #jira UE-54123 Change 3845901 by Arciel.Rekman Linux: fix crash due to lambda lifetime issues (UE-54040). - The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+). (Edigrating 3819174 to Dev-Core) Change 3846439 by Ben.Marsh Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates. Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main. Change 3816608 by Ben.Marsh UBT: Use DirectoryReference objects for all include paths. Change 3816954 by Ben.Marsh UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere. Change 3816986 by Ben.Marsh UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly. Change 3816991 by Ben.Marsh UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules. Change 3823090 by Ben.Marsh UAT: Improve logging for child UAT instances. - Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder. - Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway. - Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read. - Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output. Change 3826082 by Ben.Marsh UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target. Change 3827025 by Ben.Marsh UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling. Change 3829927 by James.Hopkin Made HTTP interface const correct Change 3833533 by Ben.Marsh Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules. Change 3835826 by Ben.Marsh UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced. Change 3835969 by Ben.Marsh UBT: Fix cases where text is being written directly to the console rather than via logging functions. Change 3837777 by Steve.Robb Format string type checking added to FOutputDevice::Logf. Fixes for those. Change 3838569 by Steve.Robb Algo moved up a folder. [CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
FVector UMotionControllerComponent::GetHandJointPosition(int jointIndex, bool& bValueFound)
{
FVector outPosition;
if (InUseMotionController && InUseMotionController->GetHandJointPosition(MotionSource, jointIndex, outPosition))
{
bValueFound = true;
return outPosition;
}
else
{
bValueFound = false;
return FVector::ZeroVector;
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3931840) #lockdown Nick.Penwarden #rb merge ============================ MAJOR FEATURES & CHANGES ============================ 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 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3795928 by Joe.Conley PR #2514: make VR preview work with dedicated server mode in editor (Contributed by joelmcginnis) #github https://github.com/EpicGames/UnrealEngine/pull/2514 Change 3798048 by Mike.Beach [WIP] MR - Improving on the MR alignment calibration process. #jira UEVR-1047 Change 3798388 by Mike.Beach MR - Loading the OpenCv dll along with the calibration module. Adding a WITH_OPENCV define that we can wrap blocks with. Change 3798396 by Mike.Beach MR - Making use of OpenCV's eigen solver for quaternion averaging, and wrapping my use of OpenCV with the new define. Change 3798668 by Nick.Whiting Merging CL 3794238 from Partner-Valve (Fixes for uninitialized memory after vkGetPhysicalDeviceProperties2KHR) Change 3800540 by Keli.Hlodversson Simplify loading of OpenCV dll by defining the dll name and relative path in the third party build script (OpenCV.Build.cs). Remove redefinition of WITH_OPENCV from MixedRealityCalibration.Build.cs. Add OpenCVHelper.h with macros that should be used to wrap opencv includes Change 3801194 by Keli.Hlodversson Fix relative path in OpenCV.build.cs Change 3801853 by Mike.Beach Fixing crash on nullptr. Change 3802176 by Mike.Beach Switching out the wrong file that was submitted in CL 3801853 - fixing a crash in MotionControllerComponent. Change 3802189 by Mike.Beach MR - Fix to rotation averaging (was not correctly populating quaternion matrix). Change 3807785 by Douglas.Copeland Replacing deprecated nodes in QA_MoCoAll BP Change 3810205 by Chance.Ivey Removing Old Moble AR Template Change 3810482 by Nick.Whiting Updating to SteamVR 1.0.11 Change 3810488 by Nick.Whiting Adapting CL 379023 from Partner-Valve, SteamVR : fix lockup, improve performance , use PostPresentHandoff and SubmitExplicitTimingData APIs Change 3810502 by Nick.Whiting Adding LUID detection on non-Mac platforms for SteamVR Change 3811483 by Joe.Graf Fixed Mac compiling with SteamVR due to an initialized variable being used Change 3811488 by Keli.Hlodversson Initial class for performing camera calibration via OpenCV #jira UE-52726 Change 3811496 by Mike.Beach CIS fix - pragma'ing out several OpenCV, ThirdParty warnings. #jira UE-53558 Change 3811560 by Mike.Beach CIS fixes - Initializing an unitialized var in SteamVR & pragma'ing out some more warnings for OpenCV. #jira UE-53557, UE-53558 Change 3812051 by Mike.Beach CIS fix - switching over to using new 'PublicDefinitions' member. Change 3813131 by Jeff.Fisher Opacity mask gradient test content for msaa. #jira UEVR-1049 Change 3814154 by Douglas.Copeland Rebuilding lighting for TM-VRSmoke Change 3814248 by Mike.Beach Adopting Occulus' SI1.21 changes... Added Oculus Go controller meshes to UE4 Enable sched_fifo and RT/GT affinities back in UE4 Only activate the masking system for the translucent objects (only ones where masking is necessary) Upgrade to OVRPlugin 1.21's new APIs for display frequency and integration into blueprint Fixes the 10fps lock not being setup when an app is launched with the HMD not mounted Add blueprint definition to get device name from ovrplugin Add support for tiled multires and GPU % reporting Rejected changes in: OculusFunctionLibrary.h DefaultXRCamera.cpp SceneRenderTargets.cpp Change 3820224 by Mike.Beach [WIP] MR Calibration - Correcting orientation estimation to average sampled forward/up vectors - Converting functionality for intersecting approximate frustum rays to C++ (to better align with frustum far points) - Switched alignment points' PlanarId to be 3D, so we know how they relate to each other - Stubbing in new alignment tweak mode Change 3820475 by Ryan.Vance #jira UEVR-1055 We need to use 0 for a sentinel value on non-metal rhi's. Change 3821771 by Mike.Beach CIS fixes Change 3824637 by Mike.Beach [WIP] MR Calibration process - polishing alignment tweak step (only needing rendertarget/img processing functions from demo branch). Change 3828925 by Mike.Beach CIS fix (was using deprecated IImageWrapperPtr) Change 3830898 by Jeff.Fisher Improving ActorComponent.h include path somone on udn noticed wasn't quite right. Change 3831597 by Mike.Beach [WIP] MR Calibration - Alignment tweaking now takes snapshots and presents a collage for you to align with. #jira UEVR-1042 Change 3837752 by Keli.Hlodversson Add option to pass UTextureRenderTarget2D directly to the OpenCVCalibrator instead of using temporary image files #jira UE-52728 Change 3839309 by Mike.Beach MotionController support for HMD tracking. Change 3839314 by Mike.Beach Fixing a crash in MR calibration, where we were expecting a returned list to be ordered and it wasn't (caused indexing out of bounds). Change 3839316 by Mike.Beach [WIP] MR Calibration - Stubbing in support for calibration using the HMD model (instead of controllers) Change 3840711 by Mike.Beach [WIP] MR Calibration - Add final preview to alignment calibration step. Change 3841667 by Mike.Beach [WIP] MR Calibration - Allowing users to toggle through different alignment techniques. Change 3842631 by Mike.Beach [WIP] MR Calibration - Polishing alignment tweak step (adding preview with HMD visualization, enforcing trigger pull for snapshots, allow reseting of just adjustments). Change 3842758 by Mike.Beach [WIP] MR Calibration - Cleaning up & reorganizing some cruft. Change 3842943 by Mike.Beach [WIP] MR Calibration - More clean up & re-org Change 3843004 by Mike.Beach [WIP] MR Calibration - Clearing old references to defunct calibration modes. Change 3843063 by Mike.Beach [WIP] MR - Deleting old (unused) calibration steps. Change 3844142 by Mike.Beach [WIP] MR Calibration - Cleaning out old cruft in CalibrationController (old alignment calibration that was moved to a separate BP). Change 3845341 by Keli.Hlodversson Add lens distortion parameters to MRCaptureComponent #jira UEVR-1060 Change 3846174 by Mike.Beach [WIP] MR Calibration - Updating the compositing adjustment phase to run on the new modular calibration step system. - Properties are now DataTable driven - Split into base and sub-class (to facilitate easier property editing) - Added HSV tweak mode for the color #jira UEVR-1048 Change 3847032 by Mike.Beach [WIP] MR Calibration - Misc. fixes - Unique identification color for new alignment point - Fixed compositing calibration so it shows the scene as it would appear in a full MR capture (no specialized calibration view) - Fixed some of the language used in the on-screen instructions Change 3849040 by Mike.Beach Fixing a assert/crash in MR calibration during the garbage matte phase - garbage matte actor was pointing to the wrong calibration component. #jira UE-54233 Change 3849778 by Mike.Beach Fixed so the loaded MR calibration position/orientation is properly applied and visualized in the MR calibration level. #jira UE-54251 Change 3850199 by Mike.Beach [MR] Saving, applying, and displaying TrackingLatency and DepthOffset properties in the MR calibration process. #jira UE-54254, UE-54235 Change 3850224 by Mike.Beach [MR] Adding a way to omit certain MotionController components from the forced delay. #jira UE-54255 Change 3851434 by Mike.Beach [MR] Fixing up the projection plane depth tracking (needs to be disabled for certain calibration steps) - Cleans up MRBillboard API - New method to enable/disable HMD depth tracking (helpful for integrating depth camera's in the future) - DepthOffset should now work properly #jira UE-54321, UE-54235 Change 3853799 by Mike.Beach [MR] Making LensDistortion a public dependency since it is included from a public header. Change 3854608 by Mike.Beach [MR] Fixing it so the MR capture view point is delayed by the same latency that motion controllers are when it is attached to a motions controller itself. #jira UE-54255 Change 3855721 by Keli.Hlodversson Implement Lens Calibration Step. #jira UEVR-1061 Integrate OpenCV calibration into MRFramwrok calibration process (through Blueprints) Change 3855841 by Keli.Hlodversson Fix Linux build after cl 3855721 Change 3858718 by Mike.Beach Allowing async node factory methods to have other out parameters that get exposed in Blueprints. Change 3861345 by Mike.Beach Making changes to the XRAsset API - better handling asynchronous resource loading * Added OnLoadComplete callback & ForceSynchronous params * Moved/Renamed related BP functions to new XRAssetFunctionLib (added redirectors) * Added async BP versions of the (now) blocking functions * Fixed MotionControllerComponents to now set custom materials with the load callback Fixed MR calibration process to better display alignment models * Switched back to using controller models for alignment (UE-54476) * Using custom depth buffer to reject inner triangles so models are easier to make out when using transparency * Handling SteamVR controller models with multiple materials (overriding all) #jira UE-54455, UE-54476 Change 3863839 by Ryan.Vance Integrating 3836507 to fix oculus depth rt related crashes #jira UE-54595, UE-54596, UE-54618 Change 3864970 by Mike.Beach [WIP] MR Calibration - Trying to make the controller models more visable/helpful during the alignment process (adding a outline PP effect - currently disabled since PostProcessing/Tonemapping has ill-effects on the camera texture). Change 3865290 by Mike.Beach [WIP] MR Calibration - Specializing alignment positioning based off VR system (Oculus vs. Vive). Adjusting initial Vive alignment model so it centers in the middle of the screen (easier to align). Change 3865357 by Joe.Graf Initial merge of Andrew's BackChannel and RemoteSession plugins Change 3865379 by Joe.Graf Change filetype since +x was accidentally added Change 3865515 by Jules.Blok Use center interpolation on normals for curvature-to-roughness Reduces aliasing artifacts when using curvature-to-roughness with MSAA #jira UEVR-684 Change 3865622 by Joe.Graf Fixed non-unity compile errors Change 3865716 by Joe.Graf Attempt to fix line endings Change 3865749 by Joe.Graf Another non-unity file fix Change 3865782 by Joe.Graf Attempt to fix line endings Change 3865789 by Joe.Graf Another non-unity fix Change 3865891 by Mike.Beach Oculus SI 1.22 changes... - OVRPlugin update - Change to how Vulkan extensions are enumerated Change 3867433 by Douglas.Copeland Fixing up M_Parallax_Cheap_Inst Content Change 3867486 by Mike.Beach [WIP] MR Calibration - Adjusting the first alignment model for Oculus, so that it isn't clipped by the camera. #jira UE-54684 Change 3868302 by Mike.Beach [WIP] MR Calibration - Adding controls to toggle post-processing on/off for the MR feed, and a way to hide/show just the alignment model (and leave an outline when post-processing). Change 3868359 by Mike.Beach Adding licensed models for the Rift HMD and sensors. Change 3868410 by Mike.Beach Hiding the controller models for the Compositing Calibration step, & fixing the right hand model so it shows. #jira UE-54744 Change 3869755 by Joe.Graf Fixed static analysis warnings Change 3869790 by Joe.Graf Changed a Warning to a Log since it looks like a c&p error Change 3869887 by Arciel.Rekman Copying //UE4/Partner-Valve@3869880 to Dev-VR (//UE4/Dev-VR) Change 3872154 by Mike.Beach [WIP] MR Calibration - Adjusting Oculus alignhment samples so the model is easier to align with. #jira UE-54745 Change 3872426 by Mike.Beach [WIP] MR Calibration - Adjusting Vive alignment samples so the model is easier to align with. #jira UE-54745 Change 3873216 by Nick.Atamas Merging CL 3829164 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a Fixed iOS app using FVector4 safe zones because that is possible in 4.19 Change 3873548 by Nick.Atamas Merging CL 3847181 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a #jira UE-53726 Change 3873791 by Nick.Atamas Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS. Change 3875678 by Mike.Beach MR Calibration - Fixing the alignment adjustment step so it doesn't get stuck after taking samples. #jira UE-54906 Change 3875900 by Nick.Atamas Fixed scenario where geometries were being updated once per pin, instead of just being updated once. Also fixes a scenario where there are no pins and geometries fail to update. Change 3877035 by Mike.Beach MR - Subscribing the MR framework to the PostLoad world delegate so it can spawn the MRCaptureActor needed to broadcast MR. #jira UE-54933 Change 3877904 by Joe.Graf Added XRTracking support to the RemoteSession plugin so that you can control the remote camera with XRTracking inputs Change 3877955 by Joe.Graf Added the RemoteSessionApp sample Change 3880570 by Mike.Beach Adopted direct-to-layer rendering API changes from Oculus Change 3881307 by Keli.Hlodversson Implement lens undistortion using OpenCV's initUndistortRectifyMap and a material for remapping the camera UVs based on the generated texture. #jira UE-52781 Also changes the default size of the calibration chessboard to 9x6 inner edges. #jira UE-54679 Change 3882054 by Mike.Beach CIS fix - excluding new Oculus android lib (vrintegrationloader) from architechtures that it isn't compatible with (following vrapi's example). Change 3885220 by Joe.Graf Blacklisted the BackChannel and RemoteSession plugins on HTML5 Change 3885776 by Keli.Hlodversson Fix static analysis warning when including OpenCV headers Change 3888197 by Jules.Blok Use the WorldVertexNormal for curvature-to-roughness instead of the WorldNormal. This fixes aliasing artifacts when using curvature-to-roughness with normal maps. Also fixes a compilation error in DistortAccumulatePS.usf #jira UEVR-684 #jira UE-55102 Change 3891444 by Mike.Beach Using the save object's full class name path so we can load from BP sub-object types from plugins (and discern between likenamed types). #jira UE-54945 Change 3891447 by Mike.Beach Labeling the spectator screen render call so it is distinguishable in profiles. Change 3891459 by Mike.Beach [WIP] MR - Adding a debug option to visualize the MR camera in-game. Change 3891462 by Mike.Beach Adding a standalone project for MR calibration app generation and testing. #jira UEVR-1070 Change 3891696 by Mike.Beach [WIP] MR - Now calibrating with the tracking origin at floor level so that the calibrated alignment is relative to the proper place. #jira UE-54945 Change 3892899 by Ryan.Vance Multi-view requires the day dream compositor. Change 3896052 by Nick.Whiting Duplicating fix for VR motion controller lock in CL 3889470 from 4.19 to Dev-VR Change 3897244 by Mike.Beach MR - Subscribing to an editor delegate so we can hook into PIE when it launches (so MR behaves like it does in -game, auto broadcasting). #jira UE-54944 Change 3897283 by Mike.Beach [WIP] MR - Utility material functions for converting from linear to sRGB space (and de-tonemapping) for the image from the camera feed. #jira UE-54663 Change 3897357 by Mike.Beach MR Calibration - Removing my own personal settings from the MRCalibration project. Change 3897376 by Mike.Beach MR Calibration - Initialiting the input controller's mirror var so it matches the DisplayController's (else they start out of sync). #jira UE-55281 Change 3897381 by Mike.Beach [WIP] MR Calibration - Deleting extra input controller actor that mistakenly got added to the scene (likely from bad CAC loading). #jira UE-55279 Change 3897401 by Mike.Beach MR - Using the newly added material functions (CL 3897283) to convert the camera feed from linear space to sRGB. #jira UE-54663 Change 3897419 by Mike.Beach MR Calibration - Updating gabage matte step initialization to use new broadcasting framework. #jira UE-55287 Change 3897420 by Mike.Beach MR Calibration - Followup to CL 3897357; removing more of my personal settings that accidently got checked in. Change 3897467 by Mike.Beach MR - Material for the camera card should be unlit. Change 3899508 by Joe.Graf Added SupportAR so that ARKit is used for tracking in the RemoteSessionApp Change 3901656 by Zak.Parrish Adding 3Lateral's kite boy head to DevVR Change 3901705 by Mike.Beach MR - Fixing the load/saving of the calibrated camera orientation. Using the look-at axis was not enough to reconstruct the same transform. Change 3902026 by Mike.Beach MR - Force activating the attached MotionController to account for failed auto-activation during initialization. Change 3902089 by Mike.Beach Mirroring CL 3902082 from 4.19. Fixing an issue with the fix from CL 3889470 - fully matching the old UEnum name check (checking both the value name and the typed name, for example: "Left" and "EControllerHand::Left"). #jira UE-55153 Change 3902110 by Mike.Beach MR - Fixing it so a MR save doesn't have to be present on load for the editor to run MR mode on PIE (can drop a MR sav with the editor already open). Change 3902631 by Joe.Graf Fixed a bunch of shutdown related issues for remote sessions Change 3904885 by Mike.Beach MR Calibration - Fixing the gabage matting mode so it properly saves/loads without stomping on existing save data. * Switching over GarbageMattePawn (the last hold out) to be part of the modular calibration step system * New CalibrationStep API where the implementor can request a save (TODO: port all existing steps over to new function) * Cleaned up a lot of dead code in CalibrationController * Refactored how the GarbageMatteActor works - switched calibration BP to be sub-class (to get implicit matte data saving) * Added MinStartingStep so the calibration will always boot up to the CompositingCalibration step when loading a full calibration save * Now only spawning the GarbageMatteComponent when we have garbage matte data Change 3904915 by Mike.Beach CIS static analysis fix. Change 3906571 by Keli.Hlodversson Multiple interdependent MR Calibration changes: Move undistortion support into the UMixedRealityCaptureComponent. Update UV undistortion texture when changing lens parameters. Use our own struct to store lens duistortion settings, as we no longer depend on the LensDistortion/Composure plugin #jira UEVR-1073 Change undistortion to happen at the right place (ie. on camera output only and not on the final composed image) Move OpenCVHelper into its own module, as both MixedRealityFramework and MixedRealityCalibration now depend on it. Use calculated FOV after uindistortion and apply it to capture component #jira UE-55194 Display calculated FOV progressively during lens calibration #jira UE-55191 Change 3907398 by Mike.Beach MR Calibration - Fixing issue where the chroma key tweaks were not being applied to the preview. Change 3908291 by Joe.Graf Merged over the clang warning suppression for unused lambda captures Change 3908707 by Keli.Hlodversson Fix MR compilation on Linux. (OpenCVHelper is now enabled on that platform, even though OpenCV isn't) Remove dependency on LensDistortion plugin. Change 3909229 by Mike.Beach MR Calibration - Adding debug ability to skip lens calibration (End/Backspace) Change 3909889 by Mike.Beach [WIP] MR - Adjusting MR matierals and default CaptureSource to fight dark camera feed and to have scene rendering go through post-processing. #jira UE-54663, UE-55324 Change 3910454 by Mike.Beach [WIP] MR Calibration - Switching over all calibration steps to the new save API. Change 3910942 by Mike.Beach [WIP] MR Calibration - Adding an accept/redo screen to the lens calibration step (and making it so you can debug skip through the initial snapshot phase). #jira UE-55190 Change 3910943 by Mike.Beach [WIP] MR - Removing some uneeded cruft in the MR util library. Change 3913041 by Joe.Graf Xcode 9.3 clang warning fixes Change 3913146 by Joe.Graf Changed the remote session app to default to 60 fps Change 3914885 by Mike.Beach CIS fixes Change 3919437 by Nick.Whiting UE-55674: Fix for SteamVR on Mac causing crash. SteamVR was picking the wrong texture format because we were testing against the supported ShaderModel before it was actually set. It was asking for an OpenGL device context on Mac, which isn't supported Change 3921833 by Joe.Graf Fixed bad defines that triggered errors when fixing the XCode 9.3 Beta errors #jira: UE-55752 Change 3926388 by Ryan.Vance #jira UE-55666 Precision conversion nonsense Change 3931840 by Mike.Beach Setting the new RemoteSession plugin to not auto-host. #jira UE-55841 Change 3626718 by Ryan.Vance Oculus changes for SI1.16 and SI1.17 Adds Vulkan and D3D12 improvements/fixes for VR, depth target allocation for VR plugins, Android thread naming and a number of new Oculus features. [CL 3932718 by Jeff Fisher in Main branch]
2018-03-07 17:03:49 -05:00
void UMotionControllerComponent::OnDisplayModelLoaded(UPrimitiveComponent* InDisplayComponent)
{
if (InDisplayComponent == DisplayComponent || DisplayModelLoadState == EModelLoadStatus::Pending)
{
if (InDisplayComponent)
{
const int32 MatCount = FMath::Min(InDisplayComponent->GetNumMaterials(), DisplayMeshMaterialOverrides.Num());
for (int32 MatIndex = 0; MatIndex < MatCount; ++MatIndex)
{
InDisplayComponent->SetMaterial(MatIndex, DisplayMeshMaterialOverrides[MatIndex]);
}
}
DisplayModelLoadState = EModelLoadStatus::Complete;
}
}