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

536 lines
18 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 "PrimitiveSceneProxy.h"
#include "Misc/ScopeLock.h"
#include "Features/IModularFeatures.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 "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 "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 @ 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
#include UE_INLINE_GENERATED_CPP_BY_NAME(MotionControllerComponent)
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);
UMotionControllerComponent::FActivateVisualizationComponent UMotionControllerComponent::OnActivateVisualizationComponent;
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 @ 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;
MotionSource = IMotionController::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
}
}
//=============================================================================
FName UMotionControllerComponent::GetTrackingMotionSource()
{
return MotionSource;
}
//=============================================================================
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();
float WorldToMeters = GetWorld() ? GetWorld()->GetWorldSettings()->WorldToMeters : 100.0f;
const bool bNewTrackedState = PollControllerState_GameThread(Position, Orientation, bProvidedLinearVelocity, LinearVelocity, bProvidedAngularVelocity, AngularVelocityAsAxisAndLength, bProvidedLinearAcceleration, LinearAcceleration, WorldToMeters);
if (bNewTrackedState)
{
// Only update the location and rotation if we are tracking because we want the controller to stay in place rather than pop to 0,0,0.
// Note we do update the velocity and acceleration values even if untracked because we won't see any change in the position this frame.
// This means that for brief tracking dropouts position and orientation should behave somewhat gracefully even without interpolation, but velocity/acceleration will show snaps to zero.
SetRelativeLocationAndRotation(Position, Orientation);
}
// if controller tracking just kicked in or we haven't started rendering in the (possibly present)
// visualization component.
if (!bTracked && bNewTrackedState)
{
OnActivateVisualizationComponent.Broadcast(true);
}
bTracked = bNewTrackedState;
if (!ViewExtension.IsValid() && GEngine)
{
ViewExtension = FSceneViewExtensions::NewExtension<FViewExtension>(this);
}
}
}
//=============================================================================
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();
}
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::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;
IMotionController::GetHandEnumForSourceName(MotionSource, Hand);
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
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);
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::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
}
}
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())
{
bool OutbProvidedLinearVelocity;
bool OutbProvidedAngularVelocity;
bool OutbProvidedLinearAcceleration;
FVector OutLinearVelocity;
FVector OutAngularVelocityAsAxisAndLength;
FVector OutLinearAcceleration;
return PollControllerState_GameThread(Position, Orientation, OutbProvidedLinearVelocity, OutLinearVelocity, OutbProvidedAngularVelocity, OutAngularVelocityAsAxisAndLength, OutbProvidedLinearAcceleration, OutLinearAcceleration, WorldToMetersScale);
}
else
{
return PollControllerState_RenderThread(Position, Orientation, WorldToMetersScale);
}
}
bool UMotionControllerComponent::PollControllerState_GameThread(FVector& Position, FRotator& Orientation, bool& OutbProvidedLinearVelocity, FVector& OutLinearVelocity, bool& OutbProvidedAngularVelocity, FVector& OutAngularVelocityAsAxisAndLength, bool& OutbProvidedLinearAcceleration, FVector& OutLinearAcceleration, float WorldToMetersScale)
{
check(IsInGameThread());
// Cache state from the game thread for use on the render thread
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)
{
{
FScopeLock Lock(&PolledMotionControllerMutex);
PolledMotionController_GameThread = nullptr;
bPolledHMD_GameThread = false;
}
TArray<IMotionController*> MotionControllers;
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, OutbProvidedLinearVelocity, OutLinearVelocity, OutbProvidedAngularVelocity, OutAngularVelocityAsAxisAndLength, OutbProvidedLinearAcceleration, OutLinearAcceleration, WorldToMetersScale))
{
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 == IMotionController::HMDSourceId)
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
{
IXRTrackingSystem* TrackingSys = GEngine->XRSystem.Get();
if (TrackingSys)
{
FQuat OrientationQuat;
if (TrackingSys->GetCurrentPose(IXRTrackingSystem::HMDDeviceId, OrientationQuat, Position))
{
Orientation = OrientationQuat.Rotator();
{
FScopeLock Lock(&PolledMotionControllerMutex);
bPolledHMD_GameThread = true; // We only want a render thread update from the hmd if we polled it on the game thread.
}
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
return true;
}
}
}
}
return false;
}
bool UMotionControllerComponent::PollControllerState_RenderThread(FVector& Position, FRotator& Orientation, float WorldToMetersScale)
{
check(IsInRenderingThread());
if (PolledMotionController_RenderThread)
{
CurrentTrackingStatus = PolledMotionController_RenderThread->GetControllerTrackingStatus(PlayerIndex, MotionSource);
if (PolledMotionController_RenderThread->GetControllerOrientationAndPosition(PlayerIndex, MotionSource, Orientation, Position, WorldToMetersScale))
{
return true;
}
}
if (bPolledHMD_RenderThread)
{
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(FRDGBuilder& GraphBuilder, 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;
MotionControllerComponent->bPolledHMD_RenderThread = MotionControllerComponent->bPolledHMD_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();
if (!MotionControllerComponent->PollControllerState_RenderThread(Position, Orientation, WorldToMetersScale))
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;
}
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
//=============================================================================
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;
}
}
//=============================================================================
bool UMotionControllerComponent::GetLinearVelocity(FVector& OutLinearVelocity) const
{
const IXRTrackingSystem* const TrackingSys = GEngine->XRSystem.Get();
const FTransform TrackingToWorldTransform = TrackingSys ? TrackingSys->GetTrackingToWorldTransform() : FTransform::Identity;
OutLinearVelocity = TrackingToWorldTransform.TransformVector(LinearVelocity);
return bProvidedLinearVelocity;
}
//=============================================================================
bool UMotionControllerComponent::GetAngularVelocity(FRotator& OutAngularVelocity) const
{
const IXRTrackingSystem* const TrackingSys = GEngine->XRSystem.Get();
const FTransform TrackingToWorldTransform = TrackingSys ? TrackingSys->GetTrackingToWorldTransform() : FTransform::Identity;
FVector WorldVector = TrackingToWorldTransform.TransformVector(AngularVelocityAsAxisAndLength);
// Note: the rotator may contain rotations greater than 180 or 360 degrees, and some mathmatical operations (eg conversion to quaternion) would lose those.
OutAngularVelocity = IMotionController::AngularVelocityAsAxisAndLengthToRotator(WorldVector);
return bProvidedAngularVelocity;
}
//=============================================================================
bool UMotionControllerComponent::GetLinearAcceleration(FVector& OutLinearAcceleration) const
{
const IXRTrackingSystem* const TrackingSys = GEngine->XRSystem.Get();
const FTransform TrackingToWorldTransform = TrackingSys ? TrackingSys->GetTrackingToWorldTransform() : FTransform::Identity;
OutLinearAcceleration = TrackingToWorldTransform.TransformVector(LinearAcceleration);
return bProvidedLinearAcceleration;
}