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

251 lines
10 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
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 "MotionTrackedDeviceFunctionLibrary.h"
#include "EngineGlobals.h"
#include "Engine/Engine.h"
#include "Features/IModularFeatures.h"
#include "IMotionController.h"
#include "IMotionTrackingSystemManagement.h"
#include "MotionControllerComponent.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640) #lockdown Nick.Penwarden #rb no.one ============================ MAJOR FEATURES & CHANGES ============================ Change 3543285 by Nick.Atamas Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... : Fixed UEVR-852: Adjusted Google Tango Plugins copyright to Copyright Google 2017. Removed Apache 2.0 license. Change 3767306 by Mike.Beach Adopting a set of video capture fixes from Darren Pegg: "Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0." + mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this #jira UE-49870, UE-50217, UE-50227, UE-50224 Change 3767317 by Mike.Beach [MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306. #jira UEVR-910 Change 3767484 by Mike.Beach Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3767489 by Mike.Beach Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3768155 by Ryan.Vance #jira UE-52089 Fixing cardboard only rendering in one eye. Change 3769011 by Douglas.Copeland Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map. Change 3769195 by Douglas.Copeland Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14 Change 3769256 by Douglas.Copeland Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat. Change 3769453 by Douglas.Copeland Resaving content to resolve engine content warning Change 3771076 by Keli.Hlodversson Add missing const to a ref parameter. Change 3771141 by Keli.Hlodversson Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD. #jira UE-52353 Change 3771602 by Mike.Beach Replacing temp Rift controller models with official ones from Oculus. #jira UEVR-830 Change 3774877 by Mike.Beach Refining MR calibration (WIP)... - New alignment process [WIP] - More modular calibration steps (for easier refactoring) - Stubbed in phase for lens calibration - Centralized interface for debug (dev) settings Change 3774880 by Mike.Beach Adopted changes from Oculus (SI1.21); stubbing in functionality for: - Lens matched shading - Dynamic screen refresh rate switching - Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency Change 3774922 by Mike.Beach Attempting CIS fix. Change 3774972 by Mike.Beach Making it so you can override the material on model components from the various XR systems (via MotionController component). Change 3774974 by Mike.Beach Missing assets from CL 3774877. Change 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3776135 by Mike.Beach MR [WIP] - Updating the calibration save process . - Now save after each calibration step - Stubbed in save data for lens distortion - Track progress and load you to the first incomplete calibration step Change 3777110 by Mike.Beach [WIP] MR - Adding ability to easily mirror monitor screen. Change 3777146 by Mike.Beach Removing superflous ensure that some of us were hitting. Change 3777417 by Mike.Beach [WIP] MR - Fixing alignment adjustment controls to match mirrored monitor. Change 3777436 by Nick.Atamas Initial check in of AugmentedReality module and ARKit support for it. Also adding QAARApp to test the use of these systems. Change 3778009 by Nick.Atamas Missing file Change 3778067 by Nick.Atamas Fixing CIS Change 3778155 by Nick.Atamas Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR Change 3778209 by Nick.Atamas More CIS fixing. Change 3778821 by Mike.Beach [WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily). Change 3779431 by Joe.Graf Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/ Change 3780822 by Keli.Hlodversson Adding OpenCV binaries plus build script to automatically fetch and rebuild it #jira UE-52725 Change 3781037 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781046 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781049 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781129 by Joe.Graf Fixed the warning generated by OpenCV.Build.cs Change 3783476 by Mike.Beach Attempt at fixing Win32 CIS errors. Change 3783845 by Martin.Wilson Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties Change 3784397 by Jeff.Fisher UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx) -This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins. -It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over. #jira UE-51390 #review-3779148 Change 3784545 by Jeff.Fisher Build fix for cl 3784397, made a local variable name unique. Change 3784553 by Chance.Ivey Stubbing Mobile AR Template files. Needs logic, icons and copy. Change 3784570 by Jeff.Fisher fix for cl 3784397 -Reverted monoscopicfarfield default change, accidentaly submit Change 3785134 by Mike.Beach [WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment. Change 3787180 by Mike.Beach Fixing up CIS #jira UE-52998, UE-52996 Change 3787272 by Mike.Beach Adopted changes from the anim team - Followup to CL 3787240. The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components. #jira UE-52783 Change 3787454 by Jeff.Fisher Adding brackets after if as specific in code review. Change 3787591 by Keli.Hlodversson Add tps files for OpenCV Change 3788478 by Mike.Beach Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system. #jira UEVR-1042, UEVR-1045, UEVR-1046 Change 3789836 by Jeff.Fisher UE-53069 Editor crashes on open without SteamVR attached -needed to check we are in stereo and device exists. -Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug #jira UE-53069 Change 3789841 by Mike.Beach CIS fix - fallout from CL 3787272. Change 3790102 by Jeff.Fisher UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS -Android shader compiler is a bit pickier on parameter matching, fixed the parameter. #jira UE-53079 Change 3790174 by Jeff.Fisher UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS -Another shader parameter match. #jira UE-53084 Change 3791727 by Mike.Beach Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components. #jira UE-53080 Change 3766717 by Mike.Beach Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin). Change 3771327 by Ryan.Vance #jira UE-52513 Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size. Change 3773348 by Mike.Beach Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Change 3787240 by Mike.Beach Adopting IMotionController changes from anim team (in support of LiveLink)... - MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource - Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile) - MotionSource Setter node has pin customization to show choice box instead of standard FName text box. - New base class for motion controllers XRMotionControllerBase.h/cpp - Provides default implementations for new functions (Enumerate Source, Custom Parameter etc) - Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change. - Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above). - Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource #jira UE-52783 Change 3787975 by Ryan.Vance Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) [CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
#include "XRMotionControllerBase.h" // for GetHandEnumForSourceName()
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 @ 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
DEFINE_LOG_CATEGORY_STATIC(LogMotionTracking, Log, All);
UMotionTrackedDeviceFunctionLibrary::UMotionTrackedDeviceFunctionLibrary(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
bool UMotionTrackedDeviceFunctionLibrary::IsMotionTrackedDeviceCountManagementNecessary()
{
return IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName());
}
void UMotionTrackedDeviceFunctionLibrary::SetIsControllerMotionTrackingEnabledByDefault(bool Enable)
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.SetIsControllerMotionTrackingEnabledByDefault(Enable);
}
}
int32 UMotionTrackedDeviceFunctionLibrary::GetMaximumMotionTrackedControllerCount()
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.GetMaximumMotionTrackedControllerCount();
}
else
{
return -1;
}
}
int32 UMotionTrackedDeviceFunctionLibrary::GetMotionTrackingEnabledControllerCount()
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.GetMotionTrackingEnabledControllerCount();
}
else
{
return -1;
}
}
bool UMotionTrackedDeviceFunctionLibrary::EnableMotionTrackingOfDevice(int32 PlayerIndex, EControllerHand Hand)
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.EnableMotionTrackingOfDevice(PlayerIndex, Hand);
}
else
{
// Return true if TrackingManagement is not available.
// It isn't available because we don't need to manage it like this, because everything is always tracked.
return true;
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640) #lockdown Nick.Penwarden #rb no.one ============================ MAJOR FEATURES & CHANGES ============================ Change 3543285 by Nick.Atamas Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... : Fixed UEVR-852: Adjusted Google Tango Plugins copyright to Copyright Google 2017. Removed Apache 2.0 license. Change 3767306 by Mike.Beach Adopting a set of video capture fixes from Darren Pegg: "Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0." + mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this #jira UE-49870, UE-50217, UE-50227, UE-50224 Change 3767317 by Mike.Beach [MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306. #jira UEVR-910 Change 3767484 by Mike.Beach Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3767489 by Mike.Beach Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3768155 by Ryan.Vance #jira UE-52089 Fixing cardboard only rendering in one eye. Change 3769011 by Douglas.Copeland Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map. Change 3769195 by Douglas.Copeland Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14 Change 3769256 by Douglas.Copeland Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat. Change 3769453 by Douglas.Copeland Resaving content to resolve engine content warning Change 3771076 by Keli.Hlodversson Add missing const to a ref parameter. Change 3771141 by Keli.Hlodversson Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD. #jira UE-52353 Change 3771602 by Mike.Beach Replacing temp Rift controller models with official ones from Oculus. #jira UEVR-830 Change 3774877 by Mike.Beach Refining MR calibration (WIP)... - New alignment process [WIP] - More modular calibration steps (for easier refactoring) - Stubbed in phase for lens calibration - Centralized interface for debug (dev) settings Change 3774880 by Mike.Beach Adopted changes from Oculus (SI1.21); stubbing in functionality for: - Lens matched shading - Dynamic screen refresh rate switching - Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency Change 3774922 by Mike.Beach Attempting CIS fix. Change 3774972 by Mike.Beach Making it so you can override the material on model components from the various XR systems (via MotionController component). Change 3774974 by Mike.Beach Missing assets from CL 3774877. Change 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3776135 by Mike.Beach MR [WIP] - Updating the calibration save process . - Now save after each calibration step - Stubbed in save data for lens distortion - Track progress and load you to the first incomplete calibration step Change 3777110 by Mike.Beach [WIP] MR - Adding ability to easily mirror monitor screen. Change 3777146 by Mike.Beach Removing superflous ensure that some of us were hitting. Change 3777417 by Mike.Beach [WIP] MR - Fixing alignment adjustment controls to match mirrored monitor. Change 3777436 by Nick.Atamas Initial check in of AugmentedReality module and ARKit support for it. Also adding QAARApp to test the use of these systems. Change 3778009 by Nick.Atamas Missing file Change 3778067 by Nick.Atamas Fixing CIS Change 3778155 by Nick.Atamas Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR Change 3778209 by Nick.Atamas More CIS fixing. Change 3778821 by Mike.Beach [WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily). Change 3779431 by Joe.Graf Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/ Change 3780822 by Keli.Hlodversson Adding OpenCV binaries plus build script to automatically fetch and rebuild it #jira UE-52725 Change 3781037 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781046 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781049 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781129 by Joe.Graf Fixed the warning generated by OpenCV.Build.cs Change 3783476 by Mike.Beach Attempt at fixing Win32 CIS errors. Change 3783845 by Martin.Wilson Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties Change 3784397 by Jeff.Fisher UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx) -This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins. -It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over. #jira UE-51390 #review-3779148 Change 3784545 by Jeff.Fisher Build fix for cl 3784397, made a local variable name unique. Change 3784553 by Chance.Ivey Stubbing Mobile AR Template files. Needs logic, icons and copy. Change 3784570 by Jeff.Fisher fix for cl 3784397 -Reverted monoscopicfarfield default change, accidentaly submit Change 3785134 by Mike.Beach [WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment. Change 3787180 by Mike.Beach Fixing up CIS #jira UE-52998, UE-52996 Change 3787272 by Mike.Beach Adopted changes from the anim team - Followup to CL 3787240. The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components. #jira UE-52783 Change 3787454 by Jeff.Fisher Adding brackets after if as specific in code review. Change 3787591 by Keli.Hlodversson Add tps files for OpenCV Change 3788478 by Mike.Beach Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system. #jira UEVR-1042, UEVR-1045, UEVR-1046 Change 3789836 by Jeff.Fisher UE-53069 Editor crashes on open without SteamVR attached -needed to check we are in stereo and device exists. -Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug #jira UE-53069 Change 3789841 by Mike.Beach CIS fix - fallout from CL 3787272. Change 3790102 by Jeff.Fisher UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS -Android shader compiler is a bit pickier on parameter matching, fixed the parameter. #jira UE-53079 Change 3790174 by Jeff.Fisher UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS -Another shader parameter match. #jira UE-53084 Change 3791727 by Mike.Beach Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components. #jira UE-53080 Change 3766717 by Mike.Beach Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin). Change 3771327 by Ryan.Vance #jira UE-52513 Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size. Change 3773348 by Mike.Beach Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Change 3787240 by Mike.Beach Adopting IMotionController changes from anim team (in support of LiveLink)... - MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource - Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile) - MotionSource Setter node has pin customization to show choice box instead of standard FName text box. - New base class for motion controllers XRMotionControllerBase.h/cpp - Provides default implementations for new functions (Enumerate Source, Custom Parameter etc) - Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change. - Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above). - Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource #jira UE-52783 Change 3787975 by Ryan.Vance Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) [CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
bool UMotionTrackedDeviceFunctionLibrary::EnableMotionTrackingOfSource(int32 PlayerIndex, FName SourceName)
{
EControllerHand Hand = EControllerHand::Special_11;
if (FXRMotionControllerBase::GetHandEnumForSourceName(SourceName, Hand))
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.EnableMotionTrackingOfDevice(PlayerIndex, Hand);
}
}
// Return true if TrackingManagement is not available.
// It isn't available because we don't need to manage it like this, because everything is always tracked.
return true;
}
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 UMotionTrackedDeviceFunctionLibrary::EnableMotionTrackingForComponent(UMotionControllerComponent* MotionControllerComponent)
{
if (MotionControllerComponent == nullptr)
{
return false;
}
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 EnableMotionTrackingOfSource(MotionControllerComponent->PlayerIndex, MotionControllerComponent->MotionSource);
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 UMotionTrackedDeviceFunctionLibrary::DisableMotionTrackingOfDevice(int32 PlayerIndex, EControllerHand Hand)
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
MotionTrackingSystemManagement.DisableMotionTrackingOfDevice(PlayerIndex, 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
void UMotionTrackedDeviceFunctionLibrary::DisableMotionTrackingOfSource(int32 PlayerIndex, FName SourceName)
{
EControllerHand Hand = EControllerHand::Special_11;
if (FXRMotionControllerBase::GetHandEnumForSourceName(SourceName, Hand))
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
MotionTrackingSystemManagement.DisableMotionTrackingOfDevice(PlayerIndex, Hand);
}
}
}
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 UMotionTrackedDeviceFunctionLibrary::DisableMotionTrackingForComponent(const UMotionControllerComponent* MotionControllerComponent)
{
if (MotionControllerComponent == nullptr)
{
return;
}
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
DisableMotionTrackingOfSource(MotionControllerComponent->PlayerIndex, MotionControllerComponent->MotionSource);
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 UMotionTrackedDeviceFunctionLibrary::IsMotionTrackingEnabledForDevice(int32 PlayerIndex, EControllerHand Hand)
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.IsMotionTrackingEnabledForDevice(PlayerIndex, Hand);
}
else
{
// Return true if TrackingManagement is not available.
// It isn't available because we don't need to manage it like this, because everything is always tracked.
return true;
}
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3794640) #lockdown Nick.Penwarden #rb no.one ============================ MAJOR FEATURES & CHANGES ============================ Change 3543285 by Nick.Atamas Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... : Fixed UEVR-852: Adjusted Google Tango Plugins copyright to Copyright Google 2017. Removed Apache 2.0 license. Change 3767306 by Mike.Beach Adopting a set of video capture fixes from Darren Pegg: "Windows 7 : fix capture problems by reinitializing tracks, only active on windows < 8.0." + mirroring CL 3741444 ("Add windows 10 support to the application manifest"), which was needed for this #jira UE-49870, UE-50217, UE-50227, UE-50224 Change 3767317 by Mike.Beach [MR] Fixing up the mixed reality framework's async BP nodes (handling MediaPlayer assets set to not play-on-open - preventing a crash and keeping the stream playing), so they work with the changes to the WMF media player introduced in CL 3767306. #jira UEVR-910 Change 3767484 by Mike.Beach Correcting user facing messages/tooltips to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3767489 by Mike.Beach Correcting source comment to use the proper trademarked "Gear VR" name (not "GearVR" without a space). Change 3768155 by Ryan.Vance #jira UE-52089 Fixing cardboard only rendering in one eye. Change 3769011 by Douglas.Copeland Removing Clipping Planes from TM-HMDNodes (Level and LevelBP. Feature removed). Rebuilding Map. Change 3769195 by Douglas.Copeland Removing AA PostProcessing Volumes in TM-VRSmoke. AA does not change via PP Volumes since 4.14 Change 3769256 by Douglas.Copeland Removing TM-VRLandscapeFoliage Map. Never used in suite/bloat. Change 3769453 by Douglas.Copeland Resaving content to resolve engine content warning Change 3771076 by Keli.Hlodversson Add missing const to a ref parameter. Change 3771141 by Keli.Hlodversson Fix world locked stereo layer positions on SteamVR when there is a camera component representing the HMD. #jira UE-52353 Change 3771602 by Mike.Beach Replacing temp Rift controller models with official ones from Oculus. #jira UEVR-830 Change 3774877 by Mike.Beach Refining MR calibration (WIP)... - New alignment process [WIP] - More modular calibration steps (for easier refactoring) - Stubbed in phase for lens calibration - Centralized interface for debug (dev) settings Change 3774880 by Mike.Beach Adopted changes from Oculus (SI1.21); stubbing in functionality for: - Lens matched shading - Dynamic screen refresh rate switching - Added BP API calls: GetGPUUtilization, GetTiledMultiresLevel , SetTiledMultiresLevel, GetDeviceName, GetAvailableDisplayFrequencies, GetCurrentDisplayFrequency, SetDisplayFrequency Change 3774922 by Mike.Beach Attempting CIS fix. Change 3774972 by Mike.Beach Making it so you can override the material on model components from the various XR systems (via MotionController component). Change 3774974 by Mike.Beach Missing assets from CL 3774877. Change 3775128 by Nick.Atamas Merging //UE4/Partner-Google-VR @ CL 3770408 to Dev-VR (//UE4/Dev-VR) Change 3776135 by Mike.Beach MR [WIP] - Updating the calibration save process . - Now save after each calibration step - Stubbed in save data for lens distortion - Track progress and load you to the first incomplete calibration step Change 3777110 by Mike.Beach [WIP] MR - Adding ability to easily mirror monitor screen. Change 3777146 by Mike.Beach Removing superflous ensure that some of us were hitting. Change 3777417 by Mike.Beach [WIP] MR - Fixing alignment adjustment controls to match mirrored monitor. Change 3777436 by Nick.Atamas Initial check in of AugmentedReality module and ARKit support for it. Also adding QAARApp to test the use of these systems. Change 3778009 by Nick.Atamas Missing file Change 3778067 by Nick.Atamas Fixing CIS Change 3778155 by Nick.Atamas Spot merging CL 3777463 //UE4/Partner-Google-VR to //UE4/Dev-VR Change 3778209 by Nick.Atamas More CIS fixing. Change 3778821 by Mike.Beach [WIP] MR - Moving the alignment point system to pull from an easily modifiable DataTable (so we can change easily). Change 3779431 by Joe.Graf Merging using //UE4/Dev-Editor/_to_//UE4/Dev-VR/ Change 3780822 by Keli.Hlodversson Adding OpenCV binaries plus build script to automatically fetch and rebuild it #jira UE-52725 Change 3781037 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781046 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781049 by Joe.Graf Merging hlslcc changes using //UE4/Dev-Rendering/__to__//UE4/Dev-VR/ Change 3781129 by Joe.Graf Fixed the warning generated by OpenCV.Build.cs Change 3783476 by Mike.Beach Attempt at fixing Win32 CIS errors. Change 3783845 by Martin.Wilson Allow deprecated properties to still be accessed in blueprints so long as they have Blueprint Getters and Setters. Allows us to have a clean deprecation path for blueprint accessed properties Change 3784397 by Jeff.Fisher UE-51390 GitHub 4141 : Allow VR plugins to have multiple viewports and rotated eye orientations PR #4141: Allow VR plugins to have multiple viewports and rotated eye orientations (Contributed by AustinPuk-Conffx) -This loosens some assumptions in the api about how many stereo render passes there are to allow plugins to implement more than we currently use for any of our plugins. -It also starts to replace some comparison test logic with the stereo pass enum values with IStereoRendering helper functions, do avoid duplicating the expressions all over. #jira UE-51390 #review-3779148 Change 3784545 by Jeff.Fisher Build fix for cl 3784397, made a local variable name unique. Change 3784553 by Chance.Ivey Stubbing Mobile AR Template files. Needs logic, icons and copy. Change 3784570 by Jeff.Fisher fix for cl 3784397 -Reverted monoscopicfarfield default change, accidentaly submit Change 3785134 by Mike.Beach [WIP] MR - Correcting some of the alignment algorithms & adding a preview key for the new alignment. Change 3787180 by Mike.Beach Fixing up CIS #jira UE-52998, UE-52996 Change 3787272 by Mike.Beach Adopted changes from the anim team - Followup to CL 3787240. The LiveLink framework is now implementing the new IMotionController interface, and supplying tracking+ data through the engine's MotionController components. #jira UE-52783 Change 3787454 by Jeff.Fisher Adding brackets after if as specific in code review. Change 3787591 by Keli.Hlodversson Add tps files for OpenCV Change 3788478 by Mike.Beach Switching over the MR calibration process to use the new MotionController source ID (rather than the deprecated Hand enum). Also, adding device attachment selection to the first calibration step and switching it to use the new modular interface system. #jira UEVR-1042, UEVR-1045, UEVR-1046 Change 3789836 by Jeff.Fisher UE-53069 Editor crashes on open without SteamVR attached -needed to check we are in stereo and device exists. -Note just having the morpheus plugin enabled creates a device, so you need to have that disabled to reproduce this bug #jira UE-53069 Change 3789841 by Mike.Beach CIS fix - fallout from CL 3787272. Change 3790102 by Jeff.Fisher UE-53079 Packaging for android results in a critical error referencing global shader FHdrCustomResolveFMask4xPS -Android shader compiler is a bit pickier on parameter matching, fixed the parameter. #jira UE-53079 Change 3790174 by Jeff.Fisher UE-53084 Mac editor crashes on open, Failed to compile global shader FWideCustomResolve8_2x_truePS -Another shader parameter match. #jira UE-53084 Change 3791727 by Mike.Beach Fallout from CL 3787272 - missed use of now deprecated Hand property on MotionController components. #jira UE-53080 Change 3766717 by Mike.Beach Adding a TrackingToWorld transform to IXRTrackingSystem - default impl updates the cached transform once per frame (at the begining) and determines it from the project's camera setup (making the assumption the camera's root is the XR origin). Change 3771327 by Ryan.Vance #jira UE-52513 Fixing console rendering. The ortho projections were taking screen percentage of the panel into account for size instead of pixeldensity * ideal size. Change 3773348 by Mike.Beach Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) Change 3787240 by Mike.Beach Adopting IMotionController changes from anim team (in support of LiveLink)... - MotionControllerComponent EControllerHand Hand is deprecated, replaced by FName MotionSource - Blueprint get set nodes for the Hand property will still function but will warn as deprecated, this is achieved via using deprecated BlueprintGetter and BlueprintSetter on the property (plus a change to UHT to allow that to compile) - MotionSource Setter node has pin customization to show choice box instead of standard FName text box. - New base class for motion controllers XRMotionControllerBase.h/cpp - Provides default implementations for new functions (Enumerate Source, Custom Parameter etc) - Provides wrapper functions that take EControllerHand so that the controllers themselves dont have to change. - Motion Source custom choice box. Polls MotionControllers for sources via EnumerateSources interface. Also allows custom text type in. Is Exposed to details panel and setter pin (as above). - Added a Dev-VR custom version for reading the Hand property and moving it to MotionSource #jira UE-52783 Change 3787975 by Ryan.Vance Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR) [CL 3794679 by Mike Beach in Main branch]
2017-12-07 13:42:10 -05:00
bool UMotionTrackedDeviceFunctionLibrary::IsMotionTrackingEnabledForSource(int32 PlayerIndex, FName SourceName)
{
EControllerHand Hand = EControllerHand::Special_11;
if (FXRMotionControllerBase::GetHandEnumForSourceName(SourceName, Hand))
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.IsMotionTrackingEnabledForDevice(PlayerIndex, Hand);
}
}
// Return true if TrackingManagement is not available.
// It isn't available because we don't need to manage it like this, because everything is always tracked.
return true;
}
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 UMotionTrackedDeviceFunctionLibrary::IsMotionTrackingEnabledForComponent(const UMotionControllerComponent* MotionControllerComponent)
{
if (MotionControllerComponent == nullptr)
{
return false;
}
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 IsMotionTrackingEnabledForSource(MotionControllerComponent->PlayerIndex, MotionControllerComponent->MotionSource);
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 UMotionTrackedDeviceFunctionLibrary::DisableMotionTrackingOfAllControllers()
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.DisableMotionTrackingOfAllControllers();
}
}
void UMotionTrackedDeviceFunctionLibrary::DisableMotionTrackingOfControllersForPlayer(int32 PlayerIndex)
{
if (IModularFeatures::Get().IsModularFeatureAvailable(IMotionTrackingSystemManagement::GetModularFeatureName()))
{
IMotionTrackingSystemManagement& MotionTrackingSystemManagement = IModularFeatures::Get().GetModularFeature<IMotionTrackingSystemManagement>(IMotionTrackingSystemManagement::GetModularFeatureName());
return MotionTrackingSystemManagement.DisableMotionTrackingOfControllersForPlayer(PlayerIndex);
}
}
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
TArray<FName> UMotionTrackedDeviceFunctionLibrary::EnumerateMotionSources()
{
TArray<FName> SourceList;
TArray<IMotionController*> MotionControllers = IModularFeatures::Get().GetModularFeatureImplementations<IMotionController>(IMotionController::GetModularFeatureName());
for (IMotionController* MotionController : MotionControllers)
{
if (MotionController)
{
TArray<FMotionControllerSource> MotionSources;
MotionController->EnumerateSources(MotionSources);
SourceList.Reserve(SourceList.Num() + MotionSources.Num());
for (const FMotionControllerSource& Source : MotionSources)
{
SourceList.AddUnique(Source.SourceName);
}
}
}
return SourceList;
}
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
FName UMotionTrackedDeviceFunctionLibrary::GetActiveTrackingSystemName()
{
IXRTrackingSystem* TrackingSys = GEngine->XRSystem.Get();
return TrackingSys ? TrackingSys->GetSystemName() : NAME_None;
}
bool UMotionTrackedDeviceFunctionLibrary::IsMotionSourceTracking(int32 PlayerIndex, FName SourceName)
{
bool bIsTracking = false;
if (SourceName == FXRMotionControllerBase::HMDSourceId)
{
IXRTrackingSystem* TrackingSys = GEngine->XRSystem.Get();
if (TrackingSys)
{
bIsTracking = TrackingSys->IsTracking(IXRTrackingSystem::HMDDeviceId);
}
}
else
{
TArray<IMotionController*> MotionControllers = IModularFeatures::Get().GetModularFeatureImplementations<IMotionController>(IMotionController::GetModularFeatureName());
for (IMotionController* MotionController : MotionControllers)
{
if (MotionController)
{
if (MotionController->GetControllerTrackingStatus(PlayerIndex, SourceName) != ETrackingStatus::NotTracked)
{
bIsTracking = true;
break;
}
}
}
}
return bIsTracking;
}