2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 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;
|
|
|
|
|
}
|
2018-06-20 14:28:10 -04:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|