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 "HeadMountedDisplayBase.h"
# include "DefaultStereoLayers.h"
# include "EngineAnalytics.h"
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
# include "Interfaces/IAnalyticsProvider.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3012064 on 2016/06/13 by Nick.Whiting
Merging Main -> DevVR
Change 3048060 on 2016/07/13 by Nick.Whiting
Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR
Upgrade Android and iOS GVR SDK to the latest.
Fix the flipped vignette issue when using Unreal's post processing distortion.
Change the Daydream & Cardboard mode to use scanline racing.
Deprecate the ability to turn off individual UI elements.
Change 3235307 on 2016/12/14 by Keli.Hlodversson
Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit
Change 3235308 on 2016/12/14 by Ryan.Vance
#jira UEVR-478
Monoscopic far field improvements
Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile.
Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled.
Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined.
Addressed code review comments.
Change 3235397 on 2016/12/14 by Keli.Hlodversson
[Oculus] Only enable GearVR platform on Windows if Oculus service is running
Original author: Loren.McQuade
Change 3235762 on 2016/12/14 by Keli.Hlodversson
Add explicit parentheses to placate the build bots.
Change 3242318 on 2016/12/21 by Ryan.Vance
Working around pixel density crash.
Change 3242522 on 2016/12/21 by Ryan.Vance
Missing flag clear so our adaptive test was always returning true.
Change 3243173 on 2016/12/22 by Ryan.Vance
Integrating post present callback implementation from 4.14.1
Change 3248633 on 2017/01/05 by Keli.Hlodversson
Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3248723 on 2017/01/05 by Keli.Hlodversson
Fix after merge. EnablePositionalTracking no longer exists.
Change 3249484 on 2017/01/06 by Keli.Hlodversson
Add missing includes
Change 3249714 on 2017/01/06 by Keli.Hlodversson
Remove monolithic header include
Change 3249980 on 2017/01/06 by Keli.Hlodversson
SteamVR: Remove leftover unused WindowMirrorMode member variable
Change 3252432 on 2017/01/10 by Keli.Hlodversson
Submitting change by Loren McQuade to fix monolithic builds.
Unshelved from pending changelist '3251436':
Change 3257373 on 2017/01/13 by Keli.Hlodversson
#jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands
#jira UEVR-412: Rename and merge remaining Morpheus console commands
#jira UEVR-417: Remove Exec from IHeadMountedDisplay
Change 3269971 on 2017/01/24 by Jeff.Fisher
UEVR-498 move controller is missing world to meters
UEVR-522 PS4 motion controller worldscale support.
-Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level.
-Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update.
#jira UEVR-498
#review-3384107
Change 3288308 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity
-PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed.
-Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before.
-Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4.
-Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint.
-With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit.
-PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected.
-DS4 controller no longer jumps back to 000 if it loses tracking.
#review-3384107
#jira UEVR-517
Change 3288309 on 2017/02/06 by Keli.Hlodversson
Add file missing from CL#3257373.
Change 3288311 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity - Test content.
-tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum.
-ctrl-A disables tracking of all controllers
-alt-A disables tracking of all controllers for player 0
-ctrl-D toggles enabling new controllers by default
-Also fixed one button not working in one of the other test modes for the Aim (gun) controller.
-The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera.
-This logic is in the QA_MoCoAll blueprint.
Change 3291601 on 2017/02/07 by Jeff.Fisher
UEVR-536 PSVR motion controller tracking problem with multiple controllers
-Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread.
#jira UEVR-536
#review-3384107 @Ryan.Vance
Change 3292460 on 2017/02/08 by Jeff.Fisher
PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added.
Change 3308771 on 2017/02/17 by Keli.Hlodversson
Rename GoogleVR console commands
#jira UEVR-412
Change 3309156 on 2017/02/17 by Keli.Hlodversson
Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly.
Change 3311999 on 2017/02/20 by Keli.Hlodversson
Create a default implementation for RecordAnalytics.
Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality.
Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown"
#jira UE-21878
#jira UEVR-213
Change 3313467 on 2017/02/20 by Ryan.Vance
#jira UE-41604
3278583
pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped.
3278536
Adding ovrError_NoHmd to our sanity check in OnStartGameFrame.
Change 3314002 on 2017/02/21 by Keli.Hlodversson
Fix compilation on PS4 and Linux
Change 3326722 on 2017/03/01 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Integrating 4.15 from main.
Change 3327567 on 2017/03/01 by Jeff.Fisher
UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered.
Duplicating from Release-4.15 cl 3327481, 3327542
-Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused.
#jira UEVR-588
#review-3384107
Change 3328098 on 2017/03/01 by Jeff.Fisher
4.15 merge fixes
-Fixed deprecated enum name function usage.
-Fixed world scale usage in GoogleVRController.
-Fixed compile break in PS4Tracker.
Change 3328271 on 2017/03/01 by Jeff.Fisher
2.15 merge
-restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere.
Change 3328307 on 2017/03/01 by Jeff.Fisher
4.15 merge
-More googlevr worldscale fixes.
Change 3328312 on 2017/03/01 by Jeff.Fisher
4.15 merge
-removing 2 unused includes
Change 3330610 on 2017/03/02 by Jeff.Fisher
4.15 merge
-fixing linux build
Change 3333952 on 2017/03/06 by Keli.Hlodversson
Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not.
#jira UEVR-628
#jira UE-42555
Change 3334961 on 2017/03/07 by Keli.Hlodversson
Add missing include to fix non-unity builds
Change 3336200 on 2017/03/07 by Keli.Hlodversson
Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs)
* Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.)
* Switch apparently doesn't know how to format a size_t for analytics either.
Also: Typo in backwards compatibility command name alias
Change 3337347 on 2017/03/08 by Jeff.Fisher
UE-42631 Stereo off while prox sensor uncovered causes low framerate
-Setting maxfps appropriately on 'stereo on/off'.
#review-3384107
#jira UE-42631
Change 3338385 on 2017/03/08 by Ryan.Vance
r.DisableDistortion was only being used for the mobile renderer
Change 3342301 on 2017/03/10 by patrickr.donovan
Test updates to TM-VRSmoke.
Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset.
Rebuilt lighting.
Change 3348133 on 2017/03/15 by Ryan.Vance
Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway.
Change 3348836 on 2017/03/15 by Ryan.Vance
Direct multi-view support for gear vr
Monoscopic far field with multi-view (blit and direct) support for gear vr
Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly)
Fixed missing discards/clears in the multi-view blit
Change 3348843 on 2017/03/15 by Ryan.Vance
Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16.
Change 3349276 on 2017/03/16 by Keli.Hlodversson
Fixing compile errors in GoogleVR after merge from main.
Change 3350932 on 2017/03/16 by Ryan.Vance
Re-enabling the gearvr plugin on windows.
Change 3351977 on 2017/03/17 by Jeff.Fisher
Fixing masked member variable.
Change 3352314 on 2017/03/17 by Ryan.Vance
We need to ensure that we don't select different lod levels for each eye.
Change 3352993 on 2017/03/17 by Nick.Whiting
Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D
Change 3355185 on 2017/03/20 by Nick.Whiting
Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working
Change 3355676 on 2017/03/20 by Nick.Whiting
PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications
Change 3357286 on 2017/03/21 by Jeff.Fisher
Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago.
Change 3357435 on 2017/03/21 by Jeff.Fisher
Fixing editor build break, looks like a merge mistake.
Change 3359960 on 2017/03/23 by Keli.Hlodversson
Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor.
Change 3361230 on 2017/03/23 by Jeff.Fisher
Fixing linux build opengl include problem... maybe.
Change 3361638 on 2017/03/23 by Jeff.Fisher
Another guess at fixing linux build.
Change 3364224 on 2017/03/24 by Keli.Hlodversson
Initial implementation of UEVR-576 - Base emulated layer implementation
#jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation
#jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support
#jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support
#jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support
#jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer
Change 3364242 on 2017/03/24 by Keli.Hlodversson
SteamVR layers do not support negatve Layer priorities
Change 3364263 on 2017/03/24 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up.
Change 3364472 on 2017/03/24 by Jeff.Fisher
Merge fix
Change 3364475 on 2017/03/24 by Jeff.Fisher
Fixing gearvr include.
Change 3364486 on 2017/03/24 by Jeff.Fisher
merge fix
Change 3364532 on 2017/03/24 by Ryan.Vance
pso update for mono rendering and stereo layers.
Change 3364599 on 2017/03/24 by Ryan.Vance
Oculus changes for SI1.12
Change 3365159 on 2017/03/26 by Jeff.Fisher
include fix
Change 3365182 on 2017/03/26 by Jeff.Fisher
include fix
Change 3366087 on 2017/03/27 by Ryan.Vance
Remaining files from Oculus changes for SI1.12 merge request.
Fixing a bug in OnlineSubsystem.
Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue.
Change 3366492 on 2017/03/27 by Ryan.Vance
#jira UE-43294
Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes.
Going to leave the shader clear in the rift prerender for clearing the eye padding for now.
Change 3366929 on 2017/03/27 by Ryan.Vance
Fixing compile error
Change 3368549 on 2017/03/28 by Jeff.Fisher
Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR
Upgrade Google VR Plugin to v1.3:
*Upgraded GVR NDK to 1.30.0
*Changed some BlueprintFunction to use BlueprintPure
*Add the missing bDaydream flag in UEDeployAndroid.cs
#review-3384107
Change 3368975 on 2017/03/28 by Ryan.Vance
CIS clean up
#jira UE-43428, UE-43429, UE-43426, UE-43427
Change 3369028 on 2017/03/28 by Ryan.Vance
This is not exacly 'correct', but it's at least what the code was trying to do.
Change 3370203 on 2017/03/29 by Ryan.Vance
Adding gear vr controller component support.
Change 3370918 on 2017/03/29 by Ryan.Vance
Merging 3370569 using Partner-Google-VR_to_DevVR
Change 3371030 on 2017/03/29 by Ryan.Vance
Fixing linux build errors
#jira UE-43426
Change 3371036 on 2017/03/29 by Ryan.Vance
Oculus 4.16 integration.
Not terribly happy with the use of std::string. They promised to clean this up for the next release.
Change 3373495 on 2017/03/30 by Jeff.Fisher
Merging from Dev-Main, in preparation for 4.16
Change 3373578 on 2017/03/30 by Jeff.Fisher
build break, one comma short
Change 3373870 on 2017/03/31 by Jeff.Fisher
Include order fix.
Change 3374001 on 2017/03/31 by Keli.Hlodversson
Use DefaultStereoLayers as base for Morpheus implementation.
#jira UEVR-709 #jira UE-42919
#rb: Jeff.Fisher
Change 3374004 on 2017/03/31 by Keli.Hlodversson
Fix rendering for the default Stereo Layers implementation on mobile.
Depth test was set to "Never" instead of "Always"
Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms.
Change 3375125 on 2017/03/31 by Jeff.Fisher
UE-43506 Ensure using VRPreview with GoogleVR
-Removed the ensure, there is code in there to handle that case, and it works.
#jira UE-43506
Change 3375294 on 2017/03/31 by nick.bullard
Resaving Plugin content to resovle "saved with empty engine version"
#jira UE-43537
Change 3375480 on 2017/03/31 by Jeff.Fisher
UEVR-9 PSVR: Social Screen Support
-Experimental social screen support for 4.16.
-This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor.
-Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play).
-There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers.
-MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode).
-Also finally updated the bEnabled flag in project settings to tell people it's only for PC.
#jira UEVR-9
#review-3384107
Change 3375540 on 2017/03/31 by Ryan.Vance
#jira UE-43504
Fixing android build break when using a 64 bit isa.
Change 3375655 on 2017/03/31 by Jeff.Fisher
Fixing missing RGBAToYUV shader problem
-This at least unblocks our process. Will revisit before zbr.
Change 3375820 on 2017/04/01 by Jeff.Fisher
Fixing linux build warning about HAS_MORPHEUS
Change 3376050 on 2017/04/02 by Jeff.Fisher
UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings
-Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings.
-Just wrap all standard headers in static analysis disables.
#jira UE-43515
Change 3376609 on 2017/04/03 by Jeff.Fisher
Fixing rgbatoyuvshader include.
Change 3377001 on 2017/04/03 by Jeff.Fisher
UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS
- shader c++ must be compiled so that it can be cooked for ps4.
#jira UE-43547
Change 3379858 on 2017/04/04 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
pulling main this should get us ps4 sdk 4.508
Change 3379938 on 2017/04/04 by Ryan.Vance
#jira UE-43548
If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them.
The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene.
Change 3381519 on 2017/04/05 by Jeff.Fisher
UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect.
-Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status.
#jira UEVR-733
#review-3384107
Change 3382019 on 2017/04/05 by Ryan.Vance
Linux: add Vulkan support from dev editor: 3381593
Change 3382021 on 2017/04/05 by Ryan.Vance
SteamVR on Linux using Vulkan
OpenVR rev to 1_0_6
PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro)
Change 3382076 on 2017/04/05 by Ryan.Vance
Fixing linux steamvr lib path. It changed to something less silly in 1.0.6
Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed.
Change 3383237 on 2017/04/06 by Ryan.Vance
#jira UE-43732
Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now.
Change 3383353 on 2017/04/06 by Ryan.Vance
Fixing include cycles.
Change 3383509 on 2017/04/06 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
merging the stuff from dev-mobile
[CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
# include "AnalyticsEventAttribute.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3512802)
#lockdown Nick.Penwarden
#rb no.one
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3060975 by Ryan.Vance
Integrating 3058175 from Oculus
Change 3466079 by Nick.Atamas
Added rudimentary collision support to MrMesh.
Change 3468111 by Mike.Beach
Give the SceneRender component's scene view a specific ViewActor (the component's owner). This lets us set bOnlyOwnerSee on components belonging to the same actor, and have it only showup in the render scene view.
Change 3468267 by Nick.Atamas
Now using non-interleaved data in MRMeshComponent
Change 3468475 by Mike.Beach
Initial checkin for new mixed reality plugin (WIP). New MixedReality capture component, intended to mimic a real world camera.
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
#jira UEVR-795, UEVR-789
Change 3468483 by Mike.Beach
Marking the new MixedReality plugin as experimental (as it is incomplete and a WIP)
Change 3468511 by Mike.Beach
CIS fixes for fallout from CL 3468475.
Change 3469754 by Mike.Beach
CIS compiler error fixes (fallout from CL 3468475).
Change 3470407 by Mike.Beach
*sigh* more CIS fixes (fallout from 3468475)
Change 3471494 by Douglas.Copeland
Test content for GearVR Stereo Layers
Change 3476135 by Jeff.Fisher
UE-45661 Duplicate .so files in GoogleVR.
-We want the version of each file from the android_x86 style folder, but in the android\x86 folder, and the APL.xml file needed to reference the new path rather than the old path.
-This fix was also made in Release-4.16 for 4.16.2 in cl 3476133.
#jira UE-45661
#review-3474770
Change 3480446 by Dustin.Holmes
Added support for Vive Tracker.
#jira UEVR-792
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3483325 by Nick.Atamas
Merging //UE4/Partner-Google-VR to Dev-VR (//UE4/Dev-VR)
Known issue with Mac build packaging.
Change 3485969 by Nick.Atamas
Fixed double-spacing and formatting issues.
Converted TangoEcefUtils.cpp to follow Epic coding standards.
Change 3486071 by Nick.Atamas
Rename/move file(s) from Plugins/Runtime/Tango/... to Plugins/Runtime/GoogleTango/...
Change 3486078 by Nick.Atamas
Fixed non-portable (wrong case) include path.
Change 3486906 by Jeff.Fisher
Fixing build warning about a variable being shadowed.
Change 3487245 by Jeff.Fisher
Fixing build break in some template source files from HeadMountedDisplayFunctionLibrary move.
Change 3487827 by Nick.Atamas
Fixing the missing platforms header; should resolve CIS warning.
Change 3488808 by Keli.Hlodversson
Fix vr.Debug.VisualizeTrackingSensors when ViewTarget->HasActiveCameraComponent() is true.
Also switched to use GWorld instead of passing in the current World argument to the handler as the world pointer can change for instance if turning the setting on and loading another level in the editor.
#jira UE-45949
Change 3490841 by Nick.Atamas
Fixing more CIS and coding standard issues related to Tango.
Change 3491038 by Nick.Atamas
Modified GoogleInstantPreview.Build.cs to use RuntimeDependencies instead of explicit dylib/dll copying.
Change 3492481 by Jeff.Fisher
Fixing HeadMountedDisplayTypes.h shadowed member warning.
Change 3495157 by Mike.Beach
New XR modular feature - XRDeviceAssets. Intended to give us access to device models so we can render arbitrary devices. Implements this for SteamVR.
#jira UEVR-829
Change 3495205 by Mike.Beach
CIS fix (fallout from 3495157) - missing leading 'template<>' for template specializations.
Change 3495213 by Mike.Beach
Fixing the vr.SpectatorScreenMode CVar so that it's sink function doesn't override other CVar commands that set the mode themselves.
#jira UEVR-790
Change 3495403 by Nick.Atamas
- Disabled Google Tango support for Win32.
- Disabled GoogleInstantPreview files being erroneously included while building game; it is only used by Editor.
- Renamed Tango.uplugin -> GoogleTango.uplugin
- Fixed self-assignment in TangoImageComponent.cpp
Change 3496225 by Mike.Beach
Fixing CIS compiler error for non-editor builds (fallout from CL 3495157).
Change 3496981 by Nick.Atamas
GoogleInstantPreview libraries are now checked into Binaries/ThirdParty/... so that no copying from .Build.cs is necessary.
Change 3497033 by Nick.Atamas
Going back from GoogleTango/ to Tango/. It's a bigger change that previously thought.
Change 3498487 by Nick.Whiting
Adding option to PIE settings to NOT minimize editor when doing VR PIE
Change 3499242 by Dustin.Holmes
Fixed static analysis warning by updating the number of devices that can have their button states tracked.
Change 3499341 by Nick.Atamas
Hopefully fixes Mac Editor CIS.
Change 3499395 by Arciel.Rekman
Copying //UE4/Partner-Valve@3499365 to Dev-VR (//UE4/Dev-VR)
Change 3499550 by Ryan.Vance
Fixing compile issue.
Change 3499678 by Nick.Atamas
- Dummy Mesh Reconsturctor now sometimes generates empty blocks to test more scenarios.
- Removed unused code in DummyMeshReconstructorModule
- Removed unused variable in GoogleInstantPreview.Build.cs
Change 3499840 by Nick.Atamas
std::string needed by google's online system.
Change 3499889 by Nick.Atamas
Fixed static code analysis CIS fails.
Change 3500007 by Nick.Whiting
Removing Vulkan RHI dependency on a plugin, refactoring it to use an interface to check to break the dependency
Change 3500027 by Nick.Whiting
Fixing missing include file in SteamAudio
Change 3500030 by Nick.Whiting
Changing cast from reinterp to static. Copypasta fail
Change 3500078 by Nick.Whiting
Speculative fix for the builder for an error that doesn't repro locally
Change 3500086 by Nick.Atamas
More build fixups.
Change 3500096 by Nick.Atamas
Copying //UE4/Partner-Google-VR-Minimal at CL3499964 to Dev-VR (//UE4/Dev-VR)
Change 3500107 by Nick.Atamas
Does this fix CIS?
Change 3500121 by Nick.Atamas
More CIS fixing, hopefully.
Change 3500129 by Nick.Atamas
More CIS fixing.
Change 3500713 by Nick.Whiting
Fix for Win32 build break
Change 3500887 by Arciel.Rekman
Fixed copyright notices and compilation errors in Steam Audio.
(Edigrating CL 3500131)
Change 3501010 by Arciel.Rekman
Fix shadowing error.
Change 3501230 by Nick.Atamas
Make warning go away.
Change 3501890 by Nick.Atamas
Moving Tango->GoogleTango. Fixup pass in next CL.
Change 3501900 by Jeff.Fisher
UE-46265 Crash attempting to Play in VR
-Need to call UpdateSpectatorScreenMode_RenderThread in PreRenderViewFamily_RenderThread so that the mode is set before other renderthread work decides what to do based on the mode.
#review-3501882
#jira UE-46256
Change 3502152 by Nick.Whiting
Oculus Unified Plugin. OculusHMD plugin now supports both the Rift and the GearVR in one plugin. Minor supporting engine modifications included
Change 3502199 by Nick.Atamas
Checking in TangoQA project with fixed-up content to point at GoogleTango plugin.
Known issue: crash when building cooking collision for bricks with no triangles.
Change 3502215 by Nick.Atamas
Fixed UIScale curve.
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3502930 by Mike.Beach
Attempt to fix build errors (fallout from CL 3502873), using new (moved/renamed) PhysX cook util struct.
Change 3503559 by Jeff.Fisher
UE-46300 Editor process crashes when opening with Oculus HMD plugged in
-Reimplementing spectator screen for updated oculus plugin.
#jira UE-46300
#review-3503455
Change 3503685 by Jeff.Fisher
TM-SpectatorScreen
-made the scene capture component follow the camera orientation so i can make it look at different stuff.
Change 3503695 by Nick.Whiting
Fixes for build breaks
Change 3503819 by Jeff.Fisher
TM-SpectatorScreen
-Adjusted scene capture and render target to get approximately correct color in the spectator screen.
Change 3503852 by Nick.Atamas
- Fixed crash when sending a brick with 0 data.
- Added implementation to ClearAllBricks.
Change 3503947 by Ryan.Vance
Fixing overspecified method definitions.
Change 3505242 by Douglas.Copeland
Added gamepad inputs to SpectatorScreen Level BP for more efficient test setup
Change 3505307 by Douglas.Copeland
Re-saving Emmissive_Blue Material to resolve map warning
Change 3505704 by Ryan.Vance
We can't pass a nullptr into RenderTexture_RenderThread. Instead of checking for a mirror window here, the RenderTexture_RenderThread implementation should do the right thing. Jeff's mirrorwindow/socialscreen refactoring should handle this correctly now.
Change 3505914 by Jeff.Fisher
UE-46370 Ensure handled when restarting Editor after disabling Oculus plugin
-remove scaling from the pose if necessary. It appears that when running oculus rift through steamvr the tracking reference comes through at .99 scale. We can't build a quat out of it unless it is normalized.
#jira UE-46370
#review-3505892
Change 3506650 by Jack.Porter
External Texture fixes changes from Dev-Sequencer
- fix ENGINE_API meaning singletons were existing in each module
- fix crash releasing an External RHITexture resource.
- Recache uniform expressions when external textures are registered and unregistered
Change 3506653 by Jack.Porter
Remove external texture logging that was accidentally enabled.
Change 3507043 by Mike.Beach
Fixing CIS content errors (copied material still referencing assets from a separate plugin) - redid the material.
Change 3507231 by Ryan.Vance
#jira UE-46426
Fail preinit on gearvr if bPackageForGearVR is false
Change 3507822 by Jeff.Fisher
UE-46445 Player can't move through level by holding one grip button in Editor VR Mode
-We were passing worldscalefactor, rather than worldscale into the get controller position function. WorldScaleFactor is worldscale / 100, making it a unitless multiplier of the world scale. So a *magical* 100 needs to be multipled back in here. Oculus must have found that and fixed it, looks like it was broken for 4.16.
#jira UE-46445
Change 3508167 by Jeff.Fisher
Fixing CheckSlow at startup on Oculus. The head pose orientation was being initialized to zero rather than identity, which isn't so useful.
Change 3509622 by Jeff.Fisher
Adding commented out null check to commented out implementation of ShouldDisableHiddenAndVisibileAreaMeshForSpectatorScreen_RenderThread.
Change 3509983 by Jeff.Fisher
Fixing vr.MirrorMode alias to vr.SpectatorScreenMode
-was trying to use a cvar that no longer exists
Change 3510188 by Ryan.Vance
#jira UE-46454
We need to set the render target before applying cached render targets.
Change 3510231 by Mike.Beach
Setting up redirects for the plugin, since it was renamed from "OculusLibrary" to "OculusHMD" - ensuring that projects don't loose references in Blueprints, etc.
#jira UE-46462
Change 3510253 by Ryan.Vance
#jira UE-46452
We need to execute the clear before seting up shader state for the copy.
Change 3511627 by Mike.Beach
Correcting some CIS warnings - Updating misc. GetWorldFromContextObject() calls since the old signature was deprecated by the latest Framework integration.
Change 3511984 by Mike.Beach
Fixing fallout from integration with Main (CL 3511845)... common shader file renamed (to .ush instead of .usf).
Change 3512797 by Mike.Beach
Static analysis fix - making doubly sure that we're not indexing into out of bounds memory.
Change 3512802 by Mike.Beach
Only warning about the OculusHMD module being unavailable when it isn't loaded (otherwise, we were extraneously warning when users didn't have a rift).
#jira UE-46575
DONE!
[CL 3512933 by Mike Beach in Main branch]
2017-06-27 23:02:31 -04:00
# include "Misc/CoreDelegates.h"
# include "RenderingThread.h"
# include "Engine/Texture.h"
# include "DefaultSpectatorScreenController.h"
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
# include "DefaultXRCamera.h"
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3760894)
#rb Rendering
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3658809 by Chris.Bunner
Changing default HDR display gamut to P3 as in practice that's more common than Rec2020, this should be a user-facing option where possible though as we can't automatically retrieve that data.
Change 3658842 by Chris.Bunner
Backing out previous HDR default gamut change as it conflicts with mandatory platform defaults.
Change 3695269 by Arne.Schober
DR - Make clang happy wreorder
Change 3695418 by Guillaume.Abadie
Fixes compilation failure in FoliageType_InstancedStaticMesh.cpp.
Change 3695430 by Guillaume.Abadie
Fixes missing BeginFrame dynamic resolution event in EngineTest.
Change 3695469 by Guillaume.Abadie
Fixes crash when passing down an invalid parameter on the sample material expression's DDX, DDY parameters.
Change 3696091 by Guillaume.Abadie
Fixes Linux compilation failure in DynamicResolution.cpp
Change 3696593 by Chris.Bunner
Fixed typo in vetex factory enum.
Change 3696596 by Chris.Bunner
Added material attributes type checking to If material expression.
Updated If material expression to validate compilation of inputs.
Change 3696597 by Chris.Bunner
Allow visible parameter retrieval to correctly traverse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.
Change 3696599 by Chris.Bunner
Fixed material instance parameter visiblity when using nested static switches across functions.
#jira UE-50878
Change 3696734 by Chris.Bunner
Return type fix.
Change 3697123 by Guillaume.Abadie
Fixes compilation failure in PostProcessWeightedSampleSum.cpp on Windows 32bits.
Change 3697125 by Guillaume.Abadie
Fixes compilation failure in MaterialExpressionIf.h
Change 3697127 by Guillaume.Abadie
Fixes compilation failure in DynamicResolution.cpp on shipping build.
Change 3697135 by Guillaume.Abadie
Fixes crash in dynamic resolution event frontend when resizing game play viewport in EngineTest.
Change 3697199 by Guillaume.Abadie
Fixes TAA upsample's shader compilation failure on Mac.
Change 3697220 by Guillaume.Abadie
Makes static analysis happy again.
Change 3697280 by Chris.Bunner
Fixing up invalid casts in material layers validation.
Change 3697366 by Rolando.Caloca
DR - hlslcc - Fix warning
#jira UE-43988
Change 3697451 by Rolando.Caloca
DR - vk - Per pipeline descriptor pools
Descriptor pool are now allocated per PSO instead of globally to reduce peak mem consumption and fragmentation
Enabled on Windows only via VULKAN_USE_PER_PIPELINE_DESCRIPTOR_POOLS
Change 3697477 by Rolando.Caloca
DR - vk - Custom memory allocator
Remove old/unused stats
Change 3697486 by Rolando.Caloca
DR - vk - Fix validation issue
Change 3697488 by Richard.Wallis
Fix for Mac editor session no longer accurately tracking Mouse location after moving between Desktops in Mission Control on 10.12.6. Problem stems from the extra call to update the slate cached window position in mouse move while dragging, which is itself is a hack but apparently this is needed as we don't get window position updates on Mac while dragging (although I couldn't see any -ve side effects without it) then the OS (in 10.12.6) doesn't always push out a final window did move notificaiton when changing desktops which leaves the window according to slate incorrectly positoned to it's frame.
Solution is to either remove the mouse-move-while-drag window position hack or add a final window position update to the mouse-up event while dragging - this change is the latter.
#jira UE-37553
Change 3697501 by Richard.Wallis
Move audio processing over to audio bus tap. Currently on Mac Media audio playback uses OS media player mixer rather than Engine as existing implemtation, using AVAssetReader, now suffers from poor performance with new Media Framework. This audio tap version replaces that asset reader implementation but also suffers from bad quality audio hence is still disabled at the top of AvfMediaTracks.cpp.
Original Code Review Description:
Convert Mac to Play audio through the engine MediaFramework API rather than using AVMediaPlayer. This is the Mac implementation only - this should work ok on iOS but unable to test due to missing audio type implementation (throws error "Init Buffer on unsupported sound type name = Synth type = 5"), as such is only enabled for Mac. There maybe some extra tweaks required for iOS on app backgrounding etc if this feature is enabled.
- Stuttering Audio Performace issue investiagation: Re-Tested this implementation against [now fixed] current Mac implementation which was working fine last year and that implementation now has the same audio output quality (performance) issues as this one. Basic investigation seems to point to somewhere in the engine audio handing. When poor audio is heard the FMediaAudioResampler::Generate() function is dequeing an IMediaAudioSample sample buffer and the audio sample queue usually has 50-100 of these IMediaAudioSample buffers waiting in the queue. I think the AvfMedia playback system is providing the sample buffers in good time but they are not getting consumed "fast" enough. This under consuming also occurs if I force the Core Audio - Audio Unit mixer to use 48000 samples/sec.
#jira UEPLAT-1677
Change 3697517 by Richard.Wallis
XCode 9.0 extra nullability specifiers required.
Change 3697537 by Richard.Wallis
Back out revision 23 from //UE4/Dev-Rendering/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaTracks.cpp
Change 3697670 by Rolando.Caloca
DR - vk - Fix mapstaging surface
Change 3697846 by Uriel.Doyon
Allow denormalized values when converting float32 to float16.
Change 3697892 by Uriel.Doyon
Fix for unaligned structure elements
Change 3699335 by Richard.Wallis
Mac compile fix - turns out I did need these nullability specifiers here.
Change 3699663 by Guillaume.Abadie
Fixes time unit conversions from microseconds to milliseconds error in dynamic resolution heuristic when using GPU busy time queries.
Change 3699959 by Rolando.Caloca
DR - Fix barrier in the middle of render pass
Change 3699969 by Rolando.Caloca
DR - vk - Change dump layer location so it prints out validation ids
Change 3700356 by Guillaume.Abadie
Implements secondary screen percentage to be able to do TAA upsample followed spatial upscale so that the editor viewport still have same TAA upsample screen percentage range to test the content with no matter monitor's DPI.
Change 3701105 by Guillaume.Abadie
Ignore per view automatic mip bias on texture type other than 2d textures.
#jira UE-51396
Change 3702297 by Richard.Wallis
Mac compile fix for nullable specifier. Looks like Obj class using the C++ class also needs this otherwise it throws. Seems to be some kind of xcode/compiler caching bug with this stuff as it'll report the error once then on subsequent compiles say everything is ok.
#jira UE-51386
Change 3702357 by Richard.Wallis
Mac nullability compile fix - again. Looks like I fell foul of that xcode compile caching!
#jira UE-51386
Change 3702424 by Guillaume.Abadie
Fixes planar reflection from drowing themselves in their own FSceneRenderer in forward shading.
#jira UE-51395
Change 3702464 by Guillaume.Abadie
Fixes wrong viewport to buffer conversion of the distortion.
#jira UE-51406
Change 3702819 by Guillaume.Abadie
Fixes planar reflections with secondary screen percentage for HighDPI editor viewports.
Change 3703732 by Guillaume.Abadie
Removes unecessary check(); when there is more than 2 players with planar reflections.
#jira UE-51436
Change 3704302 by Guillaume.Abadie
Removes unecessary Interface suffix on new dynamic resolution related interfaces
Change 3704390 by Chris.Bunner
Fixed a coincidentally correct define.
Change 3704730 by Rolando.Caloca
DR - vk - Fix map for depth surfaces
Change 3704739 by Rolando.Caloca
DR - Debug label on D3D11 UAVs
- Validate when running -d3debug
Change 3705000 by Chris.Bunner
Skip compiling opacity and opacity mask inputs on opaque surface materials. Previously the code was always added to the shader, sometimes we force opaque materials down a masked path which then calls the dormant code unintentionally. A safer fix for UE-48254.
Partially reverted previous fix in CL 3608303 which removed a material instance optimization caching the overridden base properties.
Change 3706065 by Guillaume.Abadie
Does some renaming for primary screen percentage, and move the primary screen percentage method selection from dynamic resolution driver to FSceneView.
Change 3706464 by Chris.Bunner
Fixed material property translate overrides that were generating code in the wrong entry.
Fixed conditions in If material expression GetInputType and IsMA check.
#jira UE-51368
Change 3706641 by Chris.Bunner
Missing "break" in switch statement (which unfortunately needs another bump to resolve).
Change 3706642 by Guillaume.Abadie
Fixes assertion failure when r.TemporalAA.EnableUpscale = 1
Change 3706650 by Gil.Gribb
UE4 - UE4 - Changes from intel. Increase number of worker threads on Windows to if hyperthreads (hyperthreads √ 2) else cores √ 1 up to a max of 22 workers. Increase MAX_THREADS multiplier per bank from 22 to 26. Intel VTune ITT event annotations. Wrapped in same function as your existing CPU events and enabled with √vtune. Optimize NV cloth by consuming FVector instead of FVector4 out of the solver. Vertex buffers were using FVector all along. ~15% improvement. Optimize cloth copy to vertex buffer by adding prefetch (similar to how bones are already done). Move local to world cloth transform from CPU to GPU. When simulating lots of vertices game thread was becoming bottleneck doing matrix multiply. Add your TaskGraph task switch latency test code.
Change 3706733 by Daniel.Wright
Print Embree Build time
Change 3706841 by Daniel.Wright
EmbreeFilterFunc4 now handles masked out intersections properly
Change 3707437 by Rolando.Caloca
DR - vk - Android compile fix
#jira UE-51474
Change 3707785 by Guillaume.Abadie
Fixes viewport issue in bloom setup pass with TAA upsample.
Change 3709623 by Rolando.Caloca
DR - vk - Missing barrier for reading into cpu
Change 3709633 by Rolando.Caloca
DR - vk - Compile fix
Change 3710454 by Mark.Satterthwaite
Refactor the way we compile Buffer<> & RWBuffer<> types for Metal so that we can support the type-conversion semantics of HLSL/D3D.
- Buffer<> types are converted to Linear Textures unless the internal type is 3-compnent or the STRONG_TYPE macro is added as a type-qualifier. Linear Textures require an MTLTexture "view" object be created around the MTLBuffer which is the backing-store and it is typically best if that buffer is marked as Private (GPU-only) memory, reading from this in the shader then uses the texture-fetch hardware to perform the format conversion on load.
- RWBuffer<> & 3-compnent Buffer<> types are converted to use template functions to load/store - the implementation of which will read the format from the BufferSizes meta-table and determine which type-conversion to apply. Function-constants are used to specialise the shader where feasible to reduce branch costs (function-constants are a Metal feature that allow efficient runtime recompilation of bytecode shaders).
- Buffer<> & RWBuffer<> types where the STRONG_TYPE macro is added as a type-qualifier (only does something on Metal, everywhere else it is #define'd away) are compiled as "raw" Metal buffers of the inner-type (e.g. float4 for Buffer<float4>) and the MetalRHI runtime will enforce that only SRVs/UAVs of the proper format are bound to it. This is necessary in a couple of cases (BoneMatrices, NumCulledLightsGrid, CulledLightDataGrid & ForwardLocalLightBuffer buffers) which are used in a larger number of shaders as Linear Textures have poorer performance than Buffer<>/RWBuffer<>.
- Most of the complications to generating subtly different Metal code for different OS/device combinations have been factored out into ue4_stdlib.metal which acts as an extension to the Metal shader standard-library and helps simplify the MetalBackend code - particularly helpful for Buffer<>/RWBuffer<> but also texturecube_array and the SM6 wave-related intrinsics.
- Reverted some of the awkward Metal-specific changes Richard.Wallis & Arne had to make to the high-level shaders as they aren't necessary anymore.
- Made the existing Metal-specific changes to use uint32 for all light-grid injection buffers apply to all Metal platforms again (I had hoped that it would not be necessary anymore, but it is much faster this way).
- STRONG_TYPE is actually hlslcc's "invariant" keyword applied as a type-qualifier to a Buffer<>/RWBuffer<> type - only valid when using Metal which exports this through ILanguageSpec and #define'd out for everyone else.
- Old versions of iOS (anything earlier than iOS 10.3) won't be able to use this new code, so every buffer will be treated as "raw" and the MetalRHI will now properly report when something goes awry rather than it leading to mysterious rendering errors and crashes.
Change 3710456 by Mark.Satterthwaite
Fix the Eddie workset project generator so that Enterprise projects don't get mixed in with regular projects at the top-level because of the way Eddie combines workset groups.
Change 3710457 by Mark.Satterthwaite
DX11 texture formats for Mac Metal please!
Change 3710480 by Mark.Satterthwaite
Permit RHI thread and parallel execution in Mac -game mode again.
Change 3710522 by Mark.Satterthwaite
MSVC type-mismatch error fixes.
Change 3710580 by Mark.Satterthwaite
Alright then - if I can't use the C++11 extended string semantics I'll have to use "xxd -i" to generate a hex-dump include header from ue4_stdlib.metal instead. This can only be updated from a machine with access to the POSIX xxd command (Mac & Linux, possibly the new Linux sub-system for Win10).
Change 3710616 by Mark.Satterthwaite
Missing file.
Change 3712972 by Guillaume.Abadie
Fixes Circle DOF's negative alpha channel getting clamped to 0 in TAA pass.
Change 3712979 by Guillaume.Abadie
Fixes wrong RT reallocation when doing TAA upsample in editor viewports with secondary upscale.
Change 3713406 by Mark.Satterthwaite
Use GPU morph targets on Mac - the necessary buffer conversions will always be available there. For iOS it can only be supported if iOS 10 is the minimum OS & Metal standard so leave that on the CPU path for now.
Change 3713494 by Richard.Wallis
Fix for hitch when PIE unloading sublevel. PerformReachabilityAnalysisOnObjects is spawing multiple threads in Editor builds as there is an extra code path that results in Critical Section locking within a singleton type static object - this is a bottle neck for multiple threads. However they all just need to read the data not change it. Replaced FScopeLock with a Read/Write version allowing these threads to all take a read lock at the same time to reduce contention.
Changed the FUObjectAnnotationDense implementation only - left the sparse implementation alone as its not currently affecting this - although we could proactivly change that too.
Also tested again repro in linked bug UE-24711.
#jira UE-40533
Change 3713612 by Mark.Satterthwaite
Integrate LPV_STORE_INDEX_IN_HEAD_BUFFER related changes from //depot/Partners/Microsoft/UE4-MS/Engine-Fable @ 2954744
This should make Light Propagation Volumes potentially viable on non-Microsoft platforms.
Change 3713623 by Mark.Satterthwaite
Implement ByteAddressBuffer/RWByteAddressBuffer in hlslcc in a similar manner to StructuredBuffer/RWStructuredBuffer so that the backends don't need too much modification. Implement the necessary changes into MetalBackend to make this work for Metal.
Load/Store{+2,3,4} & Atomics are supported. Counter operations are not supported and aren't likely to be.
Change 3713636 by Mark.Satterthwaite
Enable LPVs for Mac Metal.
- Rework some multi-dimensional arrays & array-index dependent HLSL code that hlslcc simply can't cope with, the mesa-glsl compiler core is only capable of dealing with 1 dimensional arrays and array-indexing can't itself be directly dependent on the result of an array-index operation.
- MetalRHI needs to ignore any SetRenderTargets call that binds nothing at all as you must bind at least one target (UAV, RT, Depth/Stencil) for it to be able to do anything sensible.
- Turn on LPVs for Metal as it works now.
Change 3714049 by Guillaume.Abadie
Do not set screen percentage method to TAA upsample when anti aliasing method is not TAA even if there is automatic fallback in the renderer.
Change 3714306 by Guillaume.Abadie
Fixes assertion failure in dynamic resolution state proxy with GPU busy time queries.
Change 3714714 by Mark.Satterthwaite
Tweak Metal GPU identification so that it works with eGPU boxes and protoype hardware - these changes only apply to macOS 10.13 so the system as a whole remains.
Change 3716104 by Mark.Satterthwaite
Fix 10.12/Xcode 8 compile errors from the build-farm which is still split until Fortnite can update.
Change 3716120 by Mark.Satterthwaite
Silence static-analysis.
Change 3716158 by Guillaume.Abadie
Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3716271 by Daniel.Wright
Lightmass correctness fixes
* After these changes, point, spot, directional and sky lights closely match reference renderer Mitsuba after light unit conversions
* Photon density trimming intended for direct photons was affecting indirect photons as well. This caused high noise for point / spot lights with a large attenuation radius. Indirect photon density even for small lights is 5x with this change, which improves 2nd bounce quality.
* Removed legacy fudge factor on point / spot light photon energy
* Spotlights no longer emit based on indirect photon paths. Fixes excessive photon energy from spot lights as they were emitting outside of the cone.
* Fixed photons computing one more bounce than requested.
* Added an option to use the Radiosity solver for all multibounce, replacing photons. Useful as a reference but generally too much noise indoors.
* Fixed visualization of photons without final gather
Change 3716434 by Mark.Satterthwaite
Backout the remaining change from 3632041 that is no longer necessary - this was the last of the 4.18 Metal workarounds.
Change 3716491 by Chris.Bunner
Fixing up an edge-case on a recent optimization.
Change 3716611 by Guillaume.Abadie
Allows secondary screen percentage >= 100%.
Change 3716977 by Guillaume.Abadie
Back out changelist 3716158 to unblock QA pass.
#jira UE-51580
Change 3717111 by Arne.Schober
Fixing nomalization of Morph Tangents https://udn.unrealengine.com/questions/392462/
Also implemanted batching of the dispatches which should help worst case perfomance where dispatches become too small.
CalculateInverseAccumulatedWeights is not cheap and proably should be moved onto a task thread that runs as soon as the input weights are ready.
Change 3717127 by Mark.Satterthwaite
Fix a mismerge from the reversion of 3632041 - part of the modified code had been moved into another file and I didn't initially notice.
Change 3717178 by Mark.Satterthwaite
Remove useless copy-pasted expressions from glsl_type::GetByteAddressBufferInstance & force MetalBackend to relink. Apparently the previous Mac libs were mysteriously broken.
#jira UE-51583
Change 3717476 by Marcus.Wassmer
Fix PS4 compile. funciton local statics not allowed on PSSL
Also enabled the new atomics method for LPVs for all platforms
Change 3717502 by Arne.Schober
DR - Compiletime option for compressed ruleset (0.02ms perf gain on PS4 and disabled by default as it limits array size to 2million entries)
Change 3717601 by Arne.Schober
DR - Move cycle counter into more meaningfull locations.
Change 3718054 by Guillaume.Abadie
Removes unecessary check() failure on secondary upscale that fires when testing raw output screen percentage method.
Change 3718066 by Guillaume.Abadie
Reland: Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3718589 by Mark.Satterthwaite
Console-variable to enable and disable Manual-Vertex-Fetch for Metal and fix the internal code to handle the subtle changes in behaviour for vertex-declarations so we don't explode under the Metal validation layer. MVF works on macOS, though testing did expose an error with Tessellation on Nvidia (true for MVF enabled & disabled).
Change 3718633 by Guillaume.Abadie
Fixes temporal instability issue of TAA upsample with secondary screen percentage.
Change 3718658 by Arne.Schober
DR - 25% MorphTarget Speed increase because there was a bit of cache thrashing between the waves going on.
Change 3718818 by Mark.Satterthwaite
Fix compilation on hlslcc - integral values are not automatically converted into comparisons with zero.
Change 3719004 by Guillaume.Abadie
Lets the game viewport client automatically set raw output screen percentage method when doing dynamic resolution with stereo rendering but without TAA upsample.
Change 3719375 by Mark.Satterthwaite
Extend mtlpp compiler testing app to support Metal tessellation compute shaders so we can send Nvidia a much simpler reproduction of their regression.
Change 3720099 by Mark.Satterthwaite
Make the left-hand arguments work in airdiff.
Change 3720413 by Mark.Satterthwaite
Support standalone compute shaders in the mtlpp compiler test app.
Change 3721232 by Mark.Satterthwaite
No more Metal Shader Model 4 - instead we have to have a Metal Shader Model 5 w/o Tessellation as Nvidia's shader compiler is broken on all tessellation shaders in 10.13.0 and above. There is no guarantee that they will fix this prior to 10.14 and I can't afford to disable tessellation entirely as if I do that then the AMD & Intel compilers will also regress. As there is no Shader Model 4 platform on Mac anymore I've amended the LevelEditorActions to disable the preview modes when no appropriate shader platform is available.
Change 3721244 by Mark.Satterthwaite
Fix incorrect enum handling for Metal features due to overflow.
#jira UE-51643
Change 3721338 by Mark.Satterthwaite
MIssing file from 3721232
Change 3721818 by Mark.Satterthwaite
Fix the Intel vector-array-dereference workaround so that it doesn't cause the AMD compiler to explode instead.
Change 3722139 by Arne.Schober
DR - [UE-51602] -Fixed Typo that accidently bound the LightingInstancebuffer to the Transform one
#jira UE-51602
Change 3722165 by Rolando.Caloca
DR - Default -opengl to GL4
Change 3722682 by Guillaume.Abadie
Fixes wrong clear color in SSR important for VR that has a HMD mesh.
Change 3722766 by Rolando.Caloca
DR - Fix static analysis
Change 3722943 by Mark.Satterthwaite
Disable the METAL_SM5_NOTESS shader platform again - I can workaround the Nvidia pipeline state compiler crash by changing the buffer address space from "constant" to "device" as we're managing to confuse the poor thing. This won't materially affect AMD or Intel as they don't care much about this, but to limit performance issues on Nvidia we only need to do this for Tessellation Compute shaders.
Change 3723100 by Mark.Satterthwaite
Apparently users like enabling Metal shader standards that won't work on their current OS, so don't display those that aren't going to work & display an error message before quitting rather than crashing when trying to load a project that tries to use an incompatible shader version.
Change 3723121 by Mark.Satterthwaite
Fix build error.
Change 3723245 by Daniel.Wright
Ensure for when a reflection capture upload fails due to incorrect lighting scenario level handling
Reflection captures with no data use an array index of 0, instead of -1. Might avoid reading uninitialized memory on PS4.
Change 3723387 by Arne.Schober
DR - Metal already applies the instance and vertexoffset in the shader
Change 3723393 by Mark.Satterthwaite
More fixes to the mtlpp compiler test application.
Change 3725258 by Guillaume.Abadie
Improves fast TAA upsample shader permutation by 15% on console.
Change 3725555 by Chris.Bunner
[Dupliate] CL 3725548 - Fixed invalid screenpercentage value in VehicleGame sample (was setting -1 but should default to 100). This has always been broken but was recently exposed by CL 3686200.
Change 3726845 by Guillaume.Abadie
Exposes SvPosition to material through screen position material expression, so that material no longer have SvPosition * InvViewSize * ViewSize precision loss.
#jira UE-51428
Change 3728014 by Guillaume.Abadie
Uses ScreenPosition material expression's PixelPosition pin in existing engine functions to improve precision.
#jira UE-51428
Change 3728053 by Richard.Wallis
Duplicate CL 3727958: Crash fix when using shared material libraries. Initial shader code library offset is not zero'd so all entry offsets were garbage.
Change 3728339 by Guillaume.Abadie
Adds project setting for TAA upample, and officialises TAA upsampling CVar.
Change 3728549 by Guillaume.Abadie
CsvProfiler is pretty cool, but even better with console autocompletion for lazy developers.
Change 3728752 by nick.bullard
Built and re-saved QA-MeshPaint
#jira UE-50978
Change 3728775 by Guillaume.Abadie
Implements r.DynamicRes.ChangePercentageThreshold to stabilize primary screen percentage.
Change 3729224 by Uriel.Doyon
Hidden levels now keep their last build data when using lighting scenarios.
Hidden levels don't affect the scene anymore volumetric lighting when not using lighting scenarios.
#jira UE-40454
#jira UE-38131
Change 3729243 by Marcus.Wassmer
Update Ansel to 1.4
#github 4159
#jira UE-51545
Change 3729325 by zachary.wilson
Adding indirect lighting to TM-LightingChannels
#jira UE-47069
Change 3729485 by zachary.wilson
Fixing ambient occlusion bias on QA-LightsStationary. Removed global PPV with bad settings, also fixed the shadow on the roof.
#jira UE-50972
Change 3729629 by Uriel.Doyon
Fixed crash when using debug view modes.
Fixed d3ddebug error when clearing quad overdraw buffer.
#jira UE-51836
Change 3730053 by Guillaume.Abadie
Allows edititing of AScreenshotFunctionalTestBase::ScreenshotCamera.
Change 3730308 by Guillaume.Abadie
Disables TAA upsample on buffer visualization, and disallow screen percentage preview in editor viewport with any buffer visualization.
Change 3730355 by Guillaume.Abadie
Sacrifices consistency for good cvar name for TAA upsample.
Change 3731403 by Daniel.Wright
Reduced slider for ContactShadowLength to .1, algorithm produces poor results with larger values.
Change 3731404 by Daniel.Wright
Checkpoint for ScreenShadowMaskTexture, allowing 'vis ScreenShadowMaskTexture'
Change 3731407 by Daniel.Wright
Must opt-in for FDistanceFieldSceneData::VerifyIntegrity
Change 3731517 by Guillaume.Abadie
Freezes dynamic resolution heuristic when doing pause.
Change 3732168 by Guillaume.Abadie
Renames TAA upsampling cvar.
Change 3732295 by Guillaume.Abadie
Lets the scene texture's size and texel size return the correct sizes after TAA upsample.
Change 3732313 by Guillaume.Abadie
Implements SceneTexture material expressions' automated tests.
Change 3734928 by Guillaume.Abadie
Adds panic mode when the last N frames are over budget to the dynamic resolution heuristic.
Change 3735966 by Ryan.Vance
Fixing mac steamvr compile issue. Missed a few lines in the refactor because mac.
Change 3736104 by Guillaume.Abadie
Removes FSceneViewInitOptions::bDisableGameScreenPercentage brought by 4.18, that new screen percentage API do in a better way.
Change 3736346 by Daniel.Wright
Volumetric fog is always interpolated in the pixel shader, since per-vertex interpolation gives consistently poor results. Fixes Volumetric Fog on opaque in Forward, and on transparent in Deferred.
Forward shading: per-pixel height fog is always done in the base pass, to work with MSAA correctly
Change 3736348 by Daniel.Wright
Forward shadowing of directional light for translucency
* Static shadowing and CSM supported with minimal filtering (1 PCF)
* Deferred renderer: affects translucency using 'Surface ForwardShading' lighting mode. Forward renderer: affects all translucency.
Change 3736650 by Rolando.Caloca
DR - vk - # of desc pools
Change 3737985 by Guillaume.Abadie
Fixes pixel inspector with primary and secondary screen percentage.
Change 3738638 by Michael.Lentine
Compile fix due to unclear operator precendence.
Change 3739417 by Daniel.Wright
Fixed a few issues with irradiance cache visualization
Change 3739447 by Daniel.Wright
Skip forward static shadowing in projects with static lighting disabled
Change 3739595 by Daniel.Wright
ConditionalPostLoad DistanceFieldReplacementMesh. Should fix a crash on load when static mesh derived data is being rebuilt, and the DistanceFieldReplacementMesh is in use.
Change 3739598 by Daniel.Wright
Disable capsules shadows on lowest shadow quality
Change 3739611 by Daniel.Wright
Added r.CapsuleDirectShadows and r.CapsuleIndirectShadows for more specific scalability control over capsule shadow features
New Lighting Feature show flags for RTDF shadows and Capsule Shadows
Change 3740516 by Guillaume.Abadie
Fixes VR editor rendering only on eye with TAA upsample.
#jira UE-52016
Change 3740580 by Guillaume.Abadie
Fixes chromatic aberration with TAA upsample and multiple view rendering.
#jira UE-51993
Change 3740588 by Guillaume.Abadie
Gives to FXAA a more explicit draw event name for easier UDN support.
Change 3740845 by Michael.Lentine
Fix shipping build.
Change 3740903 by Guillaume.Abadie
Disables dynamic resolution threading outliers detection by default and includes editor UI GPU cost within dynamic resolution's begin/end frame events for better reliability of timestamp query based dynamic res in editor.
Change 3741355 by Daniel.Wright
Normalize planar reflection plane - fixes crash when scaling a BP with a planar reflection component
Change 3741357 by Daniel.Wright
More info on volumetric lightmap import failure
Change 3742535 by Ryan.Vance
Fix for view rect changes.
Change 3743282 by Guillaume.Abadie
Fixes a bug in dynamic resolution heuristic's outlier detection that was preventing the over budget panic to react.
Change 3743559 by Michael.Lentine
Port Siren changes for recompute tangents. This adds recompute tangents for cloth as well as the ability for recompute tangents to work across seams where vertices are duplicated.
Change 3743679 by Guillaume.Abadie
Cherry-pick 3743621: Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.
#jira UE-51569
Change 3743906 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: Fix for clamping sampled HDR render target values by setting ERangeCompressionMode in the FReadSurfaceDataFlags to RCM_MinMax
Change 3744096 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: removed Mip option from Texture2D_SampleUV_EditorOnly for now since reads from source data cannot access mips and it can be misleading.
Change 3744253 by Guillaume.Abadie
Fixes merge collisions of debug canvas rendering with High DPI, fixes stat unit on high DPI monitors, and fixes secondary screen percentages.
Change 3744953 by Chris.Bunner
Crash workaround.
Change 3745628 by Marcus.Wassmer
Temporarily disable recalctangent normal-smoothing
#jira UE-52166
Change 3745942 by Guillaume.Abadie
Fixes a todo in FCommonViewportClient
Change 3746005 by Guillaume.Abadie
Fixes stat UnitGraph on high DPI monitor.
Change 3746029 by Guillaume.Abadie
Oups.... Fix compilation. :D
Change 3748322 by Guillaume.Abadie
Shows dynamic resolution's primary screen percentage on stat unit/unitgraph console commands.
Change 3748346 by Chris.Bunner
Potential static analysis fix.
Change 3748349 by Chris.Bunner
Mac feature support flag fix on versions < 10.30.
Change 3749336 by Guillaume.Abadie
Fixes some spelling mistakes in dynamic resolution cvars. Thanks Daniel!
Change 3749374 by Guillaume.Abadie
Adds a black background on the stat unitgraph so timing curves can be seen no matter the content.
Change 3749437 by Guillaume.Abadie
Final UI polish up for `stat unitgraph`
Change 3749719 by Guillaume.Abadie
Fixes a crash when changing r.DynamicRes.MaxScreenPercentage below current screen percentage.
Change 3750243 by Chris.Bunner
Increasing controller's automated test timeout to allow for slower machines to complete the longest tests.
#jira UE-48494, UE-51907
Change 3750728 by Guillaume.Abadie
Fixes merge collision in chromatic aberration.
#jira UE-52282
Change 3750791 by Guillaume.Abadie
Fixes chromatic baerration R and G channel swap.
Change 3751246 by Guillaume.Abadie
Bypasses screen percentage apply with mobile LDR rendering.
#jira UE-52089
Change 3752624 by Guillaume.Abadie
Simplies dyn res state's event interface to a single virtual method.
Change 3753766 by Chris.Bunner
Rebuilt volumetric baked lighting test map and updated screenshots.
#jira UE-52322
Change 3755108 by Guillaume.Abadie
Fixes a bug where default dynamic resolution state was created at startup of server build.
#jira UE-52345
Change 3755267 by Mark.Satterthwaite
Fix condition controlling which features are enabled when iOS >= 10.3 - it wasn't working for iOS 11+ which was causing all kinds of problems.
#jira UE-52301
Change 3755811 by Chris.Bunner
Disable some new logging that was causing a stack overflow during EnginePreInit.
#jira UE-52345
Change 3756983 by Mark.Satterthwaite
Prevent different versions of metal_stdlib/ue4_stdlib from causing shader compilation failures due to a time-stamp mismatch between the local file & the PCH. This can happen when working with Xcode Beta releases that change the modification date, but not the content or compiler version, amongst other possibilities.
#jira UE-52073
Change 3757156 by Guillaume.Abadie
Fixes editor compositing with wireframe rendering.
#jira UE-52017
Change 3757435 by Mark.Satterthwaite
Workaround a bug in the MobileSceneCaptureRendering where it was copying the ViewInfo's ViewRect prior to it being configured by the mobile renderer.
#jira UE-52327
Change 3757523 by Uriel.Doyon
Fixed d3ddebug warning with unused inputs
Change 3758318 by Guillaume.Abadie
Cleaner fix for mobile scene captures.
#jira UE-52327
Change 3759541 by Mark.Satterthwaite
Don't enable Manual Vertex Fetch on iOS Metal for the moment as it isn't well tested there and will probably need further changes.
Change 3695086 by Guillaume.Abadie
Render thread dynamic resolution & TAA upsample.
Merging //Tasks/UE4/Dev-DynamicRes/...@3694528 to //UE4/Dev-Rendering/...
New features breakdown:
- TAA upsample compute shader that accepts screen percentage from 50% to 200%, with a faster shader permutation for consoles;
- Material no longer have to deal with BufferUV, and post process material after TAA upsample can sample any scene buffer seamlessly;
- Material texture per view mip bias to produce sharper images with TAA upsample;
- Render thread dynamic resolution heuristic is fully plugable by game code (for VR plugin specific heuristics);
- Dynamic resolution in PIE and game builds;
- Busy time queries in the RHI to be implemented on the different platforms so that the dynamic resolution heuristic can exactly associate GPU frame times with screen percentages in its history;
- Game user settings to enable/disable dynamic resolution;
- In editor viewport screen percentage config to previsualise and test content at different screen percentage.
Fixes:
- Various fixes for algorithms producing different outputs at different screen percentage.
- Various fixes for algorithms sampling outside view rects.
Refactors:
- TAA shader
- Moved some screen percentage specific members from FSceneView to FViewInfo for thread race bullet proofing.
Aknowledgements:
- VR plugins are broken
- DFAO still have some artifacts
Premiliminary review: Marcus.Wassmer
Review for TAA refactor and TAA upsample shader: Brian.Karis
Review for dynamic resolution: Brian.Karis
[CL 3761165 by Chris Bunner in Main branch]
2017-11-16 11:36:35 -05:00
# include "Engine/Engine.h"
2017-10-24 10:14:07 -04:00
# if WITH_EDITOR
# include "Editor/EditorEngine.h" // for UEditorEngine::IsHMDTrackingAllowed()
# endif
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3512802)
#lockdown Nick.Penwarden
#rb no.one
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3060975 by Ryan.Vance
Integrating 3058175 from Oculus
Change 3466079 by Nick.Atamas
Added rudimentary collision support to MrMesh.
Change 3468111 by Mike.Beach
Give the SceneRender component's scene view a specific ViewActor (the component's owner). This lets us set bOnlyOwnerSee on components belonging to the same actor, and have it only showup in the render scene view.
Change 3468267 by Nick.Atamas
Now using non-interleaved data in MRMeshComponent
Change 3468475 by Mike.Beach
Initial checkin for new mixed reality plugin (WIP). New MixedReality capture component, intended to mimic a real world camera.
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
#jira UEVR-795, UEVR-789
Change 3468483 by Mike.Beach
Marking the new MixedReality plugin as experimental (as it is incomplete and a WIP)
Change 3468511 by Mike.Beach
CIS fixes for fallout from CL 3468475.
Change 3469754 by Mike.Beach
CIS compiler error fixes (fallout from CL 3468475).
Change 3470407 by Mike.Beach
*sigh* more CIS fixes (fallout from 3468475)
Change 3471494 by Douglas.Copeland
Test content for GearVR Stereo Layers
Change 3476135 by Jeff.Fisher
UE-45661 Duplicate .so files in GoogleVR.
-We want the version of each file from the android_x86 style folder, but in the android\x86 folder, and the APL.xml file needed to reference the new path rather than the old path.
-This fix was also made in Release-4.16 for 4.16.2 in cl 3476133.
#jira UE-45661
#review-3474770
Change 3480446 by Dustin.Holmes
Added support for Vive Tracker.
#jira UEVR-792
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3483325 by Nick.Atamas
Merging //UE4/Partner-Google-VR to Dev-VR (//UE4/Dev-VR)
Known issue with Mac build packaging.
Change 3485969 by Nick.Atamas
Fixed double-spacing and formatting issues.
Converted TangoEcefUtils.cpp to follow Epic coding standards.
Change 3486071 by Nick.Atamas
Rename/move file(s) from Plugins/Runtime/Tango/... to Plugins/Runtime/GoogleTango/...
Change 3486078 by Nick.Atamas
Fixed non-portable (wrong case) include path.
Change 3486906 by Jeff.Fisher
Fixing build warning about a variable being shadowed.
Change 3487245 by Jeff.Fisher
Fixing build break in some template source files from HeadMountedDisplayFunctionLibrary move.
Change 3487827 by Nick.Atamas
Fixing the missing platforms header; should resolve CIS warning.
Change 3488808 by Keli.Hlodversson
Fix vr.Debug.VisualizeTrackingSensors when ViewTarget->HasActiveCameraComponent() is true.
Also switched to use GWorld instead of passing in the current World argument to the handler as the world pointer can change for instance if turning the setting on and loading another level in the editor.
#jira UE-45949
Change 3490841 by Nick.Atamas
Fixing more CIS and coding standard issues related to Tango.
Change 3491038 by Nick.Atamas
Modified GoogleInstantPreview.Build.cs to use RuntimeDependencies instead of explicit dylib/dll copying.
Change 3492481 by Jeff.Fisher
Fixing HeadMountedDisplayTypes.h shadowed member warning.
Change 3495157 by Mike.Beach
New XR modular feature - XRDeviceAssets. Intended to give us access to device models so we can render arbitrary devices. Implements this for SteamVR.
#jira UEVR-829
Change 3495205 by Mike.Beach
CIS fix (fallout from 3495157) - missing leading 'template<>' for template specializations.
Change 3495213 by Mike.Beach
Fixing the vr.SpectatorScreenMode CVar so that it's sink function doesn't override other CVar commands that set the mode themselves.
#jira UEVR-790
Change 3495403 by Nick.Atamas
- Disabled Google Tango support for Win32.
- Disabled GoogleInstantPreview files being erroneously included while building game; it is only used by Editor.
- Renamed Tango.uplugin -> GoogleTango.uplugin
- Fixed self-assignment in TangoImageComponent.cpp
Change 3496225 by Mike.Beach
Fixing CIS compiler error for non-editor builds (fallout from CL 3495157).
Change 3496981 by Nick.Atamas
GoogleInstantPreview libraries are now checked into Binaries/ThirdParty/... so that no copying from .Build.cs is necessary.
Change 3497033 by Nick.Atamas
Going back from GoogleTango/ to Tango/. It's a bigger change that previously thought.
Change 3498487 by Nick.Whiting
Adding option to PIE settings to NOT minimize editor when doing VR PIE
Change 3499242 by Dustin.Holmes
Fixed static analysis warning by updating the number of devices that can have their button states tracked.
Change 3499341 by Nick.Atamas
Hopefully fixes Mac Editor CIS.
Change 3499395 by Arciel.Rekman
Copying //UE4/Partner-Valve@3499365 to Dev-VR (//UE4/Dev-VR)
Change 3499550 by Ryan.Vance
Fixing compile issue.
Change 3499678 by Nick.Atamas
- Dummy Mesh Reconsturctor now sometimes generates empty blocks to test more scenarios.
- Removed unused code in DummyMeshReconstructorModule
- Removed unused variable in GoogleInstantPreview.Build.cs
Change 3499840 by Nick.Atamas
std::string needed by google's online system.
Change 3499889 by Nick.Atamas
Fixed static code analysis CIS fails.
Change 3500007 by Nick.Whiting
Removing Vulkan RHI dependency on a plugin, refactoring it to use an interface to check to break the dependency
Change 3500027 by Nick.Whiting
Fixing missing include file in SteamAudio
Change 3500030 by Nick.Whiting
Changing cast from reinterp to static. Copypasta fail
Change 3500078 by Nick.Whiting
Speculative fix for the builder for an error that doesn't repro locally
Change 3500086 by Nick.Atamas
More build fixups.
Change 3500096 by Nick.Atamas
Copying //UE4/Partner-Google-VR-Minimal at CL3499964 to Dev-VR (//UE4/Dev-VR)
Change 3500107 by Nick.Atamas
Does this fix CIS?
Change 3500121 by Nick.Atamas
More CIS fixing, hopefully.
Change 3500129 by Nick.Atamas
More CIS fixing.
Change 3500713 by Nick.Whiting
Fix for Win32 build break
Change 3500887 by Arciel.Rekman
Fixed copyright notices and compilation errors in Steam Audio.
(Edigrating CL 3500131)
Change 3501010 by Arciel.Rekman
Fix shadowing error.
Change 3501230 by Nick.Atamas
Make warning go away.
Change 3501890 by Nick.Atamas
Moving Tango->GoogleTango. Fixup pass in next CL.
Change 3501900 by Jeff.Fisher
UE-46265 Crash attempting to Play in VR
-Need to call UpdateSpectatorScreenMode_RenderThread in PreRenderViewFamily_RenderThread so that the mode is set before other renderthread work decides what to do based on the mode.
#review-3501882
#jira UE-46256
Change 3502152 by Nick.Whiting
Oculus Unified Plugin. OculusHMD plugin now supports both the Rift and the GearVR in one plugin. Minor supporting engine modifications included
Change 3502199 by Nick.Atamas
Checking in TangoQA project with fixed-up content to point at GoogleTango plugin.
Known issue: crash when building cooking collision for bricks with no triangles.
Change 3502215 by Nick.Atamas
Fixed UIScale curve.
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3502930 by Mike.Beach
Attempt to fix build errors (fallout from CL 3502873), using new (moved/renamed) PhysX cook util struct.
Change 3503559 by Jeff.Fisher
UE-46300 Editor process crashes when opening with Oculus HMD plugged in
-Reimplementing spectator screen for updated oculus plugin.
#jira UE-46300
#review-3503455
Change 3503685 by Jeff.Fisher
TM-SpectatorScreen
-made the scene capture component follow the camera orientation so i can make it look at different stuff.
Change 3503695 by Nick.Whiting
Fixes for build breaks
Change 3503819 by Jeff.Fisher
TM-SpectatorScreen
-Adjusted scene capture and render target to get approximately correct color in the spectator screen.
Change 3503852 by Nick.Atamas
- Fixed crash when sending a brick with 0 data.
- Added implementation to ClearAllBricks.
Change 3503947 by Ryan.Vance
Fixing overspecified method definitions.
Change 3505242 by Douglas.Copeland
Added gamepad inputs to SpectatorScreen Level BP for more efficient test setup
Change 3505307 by Douglas.Copeland
Re-saving Emmissive_Blue Material to resolve map warning
Change 3505704 by Ryan.Vance
We can't pass a nullptr into RenderTexture_RenderThread. Instead of checking for a mirror window here, the RenderTexture_RenderThread implementation should do the right thing. Jeff's mirrorwindow/socialscreen refactoring should handle this correctly now.
Change 3505914 by Jeff.Fisher
UE-46370 Ensure handled when restarting Editor after disabling Oculus plugin
-remove scaling from the pose if necessary. It appears that when running oculus rift through steamvr the tracking reference comes through at .99 scale. We can't build a quat out of it unless it is normalized.
#jira UE-46370
#review-3505892
Change 3506650 by Jack.Porter
External Texture fixes changes from Dev-Sequencer
- fix ENGINE_API meaning singletons were existing in each module
- fix crash releasing an External RHITexture resource.
- Recache uniform expressions when external textures are registered and unregistered
Change 3506653 by Jack.Porter
Remove external texture logging that was accidentally enabled.
Change 3507043 by Mike.Beach
Fixing CIS content errors (copied material still referencing assets from a separate plugin) - redid the material.
Change 3507231 by Ryan.Vance
#jira UE-46426
Fail preinit on gearvr if bPackageForGearVR is false
Change 3507822 by Jeff.Fisher
UE-46445 Player can't move through level by holding one grip button in Editor VR Mode
-We were passing worldscalefactor, rather than worldscale into the get controller position function. WorldScaleFactor is worldscale / 100, making it a unitless multiplier of the world scale. So a *magical* 100 needs to be multipled back in here. Oculus must have found that and fixed it, looks like it was broken for 4.16.
#jira UE-46445
Change 3508167 by Jeff.Fisher
Fixing CheckSlow at startup on Oculus. The head pose orientation was being initialized to zero rather than identity, which isn't so useful.
Change 3509622 by Jeff.Fisher
Adding commented out null check to commented out implementation of ShouldDisableHiddenAndVisibileAreaMeshForSpectatorScreen_RenderThread.
Change 3509983 by Jeff.Fisher
Fixing vr.MirrorMode alias to vr.SpectatorScreenMode
-was trying to use a cvar that no longer exists
Change 3510188 by Ryan.Vance
#jira UE-46454
We need to set the render target before applying cached render targets.
Change 3510231 by Mike.Beach
Setting up redirects for the plugin, since it was renamed from "OculusLibrary" to "OculusHMD" - ensuring that projects don't loose references in Blueprints, etc.
#jira UE-46462
Change 3510253 by Ryan.Vance
#jira UE-46452
We need to execute the clear before seting up shader state for the copy.
Change 3511627 by Mike.Beach
Correcting some CIS warnings - Updating misc. GetWorldFromContextObject() calls since the old signature was deprecated by the latest Framework integration.
Change 3511984 by Mike.Beach
Fixing fallout from integration with Main (CL 3511845)... common shader file renamed (to .ush instead of .usf).
Change 3512797 by Mike.Beach
Static analysis fix - making doubly sure that we're not indexing into out of bounds memory.
Change 3512802 by Mike.Beach
Only warning about the OculusHMD module being unavailable when it isn't loaded (otherwise, we were extraneously warning when users didn't have a rift).
#jira UE-46575
DONE!
[CL 3512933 by Mike Beach in Main branch]
2017-06-27 23:02:31 -04:00
// including interface headers without their own implementation file, so that
// functions (default ctors, etc.) get compiled into this module
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3764848)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3640098 by Mike.Beach
Switching the MR capture processing material to use a external sampler now (since that's what media textures are marked as now).
Change 3642021 by Mike.Beach
Moving so MediaBlueprint header to Public so FMediaCaptureDevice can be used in other BP APIs (in other modules).
#jira UEVR-910
Change 3642030 by Mike.Beach
[WIP] Refactoring the MR capture component (along with the calibration level) so we can save off a reference to the video stream/format users select (adding a device selection step to calibration).
#jira UEVR-910
Change 3645768 by Mike.Beach
[WIP] Refining device selection/calibration so it reports which feeds error.
#jira UEVR-910
Change 3646047 by Mike.Beach
CIS linux fix.
Change 3646350 by Mike.Beach
[WIP] Provide an ini setting which you can explicitly prioritize a format selection for MR calibration (reflects the list in editor).
Change 3664526 by Keli.Hlodversson
#jira UE-50100
Updated library revision for GoogleVR
Unshelved from pending changelists '3646524', '3646526', '3646528'':
Change 3666500 by Keli.Hlodversson
Fix -Wreorder compiler warnings
Change 3678564 by Douglas.Copeland
Updating TM-HMDNodes LEvel BP to replace deprecated Tracking Sensor node
Change 3678919 by Mike.Beach
Extending and renaming the XRSystemAssets interface. Plus fixing a few bugs found in the SteamVR implementation.
Change 3678920 by Mike.Beach
Stubbing in Oculus support for a IXRSystemAssets implementation (currently using our own 'unofficial' models from the VREditor).
Change 3678922 by Mike.Beach
Adding XR Blueprint library functions for accessing specific device information (tracking, modeling, etc.).
Change 3678941 by Mike.Beach
CIS fixes for Dev-VR (fallout from CL 3678919)
Change 3679930 by Mike.Beach
Adding native support to MotionController components, for rendering the associated device.
Change 3681153 by Mike.Beach
Speculative fix for android CIS errors.
#jira UE-50776
Change 3697385 by Keli.Hlodversson
Fix broken OSVR build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3697516 by Keli.Hlodversson
Fix broken SimpleHMD build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3698318 by Ryan.Vance
Inverse can fail if we don't normalize the player's rotation.
Change 3698371 by Keli.Hlodversson
GoogleVR projects fail to build: GoogleVRHMD.cpp(1175,110) : error: no member named 'ES2' in 'EShadingPath'
#jira UE-51334
Change 3701479 by Mike.Beach
Adding the ability to delay motion controller tracking for MR capture views (to better sync with camera feeds).
#jira UEVR-908
Change 3703264 by Mike.Beach
CIS fixes for linux (fallout from CL 3701479).
Change 3703792 by Ryan.Vance
Disable mobile multi-view for Daydream if the gvr query for support fails.
Change 3704273 by Mike.Beach
[WIP] The MRPlugin now auto spawns a MR capture actor if you have a MR config save file.
Change 3704524 by Mike.Beach
MR Calibration - Enter key can now progress you through some of the prompts.
Change 3706679 by Mike.Beach
Fixing issue with MotionController display models where the model component wouldn't be destroyed along with the MotionControllerComponent
Change 3707538 by Mike.Beach
Hiding child actors along with the player in the MR capture.
Change 3714120 by Mike.Beach
Adding new library function to transform tracking space positions/orientations into world space. And fixing EnumerateTrackedDevices/GetDevicePose, which weren't finding the appropriate tracking system.
Change 3716143 by Mike.Beach
Speculative fix for XboxOne CIS issues.
Change 3719006 by Mike.Beach
Removing some debug log spam that I accidently left in CL 3714120.
Change 3719774 by Mike.Beach
Adding a scoped event name for the rift eye padding draw (so it shows up named in captures like from RenderDoc).
Change 3719778 by Mike.Beach
Mirroring CL 3671849 from 4.18.
Removing Oculus call to reset tracking origin on initialization (so we respect the play space that was calibrated in oculus setup) - ensuring parity w/ Vive (fixing regression).
#jira UE-48260
Change 3736279 by Jeff.Fisher
Touching a couple files to see if it helps the build machine by making it sync them again.
Change 3736296 by Jeff.Fisher
Touching another file to kick the build machine into syncing it.
Change 3740060 by Ryan.Vance
Removing PostInitViewFamily_RenderThread and PostInitView_RenderThread view extension callbacks.
Change 3744913 by Mike.Beach
Fixing up the MotionDelayBuffer for MixedReality
- CIS fix when building for XboxOne
- Now works if late updating is disabled
- Switched to setting delay in millisecs and interpolating between samples
- Better handling for thread managment (was getting out of sync when focus was lost, etc.)
- Decoupled more from MotionControllerComponents (now polls separately, and uses its own LateUpdateManager to cache/apply)
#jira UEVR-908
Change 3747168 by Jeff.Fisher
UEVR-1018 MotionControllerComponent cleanup should be in beginDestroy, not Destructor
-Moved ViewExtension cleanup to BeginDestory from destructor.
-https://udn.unrealengine.com/questions/395504/strange-crash-in-umotioncontrollercomponent.html
#review-3724080
#jira UEVR-1018
Change 3753326 by Douglas.Copeland
Resaving qagame content to resolve Empty Engine Version Warning
Change 3753336 by Douglas.Copeland
Resolving more empty engine version content issues
Change 3754252 by Mike.Beach
Mirroring CL 3723722 from 4.18.1
Hotfix update from Oculus.
- Introduce dash support by adding an Oculus config setting (that is off by default)
- Move submission of the near plane╞s depth from a fixed one at texture allocation time to an every-frame one, which is needed for correct depth support in games that have a ⌠god mode÷ with a smaller worldtometersscale
#jira UE-51728
Change 3754262 by Mike.Beach
Mirroring 3726121 from 4.18.1
Correcting a cpu perf regression from 4.17 - no longer calling FOculusHMDModule::Get() in what should be a cheap query function.
#jira UE-51766
Change 3754278 by Mike.Beach
Mirroring CL 3741384 from 4.18.1
Fix from Oculus for GearVR crashing/freezing when quit menu is invoked - making sure JNI is attached to the render thread (after losing focus).
#jira UE-52098
Change 3754300 by Mike.Beach
Mirroring CL 3742608 from 4.18.1
Fix from Oculus - improving perf on GearVR; keeping the window surface from scaling up to a size not required for Gear.
#jira UE-52127
Change 3754319 by Mike.Beach
Build fix - fallout from blindly adopting CL 3726121 from 4.18.1 w/out fixup (CL 3754262)
Change 3755546 by Keli.Hlodversson
Marking a zombie header file for delete. Seems to get resurrected from the dead on every merge from main.
File is no longer relevant as the OculusAudio plugin has been moved to the Plugins/Runtime/Oculus parent directory.
Change 3759716 by Mike.Beach
Adopted chenges from Oculus (SI1.20)
Manually modified files:
- DefaultXRCamera.cpp
Rejected changes:
- SceneRenderTargets.cpp
#jira UE-50855, UE-50883, UE-50950, UE-50974, UE-52427
Change 3760918 by Keli.Hlodversson
Disable an ensure that had some false positives during the first few frames.
#jira UE-52448
Change 3760946 by Keli.Hlodversson
Missing SteamVR changes after deprecating RefreshPoses()
#jira UEVR-1037
Change 3762015 by Mike.Beach
CIS fix for android - fallout from Oculus 1.20 changes. Lib function was removed, with calls remaining on android (double checking with Oculus that this is the proper fix).
Change 3762236 by Ryan.Vance
Fixing up integration issues.
Change 3763437 by Keli.Hlodversson
Fix deprecation warning in SimpleHMD caused by removing RefreshPoses()
Change 3764713 by Ryan.Vance
#jira UE-52516
PSVR screen percentage was being disabled by default stereo layers on accident.
Change 3652413 by Mike.Beach
In editor, only utilizing the HMD orientation when we're in a VR related mode (VR preview, VR editor, etc.). Not normalizing view pitch rotation unless we're in one of those modes.
#jira UE-46724
Change 3690170 by Keli.Hlodversson
Postprocessing now uses only the HMDDistortion flag to see whether a postprocessing pass is required for the current plugin instead of the older clutch that checks the plugin HMD type
Added EShaderPath argument to GetHMDDistorionEnabled method so that the edge cases solved by the postprocessor and HMD type now can be handled by the plugins themselves.
#jira UEVR-996
Change 3690625 by Keli.Hlodversson
Remove IHeadMountedDisplay::GetHMDDeviceType() as it was added as a part of a clutch in postprocessing, but was later getting misused as a poor man's RTI even though a better alternative in IXRTrackingSystem::GetSystemName is already available.
#jira UEVR-996
Change 3760773 by Keli.Hlodversson
Update interfaces related to late update and begin rendering:
* Deprecate RefreshPoses
Note: Existing and non-empty RefreshPoses implementations have been made private and non-virtual, and renamed to UpdatePoses in order not to conflict with the still-existing deprecated method in the base interface.
* Rename BeginRendering_GameThread/RenderThread to OnBeginRendering_* and move them to IXRTrackingSystem instead of IHeadMountedDisplay.
* Add bool DoesSupportLateUpdate() const to IXRTrackingSystem. IXRCamera implementations can use the method to see whether the underlying tracking system implementation supports late update. Note it is up to the IXRTrackingSystem implementations inside each plugin to actually make sure poses are updated somewhere before the late update is applied by the IXRCamera. (eg. in OnBeginRendering_RenderThread or ..._GameThread)
* Move call to OnBeginRedering_RenderThread to happen before GetCurrentPose in FXRDefaultCamera so the plugin has a chance to refresh the poses inside its implementation of it.
* Add IXRTrackingSystem::OnLateUpdateApplied_RenderThread, a method for notifying the tracking system that late update has been applied, passing in the current relative pose. Used by FXRTrackingSystemBase to pass the updated transform to the stereo layers implementation.
#jira UEVR-1037
Change 3761781 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Manually resolved files:
- OculusHMD.cpp
- OculusHMD_Settings.h/cpp
- SteamVRHMD.cpp
- PostProcessing.cpp
- OrionGame/Plugins/.../OnlineSessionInterface.h/cpp
[CL 3766571 by Mike Beach in Main branch]
2017-11-20 12:50:04 -05:00
# include "IXRSystemAssets.h"
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
2019-01-28 16:31:25 -05:00
2020-02-06 13:13:41 -05:00
constexpr float FHeadMountedDisplayBase : : PixelDensityMin ;
constexpr float FHeadMountedDisplayBase : : PixelDensityMax ;
2019-01-28 16:31:25 -05:00
FHeadMountedDisplayBase : : FHeadMountedDisplayBase ( IARSystemSupport * InARImplementation )
: FXRTrackingSystemBase ( InARImplementation )
, bHeadTrackingEnforced ( false )
{
}
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 FHeadMountedDisplayBase : : RecordAnalytics ( )
{
TArray < FAnalyticsEventAttribute > EventAttributes ;
if ( FEngineAnalytics : : IsAvailable ( ) & & PopulateAnalyticsAttributes ( EventAttributes ) )
{
// send analytics data
FString OutStr ( TEXT ( " Editor.VR.DeviceInitialised " ) ) ;
FEngineAnalytics : : GetProvider ( ) . RecordEvent ( OutStr , EventAttributes ) ;
}
}
bool FHeadMountedDisplayBase : : PopulateAnalyticsAttributes ( TArray < FAnalyticsEventAttribute > & EventAttributes )
{
IHeadMountedDisplay : : MonitorInfo MonitorInfo ;
GetHMDMonitorInfo ( MonitorInfo ) ;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " DeviceName " ) , GetSystemName ( ) . ToString ( ) ) ) ;
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
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " DisplayDeviceName " ) , * MonitorInfo . MonitorName ) ) ;
# if PLATFORM_WINDOWS
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " DisplayId " ) , MonitorInfo . MonitorId ) ) ;
# else // Other platforms need some help in formatting size_t as text
FString DisplayId ( FString : : Printf ( TEXT ( " %llu " ) , ( uint64 ) MonitorInfo . MonitorId ) ) ;
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " DisplayId " ) , DisplayId ) ) ;
# endif
FString MonResolution ( FString : : Printf ( TEXT ( " (%d, %d) " ), MonitorInfo.ResolutionX, MonitorInfo.ResolutionY)) ;
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " Resolution " ) , MonResolution ) ) ;
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " InterpupillaryDistance " ) , GetInterpupillaryDistance ( ) ) ) ;
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " ChromaAbCorrectionEnabled " ) , IsChromaAbCorrectionEnabled ( ) ) ) ;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3512802)
#lockdown Nick.Penwarden
#rb no.one
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3060975 by Ryan.Vance
Integrating 3058175 from Oculus
Change 3466079 by Nick.Atamas
Added rudimentary collision support to MrMesh.
Change 3468111 by Mike.Beach
Give the SceneRender component's scene view a specific ViewActor (the component's owner). This lets us set bOnlyOwnerSee on components belonging to the same actor, and have it only showup in the render scene view.
Change 3468267 by Nick.Atamas
Now using non-interleaved data in MRMeshComponent
Change 3468475 by Mike.Beach
Initial checkin for new mixed reality plugin (WIP). New MixedReality capture component, intended to mimic a real world camera.
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
#jira UEVR-795, UEVR-789
Change 3468483 by Mike.Beach
Marking the new MixedReality plugin as experimental (as it is incomplete and a WIP)
Change 3468511 by Mike.Beach
CIS fixes for fallout from CL 3468475.
Change 3469754 by Mike.Beach
CIS compiler error fixes (fallout from CL 3468475).
Change 3470407 by Mike.Beach
*sigh* more CIS fixes (fallout from 3468475)
Change 3471494 by Douglas.Copeland
Test content for GearVR Stereo Layers
Change 3476135 by Jeff.Fisher
UE-45661 Duplicate .so files in GoogleVR.
-We want the version of each file from the android_x86 style folder, but in the android\x86 folder, and the APL.xml file needed to reference the new path rather than the old path.
-This fix was also made in Release-4.16 for 4.16.2 in cl 3476133.
#jira UE-45661
#review-3474770
Change 3480446 by Dustin.Holmes
Added support for Vive Tracker.
#jira UEVR-792
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3483325 by Nick.Atamas
Merging //UE4/Partner-Google-VR to Dev-VR (//UE4/Dev-VR)
Known issue with Mac build packaging.
Change 3485969 by Nick.Atamas
Fixed double-spacing and formatting issues.
Converted TangoEcefUtils.cpp to follow Epic coding standards.
Change 3486071 by Nick.Atamas
Rename/move file(s) from Plugins/Runtime/Tango/... to Plugins/Runtime/GoogleTango/...
Change 3486078 by Nick.Atamas
Fixed non-portable (wrong case) include path.
Change 3486906 by Jeff.Fisher
Fixing build warning about a variable being shadowed.
Change 3487245 by Jeff.Fisher
Fixing build break in some template source files from HeadMountedDisplayFunctionLibrary move.
Change 3487827 by Nick.Atamas
Fixing the missing platforms header; should resolve CIS warning.
Change 3488808 by Keli.Hlodversson
Fix vr.Debug.VisualizeTrackingSensors when ViewTarget->HasActiveCameraComponent() is true.
Also switched to use GWorld instead of passing in the current World argument to the handler as the world pointer can change for instance if turning the setting on and loading another level in the editor.
#jira UE-45949
Change 3490841 by Nick.Atamas
Fixing more CIS and coding standard issues related to Tango.
Change 3491038 by Nick.Atamas
Modified GoogleInstantPreview.Build.cs to use RuntimeDependencies instead of explicit dylib/dll copying.
Change 3492481 by Jeff.Fisher
Fixing HeadMountedDisplayTypes.h shadowed member warning.
Change 3495157 by Mike.Beach
New XR modular feature - XRDeviceAssets. Intended to give us access to device models so we can render arbitrary devices. Implements this for SteamVR.
#jira UEVR-829
Change 3495205 by Mike.Beach
CIS fix (fallout from 3495157) - missing leading 'template<>' for template specializations.
Change 3495213 by Mike.Beach
Fixing the vr.SpectatorScreenMode CVar so that it's sink function doesn't override other CVar commands that set the mode themselves.
#jira UEVR-790
Change 3495403 by Nick.Atamas
- Disabled Google Tango support for Win32.
- Disabled GoogleInstantPreview files being erroneously included while building game; it is only used by Editor.
- Renamed Tango.uplugin -> GoogleTango.uplugin
- Fixed self-assignment in TangoImageComponent.cpp
Change 3496225 by Mike.Beach
Fixing CIS compiler error for non-editor builds (fallout from CL 3495157).
Change 3496981 by Nick.Atamas
GoogleInstantPreview libraries are now checked into Binaries/ThirdParty/... so that no copying from .Build.cs is necessary.
Change 3497033 by Nick.Atamas
Going back from GoogleTango/ to Tango/. It's a bigger change that previously thought.
Change 3498487 by Nick.Whiting
Adding option to PIE settings to NOT minimize editor when doing VR PIE
Change 3499242 by Dustin.Holmes
Fixed static analysis warning by updating the number of devices that can have their button states tracked.
Change 3499341 by Nick.Atamas
Hopefully fixes Mac Editor CIS.
Change 3499395 by Arciel.Rekman
Copying //UE4/Partner-Valve@3499365 to Dev-VR (//UE4/Dev-VR)
Change 3499550 by Ryan.Vance
Fixing compile issue.
Change 3499678 by Nick.Atamas
- Dummy Mesh Reconsturctor now sometimes generates empty blocks to test more scenarios.
- Removed unused code in DummyMeshReconstructorModule
- Removed unused variable in GoogleInstantPreview.Build.cs
Change 3499840 by Nick.Atamas
std::string needed by google's online system.
Change 3499889 by Nick.Atamas
Fixed static code analysis CIS fails.
Change 3500007 by Nick.Whiting
Removing Vulkan RHI dependency on a plugin, refactoring it to use an interface to check to break the dependency
Change 3500027 by Nick.Whiting
Fixing missing include file in SteamAudio
Change 3500030 by Nick.Whiting
Changing cast from reinterp to static. Copypasta fail
Change 3500078 by Nick.Whiting
Speculative fix for the builder for an error that doesn't repro locally
Change 3500086 by Nick.Atamas
More build fixups.
Change 3500096 by Nick.Atamas
Copying //UE4/Partner-Google-VR-Minimal at CL3499964 to Dev-VR (//UE4/Dev-VR)
Change 3500107 by Nick.Atamas
Does this fix CIS?
Change 3500121 by Nick.Atamas
More CIS fixing, hopefully.
Change 3500129 by Nick.Atamas
More CIS fixing.
Change 3500713 by Nick.Whiting
Fix for Win32 build break
Change 3500887 by Arciel.Rekman
Fixed copyright notices and compilation errors in Steam Audio.
(Edigrating CL 3500131)
Change 3501010 by Arciel.Rekman
Fix shadowing error.
Change 3501230 by Nick.Atamas
Make warning go away.
Change 3501890 by Nick.Atamas
Moving Tango->GoogleTango. Fixup pass in next CL.
Change 3501900 by Jeff.Fisher
UE-46265 Crash attempting to Play in VR
-Need to call UpdateSpectatorScreenMode_RenderThread in PreRenderViewFamily_RenderThread so that the mode is set before other renderthread work decides what to do based on the mode.
#review-3501882
#jira UE-46256
Change 3502152 by Nick.Whiting
Oculus Unified Plugin. OculusHMD plugin now supports both the Rift and the GearVR in one plugin. Minor supporting engine modifications included
Change 3502199 by Nick.Atamas
Checking in TangoQA project with fixed-up content to point at GoogleTango plugin.
Known issue: crash when building cooking collision for bricks with no triangles.
Change 3502215 by Nick.Atamas
Fixed UIScale curve.
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3502930 by Mike.Beach
Attempt to fix build errors (fallout from CL 3502873), using new (moved/renamed) PhysX cook util struct.
Change 3503559 by Jeff.Fisher
UE-46300 Editor process crashes when opening with Oculus HMD plugged in
-Reimplementing spectator screen for updated oculus plugin.
#jira UE-46300
#review-3503455
Change 3503685 by Jeff.Fisher
TM-SpectatorScreen
-made the scene capture component follow the camera orientation so i can make it look at different stuff.
Change 3503695 by Nick.Whiting
Fixes for build breaks
Change 3503819 by Jeff.Fisher
TM-SpectatorScreen
-Adjusted scene capture and render target to get approximately correct color in the spectator screen.
Change 3503852 by Nick.Atamas
- Fixed crash when sending a brick with 0 data.
- Added implementation to ClearAllBricks.
Change 3503947 by Ryan.Vance
Fixing overspecified method definitions.
Change 3505242 by Douglas.Copeland
Added gamepad inputs to SpectatorScreen Level BP for more efficient test setup
Change 3505307 by Douglas.Copeland
Re-saving Emmissive_Blue Material to resolve map warning
Change 3505704 by Ryan.Vance
We can't pass a nullptr into RenderTexture_RenderThread. Instead of checking for a mirror window here, the RenderTexture_RenderThread implementation should do the right thing. Jeff's mirrorwindow/socialscreen refactoring should handle this correctly now.
Change 3505914 by Jeff.Fisher
UE-46370 Ensure handled when restarting Editor after disabling Oculus plugin
-remove scaling from the pose if necessary. It appears that when running oculus rift through steamvr the tracking reference comes through at .99 scale. We can't build a quat out of it unless it is normalized.
#jira UE-46370
#review-3505892
Change 3506650 by Jack.Porter
External Texture fixes changes from Dev-Sequencer
- fix ENGINE_API meaning singletons were existing in each module
- fix crash releasing an External RHITexture resource.
- Recache uniform expressions when external textures are registered and unregistered
Change 3506653 by Jack.Porter
Remove external texture logging that was accidentally enabled.
Change 3507043 by Mike.Beach
Fixing CIS content errors (copied material still referencing assets from a separate plugin) - redid the material.
Change 3507231 by Ryan.Vance
#jira UE-46426
Fail preinit on gearvr if bPackageForGearVR is false
Change 3507822 by Jeff.Fisher
UE-46445 Player can't move through level by holding one grip button in Editor VR Mode
-We were passing worldscalefactor, rather than worldscale into the get controller position function. WorldScaleFactor is worldscale / 100, making it a unitless multiplier of the world scale. So a *magical* 100 needs to be multipled back in here. Oculus must have found that and fixed it, looks like it was broken for 4.16.
#jira UE-46445
Change 3508167 by Jeff.Fisher
Fixing CheckSlow at startup on Oculus. The head pose orientation was being initialized to zero rather than identity, which isn't so useful.
Change 3509622 by Jeff.Fisher
Adding commented out null check to commented out implementation of ShouldDisableHiddenAndVisibileAreaMeshForSpectatorScreen_RenderThread.
Change 3509983 by Jeff.Fisher
Fixing vr.MirrorMode alias to vr.SpectatorScreenMode
-was trying to use a cvar that no longer exists
Change 3510188 by Ryan.Vance
#jira UE-46454
We need to set the render target before applying cached render targets.
Change 3510231 by Mike.Beach
Setting up redirects for the plugin, since it was renamed from "OculusLibrary" to "OculusHMD" - ensuring that projects don't loose references in Blueprints, etc.
#jira UE-46462
Change 3510253 by Ryan.Vance
#jira UE-46452
We need to execute the clear before seting up shader state for the copy.
Change 3511627 by Mike.Beach
Correcting some CIS warnings - Updating misc. GetWorldFromContextObject() calls since the old signature was deprecated by the latest Framework integration.
Change 3511984 by Mike.Beach
Fixing fallout from integration with Main (CL 3511845)... common shader file renamed (to .ush instead of .usf).
Change 3512797 by Mike.Beach
Static analysis fix - making doubly sure that we're not indexing into out of bounds memory.
Change 3512802 by Mike.Beach
Only warning about the OculusHMD module being unavailable when it isn't loaded (otherwise, we were extraneously warning when users didn't have a rift).
#jira UE-46575
DONE!
[CL 3512933 by Mike Beach in Main branch]
2017-06-27 23:02:31 -04:00
EventAttributes . Add ( FAnalyticsEventAttribute ( TEXT ( " MirrorToWindow " ) , IsSpectatorScreenActive ( ) ) ) ;
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
return true ;
}
2018-12-12 11:25:29 -05:00
bool FHeadMountedDisplayBase : : IsHeadTrackingEnforced ( ) const
{
return bHeadTrackingEnforced ;
}
void FHeadMountedDisplayBase : : SetHeadTrackingEnforced ( bool bEnabled )
{
bHeadTrackingEnforced = bEnabled ;
}
2017-10-24 10:14:07 -04:00
bool FHeadMountedDisplayBase : : IsHeadTrackingAllowed ( ) const
{
2018-12-12 11:25:29 -05:00
const bool bTrackingEnabled = IsStereoEnabled ( ) | | IsHeadTrackingEnforced ( ) ;
2017-10-24 10:14:07 -04:00
# if WITH_EDITOR
if ( GIsEditor )
{
// @todo vreditor: We need to do a pass over VREditor code and make sure we are handling the VR modes correctly. HeadTracking can be enabled without Stereo3D, for example
UEditorEngine * EdEngine = Cast < UEditorEngine > ( GEngine ) ;
2018-12-12 11:25:29 -05:00
return ( ! EdEngine | | EdEngine - > IsHMDTrackingAllowed ( ) ) & & bTrackingEnabled ;
2017-10-24 10:14:07 -04:00
}
# endif // WITH_EDITOR
2018-12-12 11:25:29 -05:00
return bTrackingEnabled ;
2017-10-24 10:14:07 -04:00
}
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
IStereoLayers * FHeadMountedDisplayBase : : GetStereoLayers ( )
{
if ( ! DefaultStereoLayers . IsValid ( ) )
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
DefaultStereoLayers = FSceneViewExtensions : : NewExtension < FDefaultStereoLayers > ( this ) ;
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
}
return DefaultStereoLayers . Get ( ) ;
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3764848)
#lockdown Nick.Penwarden
#rb no.one
============================
MAJOR FEATURES & CHANGES
============================
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3640098 by Mike.Beach
Switching the MR capture processing material to use a external sampler now (since that's what media textures are marked as now).
Change 3642021 by Mike.Beach
Moving so MediaBlueprint header to Public so FMediaCaptureDevice can be used in other BP APIs (in other modules).
#jira UEVR-910
Change 3642030 by Mike.Beach
[WIP] Refactoring the MR capture component (along with the calibration level) so we can save off a reference to the video stream/format users select (adding a device selection step to calibration).
#jira UEVR-910
Change 3645768 by Mike.Beach
[WIP] Refining device selection/calibration so it reports which feeds error.
#jira UEVR-910
Change 3646047 by Mike.Beach
CIS linux fix.
Change 3646350 by Mike.Beach
[WIP] Provide an ini setting which you can explicitly prioritize a format selection for MR calibration (reflects the list in editor).
Change 3664526 by Keli.Hlodversson
#jira UE-50100
Updated library revision for GoogleVR
Unshelved from pending changelists '3646524', '3646526', '3646528'':
Change 3666500 by Keli.Hlodversson
Fix -Wreorder compiler warnings
Change 3678564 by Douglas.Copeland
Updating TM-HMDNodes LEvel BP to replace deprecated Tracking Sensor node
Change 3678919 by Mike.Beach
Extending and renaming the XRSystemAssets interface. Plus fixing a few bugs found in the SteamVR implementation.
Change 3678920 by Mike.Beach
Stubbing in Oculus support for a IXRSystemAssets implementation (currently using our own 'unofficial' models from the VREditor).
Change 3678922 by Mike.Beach
Adding XR Blueprint library functions for accessing specific device information (tracking, modeling, etc.).
Change 3678941 by Mike.Beach
CIS fixes for Dev-VR (fallout from CL 3678919)
Change 3679930 by Mike.Beach
Adding native support to MotionController components, for rendering the associated device.
Change 3681153 by Mike.Beach
Speculative fix for android CIS errors.
#jira UE-50776
Change 3697385 by Keli.Hlodversson
Fix broken OSVR build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3697516 by Keli.Hlodversson
Fix broken SimpleHMD build after removing IHeadMountedDisplay::GetHMDDeviceType()
Change 3698318 by Ryan.Vance
Inverse can fail if we don't normalize the player's rotation.
Change 3698371 by Keli.Hlodversson
GoogleVR projects fail to build: GoogleVRHMD.cpp(1175,110) : error: no member named 'ES2' in 'EShadingPath'
#jira UE-51334
Change 3701479 by Mike.Beach
Adding the ability to delay motion controller tracking for MR capture views (to better sync with camera feeds).
#jira UEVR-908
Change 3703264 by Mike.Beach
CIS fixes for linux (fallout from CL 3701479).
Change 3703792 by Ryan.Vance
Disable mobile multi-view for Daydream if the gvr query for support fails.
Change 3704273 by Mike.Beach
[WIP] The MRPlugin now auto spawns a MR capture actor if you have a MR config save file.
Change 3704524 by Mike.Beach
MR Calibration - Enter key can now progress you through some of the prompts.
Change 3706679 by Mike.Beach
Fixing issue with MotionController display models where the model component wouldn't be destroyed along with the MotionControllerComponent
Change 3707538 by Mike.Beach
Hiding child actors along with the player in the MR capture.
Change 3714120 by Mike.Beach
Adding new library function to transform tracking space positions/orientations into world space. And fixing EnumerateTrackedDevices/GetDevicePose, which weren't finding the appropriate tracking system.
Change 3716143 by Mike.Beach
Speculative fix for XboxOne CIS issues.
Change 3719006 by Mike.Beach
Removing some debug log spam that I accidently left in CL 3714120.
Change 3719774 by Mike.Beach
Adding a scoped event name for the rift eye padding draw (so it shows up named in captures like from RenderDoc).
Change 3719778 by Mike.Beach
Mirroring CL 3671849 from 4.18.
Removing Oculus call to reset tracking origin on initialization (so we respect the play space that was calibrated in oculus setup) - ensuring parity w/ Vive (fixing regression).
#jira UE-48260
Change 3736279 by Jeff.Fisher
Touching a couple files to see if it helps the build machine by making it sync them again.
Change 3736296 by Jeff.Fisher
Touching another file to kick the build machine into syncing it.
Change 3740060 by Ryan.Vance
Removing PostInitViewFamily_RenderThread and PostInitView_RenderThread view extension callbacks.
Change 3744913 by Mike.Beach
Fixing up the MotionDelayBuffer for MixedReality
- CIS fix when building for XboxOne
- Now works if late updating is disabled
- Switched to setting delay in millisecs and interpolating between samples
- Better handling for thread managment (was getting out of sync when focus was lost, etc.)
- Decoupled more from MotionControllerComponents (now polls separately, and uses its own LateUpdateManager to cache/apply)
#jira UEVR-908
Change 3747168 by Jeff.Fisher
UEVR-1018 MotionControllerComponent cleanup should be in beginDestroy, not Destructor
-Moved ViewExtension cleanup to BeginDestory from destructor.
-https://udn.unrealengine.com/questions/395504/strange-crash-in-umotioncontrollercomponent.html
#review-3724080
#jira UEVR-1018
Change 3753326 by Douglas.Copeland
Resaving qagame content to resolve Empty Engine Version Warning
Change 3753336 by Douglas.Copeland
Resolving more empty engine version content issues
Change 3754252 by Mike.Beach
Mirroring CL 3723722 from 4.18.1
Hotfix update from Oculus.
- Introduce dash support by adding an Oculus config setting (that is off by default)
- Move submission of the near plane╞s depth from a fixed one at texture allocation time to an every-frame one, which is needed for correct depth support in games that have a ⌠god mode÷ with a smaller worldtometersscale
#jira UE-51728
Change 3754262 by Mike.Beach
Mirroring 3726121 from 4.18.1
Correcting a cpu perf regression from 4.17 - no longer calling FOculusHMDModule::Get() in what should be a cheap query function.
#jira UE-51766
Change 3754278 by Mike.Beach
Mirroring CL 3741384 from 4.18.1
Fix from Oculus for GearVR crashing/freezing when quit menu is invoked - making sure JNI is attached to the render thread (after losing focus).
#jira UE-52098
Change 3754300 by Mike.Beach
Mirroring CL 3742608 from 4.18.1
Fix from Oculus - improving perf on GearVR; keeping the window surface from scaling up to a size not required for Gear.
#jira UE-52127
Change 3754319 by Mike.Beach
Build fix - fallout from blindly adopting CL 3726121 from 4.18.1 w/out fixup (CL 3754262)
Change 3755546 by Keli.Hlodversson
Marking a zombie header file for delete. Seems to get resurrected from the dead on every merge from main.
File is no longer relevant as the OculusAudio plugin has been moved to the Plugins/Runtime/Oculus parent directory.
Change 3759716 by Mike.Beach
Adopted chenges from Oculus (SI1.20)
Manually modified files:
- DefaultXRCamera.cpp
Rejected changes:
- SceneRenderTargets.cpp
#jira UE-50855, UE-50883, UE-50950, UE-50974, UE-52427
Change 3760918 by Keli.Hlodversson
Disable an ensure that had some false positives during the first few frames.
#jira UE-52448
Change 3760946 by Keli.Hlodversson
Missing SteamVR changes after deprecating RefreshPoses()
#jira UEVR-1037
Change 3762015 by Mike.Beach
CIS fix for android - fallout from Oculus 1.20 changes. Lib function was removed, with calls remaining on android (double checking with Oculus that this is the proper fix).
Change 3762236 by Ryan.Vance
Fixing up integration issues.
Change 3763437 by Keli.Hlodversson
Fix deprecation warning in SimpleHMD caused by removing RefreshPoses()
Change 3764713 by Ryan.Vance
#jira UE-52516
PSVR screen percentage was being disabled by default stereo layers on accident.
Change 3652413 by Mike.Beach
In editor, only utilizing the HMD orientation when we're in a VR related mode (VR preview, VR editor, etc.). Not normalizing view pitch rotation unless we're in one of those modes.
#jira UE-46724
Change 3690170 by Keli.Hlodversson
Postprocessing now uses only the HMDDistortion flag to see whether a postprocessing pass is required for the current plugin instead of the older clutch that checks the plugin HMD type
Added EShaderPath argument to GetHMDDistorionEnabled method so that the edge cases solved by the postprocessor and HMD type now can be handled by the plugins themselves.
#jira UEVR-996
Change 3690625 by Keli.Hlodversson
Remove IHeadMountedDisplay::GetHMDDeviceType() as it was added as a part of a clutch in postprocessing, but was later getting misused as a poor man's RTI even though a better alternative in IXRTrackingSystem::GetSystemName is already available.
#jira UEVR-996
Change 3760773 by Keli.Hlodversson
Update interfaces related to late update and begin rendering:
* Deprecate RefreshPoses
Note: Existing and non-empty RefreshPoses implementations have been made private and non-virtual, and renamed to UpdatePoses in order not to conflict with the still-existing deprecated method in the base interface.
* Rename BeginRendering_GameThread/RenderThread to OnBeginRendering_* and move them to IXRTrackingSystem instead of IHeadMountedDisplay.
* Add bool DoesSupportLateUpdate() const to IXRTrackingSystem. IXRCamera implementations can use the method to see whether the underlying tracking system implementation supports late update. Note it is up to the IXRTrackingSystem implementations inside each plugin to actually make sure poses are updated somewhere before the late update is applied by the IXRCamera. (eg. in OnBeginRendering_RenderThread or ..._GameThread)
* Move call to OnBeginRedering_RenderThread to happen before GetCurrentPose in FXRDefaultCamera so the plugin has a chance to refresh the poses inside its implementation of it.
* Add IXRTrackingSystem::OnLateUpdateApplied_RenderThread, a method for notifying the tracking system that late update has been applied, passing in the current relative pose. Used by FXRTrackingSystemBase to pass the updated transform to the stereo layers implementation.
#jira UEVR-1037
Change 3761781 by Mike.Beach
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Manually resolved files:
- OculusHMD.cpp
- OculusHMD_Settings.h/cpp
- SteamVRHMD.cpp
- PostProcessing.cpp
- OrionGame/Plugins/.../OnlineSessionInterface.h/cpp
[CL 3766571 by Mike Beach in Main branch]
2017-11-20 12:50:04 -05:00
bool FHeadMountedDisplayBase : : GetHMDDistortionEnabled ( EShadingPath /* ShadingPath */ ) const
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3012064 on 2016/06/13 by Nick.Whiting
Merging Main -> DevVR
Change 3048060 on 2016/07/13 by Nick.Whiting
Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR
Upgrade Android and iOS GVR SDK to the latest.
Fix the flipped vignette issue when using Unreal's post processing distortion.
Change the Daydream & Cardboard mode to use scanline racing.
Deprecate the ability to turn off individual UI elements.
Change 3235307 on 2016/12/14 by Keli.Hlodversson
Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit
Change 3235308 on 2016/12/14 by Ryan.Vance
#jira UEVR-478
Monoscopic far field improvements
Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile.
Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled.
Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined.
Addressed code review comments.
Change 3235397 on 2016/12/14 by Keli.Hlodversson
[Oculus] Only enable GearVR platform on Windows if Oculus service is running
Original author: Loren.McQuade
Change 3235762 on 2016/12/14 by Keli.Hlodversson
Add explicit parentheses to placate the build bots.
Change 3242318 on 2016/12/21 by Ryan.Vance
Working around pixel density crash.
Change 3242522 on 2016/12/21 by Ryan.Vance
Missing flag clear so our adaptive test was always returning true.
Change 3243173 on 2016/12/22 by Ryan.Vance
Integrating post present callback implementation from 4.14.1
Change 3248633 on 2017/01/05 by Keli.Hlodversson
Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3248723 on 2017/01/05 by Keli.Hlodversson
Fix after merge. EnablePositionalTracking no longer exists.
Change 3249484 on 2017/01/06 by Keli.Hlodversson
Add missing includes
Change 3249714 on 2017/01/06 by Keli.Hlodversson
Remove monolithic header include
Change 3249980 on 2017/01/06 by Keli.Hlodversson
SteamVR: Remove leftover unused WindowMirrorMode member variable
Change 3252432 on 2017/01/10 by Keli.Hlodversson
Submitting change by Loren McQuade to fix monolithic builds.
Unshelved from pending changelist '3251436':
Change 3257373 on 2017/01/13 by Keli.Hlodversson
#jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands
#jira UEVR-412: Rename and merge remaining Morpheus console commands
#jira UEVR-417: Remove Exec from IHeadMountedDisplay
Change 3269971 on 2017/01/24 by Jeff.Fisher
UEVR-498 move controller is missing world to meters
UEVR-522 PS4 motion controller worldscale support.
-Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level.
-Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update.
#jira UEVR-498
#review-3384107
Change 3288308 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity
-PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed.
-Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before.
-Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4.
-Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint.
-With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit.
-PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected.
-DS4 controller no longer jumps back to 000 if it loses tracking.
#review-3384107
#jira UEVR-517
Change 3288309 on 2017/02/06 by Keli.Hlodversson
Add file missing from CL#3257373.
Change 3288311 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity - Test content.
-tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum.
-ctrl-A disables tracking of all controllers
-alt-A disables tracking of all controllers for player 0
-ctrl-D toggles enabling new controllers by default
-Also fixed one button not working in one of the other test modes for the Aim (gun) controller.
-The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera.
-This logic is in the QA_MoCoAll blueprint.
Change 3291601 on 2017/02/07 by Jeff.Fisher
UEVR-536 PSVR motion controller tracking problem with multiple controllers
-Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread.
#jira UEVR-536
#review-3384107 @Ryan.Vance
Change 3292460 on 2017/02/08 by Jeff.Fisher
PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added.
Change 3308771 on 2017/02/17 by Keli.Hlodversson
Rename GoogleVR console commands
#jira UEVR-412
Change 3309156 on 2017/02/17 by Keli.Hlodversson
Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly.
Change 3311999 on 2017/02/20 by Keli.Hlodversson
Create a default implementation for RecordAnalytics.
Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality.
Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown"
#jira UE-21878
#jira UEVR-213
Change 3313467 on 2017/02/20 by Ryan.Vance
#jira UE-41604
3278583
pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped.
3278536
Adding ovrError_NoHmd to our sanity check in OnStartGameFrame.
Change 3314002 on 2017/02/21 by Keli.Hlodversson
Fix compilation on PS4 and Linux
Change 3326722 on 2017/03/01 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Integrating 4.15 from main.
Change 3327567 on 2017/03/01 by Jeff.Fisher
UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered.
Duplicating from Release-4.15 cl 3327481, 3327542
-Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused.
#jira UEVR-588
#review-3384107
Change 3328098 on 2017/03/01 by Jeff.Fisher
4.15 merge fixes
-Fixed deprecated enum name function usage.
-Fixed world scale usage in GoogleVRController.
-Fixed compile break in PS4Tracker.
Change 3328271 on 2017/03/01 by Jeff.Fisher
2.15 merge
-restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere.
Change 3328307 on 2017/03/01 by Jeff.Fisher
4.15 merge
-More googlevr worldscale fixes.
Change 3328312 on 2017/03/01 by Jeff.Fisher
4.15 merge
-removing 2 unused includes
Change 3330610 on 2017/03/02 by Jeff.Fisher
4.15 merge
-fixing linux build
Change 3333952 on 2017/03/06 by Keli.Hlodversson
Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not.
#jira UEVR-628
#jira UE-42555
Change 3334961 on 2017/03/07 by Keli.Hlodversson
Add missing include to fix non-unity builds
Change 3336200 on 2017/03/07 by Keli.Hlodversson
Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs)
* Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.)
* Switch apparently doesn't know how to format a size_t for analytics either.
Also: Typo in backwards compatibility command name alias
Change 3337347 on 2017/03/08 by Jeff.Fisher
UE-42631 Stereo off while prox sensor uncovered causes low framerate
-Setting maxfps appropriately on 'stereo on/off'.
#review-3384107
#jira UE-42631
Change 3338385 on 2017/03/08 by Ryan.Vance
r.DisableDistortion was only being used for the mobile renderer
Change 3342301 on 2017/03/10 by patrickr.donovan
Test updates to TM-VRSmoke.
Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset.
Rebuilt lighting.
Change 3348133 on 2017/03/15 by Ryan.Vance
Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway.
Change 3348836 on 2017/03/15 by Ryan.Vance
Direct multi-view support for gear vr
Monoscopic far field with multi-view (blit and direct) support for gear vr
Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly)
Fixed missing discards/clears in the multi-view blit
Change 3348843 on 2017/03/15 by Ryan.Vance
Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16.
Change 3349276 on 2017/03/16 by Keli.Hlodversson
Fixing compile errors in GoogleVR after merge from main.
Change 3350932 on 2017/03/16 by Ryan.Vance
Re-enabling the gearvr plugin on windows.
Change 3351977 on 2017/03/17 by Jeff.Fisher
Fixing masked member variable.
Change 3352314 on 2017/03/17 by Ryan.Vance
We need to ensure that we don't select different lod levels for each eye.
Change 3352993 on 2017/03/17 by Nick.Whiting
Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D
Change 3355185 on 2017/03/20 by Nick.Whiting
Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working
Change 3355676 on 2017/03/20 by Nick.Whiting
PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications
Change 3357286 on 2017/03/21 by Jeff.Fisher
Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago.
Change 3357435 on 2017/03/21 by Jeff.Fisher
Fixing editor build break, looks like a merge mistake.
Change 3359960 on 2017/03/23 by Keli.Hlodversson
Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor.
Change 3361230 on 2017/03/23 by Jeff.Fisher
Fixing linux build opengl include problem... maybe.
Change 3361638 on 2017/03/23 by Jeff.Fisher
Another guess at fixing linux build.
Change 3364224 on 2017/03/24 by Keli.Hlodversson
Initial implementation of UEVR-576 - Base emulated layer implementation
#jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation
#jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support
#jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support
#jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support
#jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer
Change 3364242 on 2017/03/24 by Keli.Hlodversson
SteamVR layers do not support negatve Layer priorities
Change 3364263 on 2017/03/24 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up.
Change 3364472 on 2017/03/24 by Jeff.Fisher
Merge fix
Change 3364475 on 2017/03/24 by Jeff.Fisher
Fixing gearvr include.
Change 3364486 on 2017/03/24 by Jeff.Fisher
merge fix
Change 3364532 on 2017/03/24 by Ryan.Vance
pso update for mono rendering and stereo layers.
Change 3364599 on 2017/03/24 by Ryan.Vance
Oculus changes for SI1.12
Change 3365159 on 2017/03/26 by Jeff.Fisher
include fix
Change 3365182 on 2017/03/26 by Jeff.Fisher
include fix
Change 3366087 on 2017/03/27 by Ryan.Vance
Remaining files from Oculus changes for SI1.12 merge request.
Fixing a bug in OnlineSubsystem.
Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue.
Change 3366492 on 2017/03/27 by Ryan.Vance
#jira UE-43294
Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes.
Going to leave the shader clear in the rift prerender for clearing the eye padding for now.
Change 3366929 on 2017/03/27 by Ryan.Vance
Fixing compile error
Change 3368549 on 2017/03/28 by Jeff.Fisher
Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR
Upgrade Google VR Plugin to v1.3:
*Upgraded GVR NDK to 1.30.0
*Changed some BlueprintFunction to use BlueprintPure
*Add the missing bDaydream flag in UEDeployAndroid.cs
#review-3384107
Change 3368975 on 2017/03/28 by Ryan.Vance
CIS clean up
#jira UE-43428, UE-43429, UE-43426, UE-43427
Change 3369028 on 2017/03/28 by Ryan.Vance
This is not exacly 'correct', but it's at least what the code was trying to do.
Change 3370203 on 2017/03/29 by Ryan.Vance
Adding gear vr controller component support.
Change 3370918 on 2017/03/29 by Ryan.Vance
Merging 3370569 using Partner-Google-VR_to_DevVR
Change 3371030 on 2017/03/29 by Ryan.Vance
Fixing linux build errors
#jira UE-43426
Change 3371036 on 2017/03/29 by Ryan.Vance
Oculus 4.16 integration.
Not terribly happy with the use of std::string. They promised to clean this up for the next release.
Change 3373495 on 2017/03/30 by Jeff.Fisher
Merging from Dev-Main, in preparation for 4.16
Change 3373578 on 2017/03/30 by Jeff.Fisher
build break, one comma short
Change 3373870 on 2017/03/31 by Jeff.Fisher
Include order fix.
Change 3374001 on 2017/03/31 by Keli.Hlodversson
Use DefaultStereoLayers as base for Morpheus implementation.
#jira UEVR-709 #jira UE-42919
#rb: Jeff.Fisher
Change 3374004 on 2017/03/31 by Keli.Hlodversson
Fix rendering for the default Stereo Layers implementation on mobile.
Depth test was set to "Never" instead of "Always"
Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms.
Change 3375125 on 2017/03/31 by Jeff.Fisher
UE-43506 Ensure using VRPreview with GoogleVR
-Removed the ensure, there is code in there to handle that case, and it works.
#jira UE-43506
Change 3375294 on 2017/03/31 by nick.bullard
Resaving Plugin content to resovle "saved with empty engine version"
#jira UE-43537
Change 3375480 on 2017/03/31 by Jeff.Fisher
UEVR-9 PSVR: Social Screen Support
-Experimental social screen support for 4.16.
-This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor.
-Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play).
-There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers.
-MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode).
-Also finally updated the bEnabled flag in project settings to tell people it's only for PC.
#jira UEVR-9
#review-3384107
Change 3375540 on 2017/03/31 by Ryan.Vance
#jira UE-43504
Fixing android build break when using a 64 bit isa.
Change 3375655 on 2017/03/31 by Jeff.Fisher
Fixing missing RGBAToYUV shader problem
-This at least unblocks our process. Will revisit before zbr.
Change 3375820 on 2017/04/01 by Jeff.Fisher
Fixing linux build warning about HAS_MORPHEUS
Change 3376050 on 2017/04/02 by Jeff.Fisher
UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings
-Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings.
-Just wrap all standard headers in static analysis disables.
#jira UE-43515
Change 3376609 on 2017/04/03 by Jeff.Fisher
Fixing rgbatoyuvshader include.
Change 3377001 on 2017/04/03 by Jeff.Fisher
UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS
- shader c++ must be compiled so that it can be cooked for ps4.
#jira UE-43547
Change 3379858 on 2017/04/04 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
pulling main this should get us ps4 sdk 4.508
Change 3379938 on 2017/04/04 by Ryan.Vance
#jira UE-43548
If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them.
The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene.
Change 3381519 on 2017/04/05 by Jeff.Fisher
UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect.
-Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status.
#jira UEVR-733
#review-3384107
Change 3382019 on 2017/04/05 by Ryan.Vance
Linux: add Vulkan support from dev editor: 3381593
Change 3382021 on 2017/04/05 by Ryan.Vance
SteamVR on Linux using Vulkan
OpenVR rev to 1_0_6
PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro)
Change 3382076 on 2017/04/05 by Ryan.Vance
Fixing linux steamvr lib path. It changed to something less silly in 1.0.6
Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed.
Change 3383237 on 2017/04/06 by Ryan.Vance
#jira UE-43732
Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now.
Change 3383353 on 2017/04/06 by Ryan.Vance
Fixing include cycles.
Change 3383509 on 2017/04/06 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
merging the stuff from dev-mobile
[CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
return 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
}
2021-11-24 21:57:34 -05:00
FVector2D FHeadMountedDisplayBase : : GetEyeCenterPoint_RenderThread ( const int32 ViewIndex ) const
2017-09-25 14:08:25 -04:00
{
check ( IsInRenderingThread ( ) ) ;
2017-10-24 10:14:07 -04:00
2018-12-12 11:25:29 -05:00
// Note: IsHeadTrackingAllowed() can only be called from the game thread.
// IsStereoEnabled() and IsHeadTrackingEnforced() can be called from both the render and game threads, however.
2019-01-28 16:31:25 -05:00
if ( ! ( IsStereoEnabled ( ) | | IsHeadTrackingEnforced ( ) ) )
2017-10-24 10:14:07 -04:00
{
return FVector2D ( 0.5f , 0.5f ) ;
}
2017-09-25 14:08:25 -04:00
2021-11-24 21:57:34 -05:00
const FMatrix StereoProjectionMatrix = GetStereoProjectionMatrix ( ViewIndex ) ;
2017-09-25 14:08:25 -04:00
//0,0,1 is the straight ahead point, wherever it maps to is the center of the projection plane in -1..1 coordinates. -1,-1 is bottom left.
const FVector4 ScreenCenter = StereoProjectionMatrix . TransformPosition ( FVector ( 0.0f , 0.0f , 1.0f ) ) ;
//transform into 0-1 screen coordinates 0,0 is top left.
const FVector2D CenterPoint ( 0.5f + ( ScreenCenter . X / 2.0f ) , 0.5f - ( ScreenCenter . Y / 2.0f ) ) ;
return CenterPoint ;
}
2021-03-05 19:27:14 -04:00
void FHeadMountedDisplayBase : : OnLateUpdateApplied_RenderThread ( FRHICommandListImmediate & RHICmdList , const FTransform & NewRelativeTransform )
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
{
if ( DefaultStereoLayers . IsValid ( ) )
{
DefaultStereoLayers - > UpdateHmdTransform ( NewRelativeTransform ) ;
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
}
2021-11-24 21:57:34 -05:00
void FHeadMountedDisplayBase : : CalculateStereoViewOffset ( const int32 ViewIndex , FRotator & ViewRotation , const float WorldToMeters , FVector & ViewLocation )
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
{
2021-11-24 21:57:34 -05:00
GetXRCamera ( ) - > CalculateStereoCameraOffset ( ViewIndex , ViewRotation , ViewLocation ) ;
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3636795)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 2932765 by Nick.Whiting
Merging updated license files for Oculus libraries
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3513736 by Keli.Hlodversson
Move duplicated late update code into a common FLateUpdateManager
#jira UEVR-893
Change 3514798 by Mike.Beach
#4.17
Exposing a way for Blueprint users to remap the SteamVR controller's d-pad buttons (clashes with the Oculus mappings).
#jira UE-42634
Change 3516042 by Dustin.Holmes
Runtime handedness changes in Vive controllers are now reflected when a new device is connected. Device mappings are also reset when a device disconnects, so that if it connects again it fully reregisters instead of just assuming the role it previously had.
Change 3517781 by Keli.Hlodversson
Remove unused local variable bUseCustomPresentTexture
Change 3517951 by Mike.Beach
#4.17
Guarding against dereferencing a null pointer. Defaulting to the identity when we don't (yet) have a valid head pose to use.
#jira UE-43685
Change 3518142 by Mike.Beach
#4.17
Resolving fallout from bad merge (CL 3514868) - checking for teminating null in array (which was added to keep ARRAY_COUNT from acting on an empty array).
Change 3523183 by Ryan.Vance
#jira UE-46493, UEVR-661
Fixes GearVR only displaying a black screen on startup
Fixes GearVR rendering incorrectly with mobile multi-view w/o direct mode enabled
Adding mobile multi-view direct support to Daydream
Change 3523718 by Nick.Whiting
Adding core controller recentering delegate, and moving Google over to that system.
Change 3527263 by Dan.Oconnor
Mirror 3526925 for Nick Donaldson
Change 3533596 by Dustin.Holmes
Add garbage matte map, gamemode, and blueprints.
Change 3533598 by Dustin.Holmes
Expose the Set Tint Color and Opacity function for Widget Components as a Blueprint node.
Change 3538139 by Mike.Beach
Moving Oculus debug shader directly into Oculus plugin.
#jira UE-47134
Change 3543185 by Nick.Atamas
Address UEVR-891 : Merge in changes to Google Tango plugin.
#jira UEVR-891
Change 3543285 by Nick.Atamas
Merging using //UE4/Release-4.17/... -> //UE4/Dev-VR/... :
Fixed UEVR-852:
Adjusted Google Tango Plugins copyright to Copyright Google 2017.
Removed Apache 2.0 license.
Change 3545505 by Nick.Atamas
Fix UEVR-851 : some fix-ups to MeshReconHUD and overlay material now has a material parameter for tinting the reconstructed mesh to help debug visualization.
Change 3547549 by Jeff.Fisher
Fixing DefaultSpectatorScreenController comment.
Change 3551339 by Ryan.Vance
#jira UE-44947
Editor primitives we not being handled correctly with ISR.
Change 3554169 by Dustin.Holmes
Reconcile missed Mixed Reality blueprint
Change 3566825 by Mike.Beach
Fixing some bad merges from Main (fallout from CL 3566309)
Change 3567143 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3567572 by Mike.Beach
[WIP] Adding some MR plugin dependencies to keep CIS quiet (SteamVR is just temporary, and will be removed).
Change 3569116 by Jeff.Fisher
Mixed reality build breaks for PS4
-Module is dependent on steamvr, so don't build it for PS4.
-Removed unused class that doesn't compile with clang.
Change 3569362 by Mike.Beach
Organizing MR plugin content, to make way for new calibration modes.
Change 3572802 by Jeff.Fisher
UEVR-832 Add save/load system for calibrated camera settings
-Moved MixedRealityConfigurationSaveGame to c++.
#review-3571779
#jira UEVR-832
Change 3573864 by Mike.Beach
[WIP] Initial work on MR cam alignment controller - records point/frustum data from user input.
Change 3575900 by Jeff.Fisher
Vive spectator flat rect expanded to match other platforms.
-The vive 'full flat eye' rect was narrower than other platforms. Expanded it to be closer to the other platforms.
Change 3578684 by Mike.Beach
Static analysis fixes for CIS.
#jira UE-48204, UE-48203, UE-48206
Change 3579460 by Mike.Beach
[WIP] New calibration mode for camera alignment.
#jira UEVR-785
Change 3581232 by Mike.Beach
[WIP] Saving off alignment calibration data, and loading it on initialization. We skip alignment calibration if it has been configured.
#jira UEVR-832
Change 3588411 by Mike.Beach
[WIP] Adding calibration for compositing (chroma color, etc.).
#jira UEVR-785
Change 3588541 by Mike.Beach
[WIP] Cleaning up some display issues with the MR calibration.
#jira UEVR-785
Change 3588680 by Mike.Beach
Re-organizing the MR content, now that the alignment controller calibrates more than just alignment (renaming, etc.).
Change 3588694 by Mike.Beach
Renaming the MR calibration pawn (since it doesn't do any calibrating itself).
Change 3591518 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3591671 by Ryan.Vance
Debug stereo layer support
This adds an option to render the debug canvas to a stereo layer which greatly improves console and stat readability in an hmd.
Change 3591812 by Ryan.Vance
Don't snap motion controllers to the origin when tracking is lost.
Change 3594681 by Mike.Beach
[WIP] Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3596679 by Mike.Beach
CIS fix (likely fallout from CL 3591671) - changing the order of initialization to better match the order of declaration.
Change 3598191 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Created MixedRealityGarbageMatteCaptureComponent. An instance of this is spawned by and attached to MixedRealityCaptureComponent. Saved config data is loaded into it. It spawns a garbage matte actor. It then captures the garbage matte actor into a render target (which is set on MixedRealityCaptureComponent).
#jira UEVR-807
#review-3598179
Change 3598276 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3598332 by Mike.Beach
Guarding against a blind cast in the SteamVRChaperone component, which can be used cross platform (can't assume SteamVR).
Change 3605271 by Mike.Beach
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3608490 by Jeff.Fisher
UEVR-987 Social Screen PS4 need to go to 'mirroring' for hmd setup dialog because system dialogs are not visible in separate mode.
UEVR-988 SpectatorScreen Flickering
UE-47234 Spectator screen: need frame delay before assigning dynamically created rendertarget to spectator texture
UE-47310 Spectator Screen: crash if you release a render target which is assigned as the spectator texture
-Test level content for all of these bugs.
Change 3608883 by Jeff.Fisher
UEVR-807 Setup M_MRVidProcessing to use 3D garbage matte data.
-Set material to use the garbage matte render target.
Change 3613292 by Mike.Beach
Moving header fcn decl up, under the proper interface section (for organization's sake).
Change 3616943 by Nick.Whiting
Updating SteamVR libraries to 1.0.9, so we can bring back macOS support
Change 3616970 by Nick.Whiting
Adding in steamvr visible area mesh support. Can be toggled with vr.SteamVR.UseVisibleAreaMesh
Change 3617866 by Mike.Beach
Updating the VR template to reflect Oculus HMD device naming that we've keyed off of in these Blueprints (when determining which VR system we're running on).
Change 3620108 by Mike.Beach
[WIP] Adding an intermediate calibration step to tweak the MR virtual cam's alignment.
Change 3620982 by Mike.Beach
Tying off some loose ends with the MR calibration map:
* Saving after each calibration phase
* Fixing blocked input from garbage matte creation
* Blocking input handling while exiting/previewing
* Adding minimum radius for random screen pt
Change 3621551 by Mike.Beach
[MR] Leveraging camera support in the new media framework - working for limited cameras in calibration.
Change 3621552 by Mike.Beach
[MR calibration] - fixing it so when you first switch into compoisiting calibration it updates the property readout.
Change 3621660 by Mike.Beach
[MR calibration] Cleaning up how we display text (adding a struct to wrap the coresponding properties).
Change 3623323 by Dustin.Holmes
Fix buffer overflow when using 5+ Vive generic trackers and add more Special hand designations to cover the maximum 11 trackers Vive supports
Change 3625900 by Keli.Hlodversson
Remove fixed 16:9 aspect ratio for SteamVR and Oculus splash screens.
Oculus was already fixed in CL#3413801, but regressed with plugin renaming and unificiation with GearVR in CL#3502152.
#jira UE-40220 StereoLayer splash layers are hardcoded to 8 by 4.5 meters (16:9 aspect ratio)
Change 3628409 by Mike.Beach
Speculative CIS fix.
#jira UE-49339
Change 3628440 by Nick.Whiting
Fix for SteamVR OSX build issues
Change 3628489 by Nick.Whiting
Fix for win32 build break
Change 3629045 by Mike.Beach
Shadowed variable name fix (CIS).
Change 3629202 by Arciel.Rekman
Copying //UE4/Partner-Valve@3629179 to Dev-VR (//UE4/Dev-VR)
Change 3629340 by Nick.Atamas
Unshelved and resolved changes from Oculus.
Change 3629772 by Ryan.Vance
Fixing Oculus Vulkan related compile issues. This will break Oculus Vulkan support, but the code needs to be refactored anyway.
Change 3629833 by Mike.Beach
Fixing up CIS warning introduced by Oculus 1.17 changes - "unsafe conversion" warning
#jira UE-49376
Change 3630696 by Jeff.Fisher
UE-49415 //UE4/Dev-VR: Incremental UE4Editor Win64 completed with errors - 5 Errors
Switching an include to a forward declaration
-Not sure why the previous version didn't compile on the build machine, but fewer dependencies is good.
Change 3630783 by Mike.Beach
Fixing CIS compiler failures for our vehicle templates.
#jira UE-49417
Change 3630802 by Mike.Beach
Better fix than 3630783 - updating the vehicle template's stereoscopic check (fixing the VehicleHud.cpp logic as well)
#jira UE-49417
Change 3630870 by Mike.Beach
Pragma'ing out a function pointer cast warning. Good warning, but I figure we know what we're doing here and there's no other way around it.
#jira UE-49376
Change 3630993 by Ryan.Vance
Check to ensure we have a valid third camera before trying to use it.
We could check >= 3 or if the left and right cameras are left/right stereo etc. decided to go with the simple test for now.
Change 3631322 by Jeff.Fisher
UEVR-909 PIP in Garbage Matte
-Added ExternalGarbageMatteActor to MixedRealityGarbageMatteCaptureComponent and exposed it to blueprint though MixedRealityCaptureComponent. This lets us switch from using the normal mixed reality component save/load garbage matte data and instead use an external actor, in this case the actor we use to setup the garbage matte. Then the mask is able to capture that actor live as it is edited.
-Also implemented GetViewOwner() so that we can use SetOwnerOnlySee to prevent other cameras and captures from seeing the garbage matte actor.
-Calibration level now uses the external garbage matte actor to let the garbate matte mask live update. It also does a picture-in-picture preview of the mixed reality scene. 'P' can show/hide the garbage matte actor on that PIP preview.
-Added SetUnmaskedPixelHighlightColor to MixedRealityCaptureComponent and the material. With this one can make unmasked video pixels more obvious in the output. The calibration level has this mapped to shift-P and makes pixels bright yellow to white.
-Added blueprint to calibration level to make the garbage matte actor visible in the mixed reality capture. That is bound to ctrl-g.
-GarbageMatteActors spawned by the mixed reality capture component are now attached to the vr origin. The calibration level now saves garbage matte mesh transforms relative to the vr origin.
-The garbage matte mesh is now plugin content, and is referenced in the mixedrealitycomponent default object, so it is cooked in any project that includes the plugin.
-Fog and AtmosphericFog no longer affect the garbage matte mask capture... there may be other things we need to turn off there.
#review-3618345
#jira UEVR-909
Change 3631362 by Keli.Hlodversson
#jira UE-49418 Exiting Google Instant Preview displays half of the editor viewport as black.
Note convoluted fix: passing bIsStereoScopic3D to IsActiveThisFrame. ISceneViewExtension code cannot rely on StereoRenderingDevice->IsStereoEnabled to know whether to render in stereo, as the current viewport widget may disable it. This was not a problem before the refactoring, as HMD-related viewextensions were only added to the active list after establishing that stereo indeed was enabled and allowed by the current view port widget.
Change 3631887 by Jeff.Fisher
Fixing IsActiveThisFrame build break.
Change 3632206 by Nick.Atamas
Fix for UE-49413.
Registering FOculusHMD as an extensions the same way as others: now creates an XRCamera that passes all the calls back to the HMD.
Change 3632264 by Nick.Whiting
Fix for Vive rendering getting cropped off due to invalid subrect values being submitted to the compositor.
Change 3632340 by Nick.Atamas
Merged in change from Loren; opted for our solution to ViewExtensions instead of the one in the changelist.
Original description below.
Change 3632214 by Loren.McQuade@Loren.McQuade_Dev-VR on 2017/09/07 19:51:29 *pending*
[Dev-VR] Added OculusHMD_SceneViewExtension, PlayerPosition/PlayerOrientation values, FOculusHMD::GetRelativeEyePose cross-eyed madness (CL 3631541, 3631687)
Change 3632353 by Ryan.Vance
#jira UE-49468
Don't apply xr camera rotation on the player controller when not using xr tracking.
Change 3632735 by Keli.Hlodversson
Better fix for #jira UE-49413.
Revert oculus xr camera code and use that one can have more than one view extension registered instead.
Use GetPriority to have the OculusHMD view extension code execute after the default xr camera.
The xr camera subclass did not forward the calls to ISceneViewExtension to the parent, breaking various functionality such as late update.
Fixes a crash when entering VR pie twice, back to back.
Change 3632752 by Keli.Hlodversson
Applying change 3632592 by Loren.McQuade@Loren.McQuade_Dev-VR_Branch on 2017/09/08 02:08:22
[Dev-VR] Push //UE4/Partner-Oculus@3632591 #rb merge
//UE4/Partner-Oculus to //UE4/Dev-VR/...
Reverted OculusHMD_XRCamera changes, as that clas has been removed in the interim.
Change 3633211 by Mike.Beach
Backing out Oculus MotionController hiding that accidently got submitted - we decided not to adopt this change originally.
Change 3633315 by Jeff.Fisher
merge from main with dev-platform problem children
-expecting SDRBackBuffer stuff to be wrong.
Change 3634006 by Mike.Beach
Resurecting Oculus clip plane settings which got dropped in the IXR refactor.
#jira UE-49520
Change 3634639 by Keli.Hlodversson
Avoid include cycle
https://ec-01.epicgames.net/commander/link/jobStepDetails/jobSteps/68863219?stepName=UE4Editor%20Static%20Analysis%20Win64%20%28IncludeTool%29&jobId=7995809&jobName=UE4%20Dev-VR%20-%20CL%203632752%20-%20Nightly%20Build&tabGroup=diagnosticHeader&firstPage=1
Change 3634641 by Jeff.Fisher
UE-49535 Lighting is blown out when playing in VR Preview on Vive
-Need pixel format to be PF_B8G8R8A8 for vr, now the plugins all build their render target and use that format.
#review-3634623
Change 3634682 by Jeff.Fisher
IHeadMountedDisplay forward declarations needed.
Change 3634690 by Ryan.Vance
We can't override the screen percentage when rendering for stereo
#jira UE-49287
Change 3635970 by Keli.Hlodversson
#jira UE-49563 Crash while opening QA-Game Referencing SharedPointer.h
Verify that StereoRendering is valid before calling IsStereoEnabled()
Change 3635979 by Mike.Beach
CIS static analysis fix - checking a ptr for null before we use it.
#jira UE-49531
Change 3636059 by Mike.Beach
Fixing XR system name aliasing for the -hmd command.
[CL 3638830 by Ryan Vance in Main branch]
2017-09-12 11:27:30 -04:00
}
void FHeadMountedDisplayBase : : InitCanvasFromView ( FSceneView * InView , UCanvas * Canvas )
{
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3383750)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3012064 on 2016/06/13 by Nick.Whiting
Merging Main -> DevVR
Change 3048060 on 2016/07/13 by Nick.Whiting
Integrating CL 3045721 from //depot/Partners/Google/AndroidVR-DevVR
Upgrade Android and iOS GVR SDK to the latest.
Fix the flipped vignette issue when using Unreal's post processing distortion.
Change the Daydream & Cardboard mode to use scanline racing.
Deprecate the ability to turn off individual UI elements.
Change 3235307 on 2016/12/14 by Keli.Hlodversson
Filter out excluded HMD modules during FEngineLoop:PreInitHMDDevice. The final selection still happens in UEngine::InitializeHMDDevice as all HMD plugins have not been loaded during PreInit
Change 3235308 on 2016/12/14 by Ryan.Vance
#jira UEVR-478
Monoscopic far field improvements
Shader changes are now gated behind the read only cvar vr.MonoscopicFarField. Changing this requires a shader compile.
Moved the mono rendering mode to the cvar vr.MonoscopicFarFieldMode. This is writable, so users can enable/disable mono rendering on the fly if the above cvar is enabled.
Only write to the alpha channel in the mobile base pass if the object is opaque and MONOSCOPIC_FAR_FIELD is defined.
Addressed code review comments.
Change 3235397 on 2016/12/14 by Keli.Hlodversson
[Oculus] Only enable GearVR platform on Windows if Oculus service is running
Original author: Loren.McQuade
Change 3235762 on 2016/12/14 by Keli.Hlodversson
Add explicit parentheses to placate the build bots.
Change 3242318 on 2016/12/21 by Ryan.Vance
Working around pixel density crash.
Change 3242522 on 2016/12/21 by Ryan.Vance
Missing flag clear so our adaptive test was always returning true.
Change 3243173 on 2016/12/22 by Ryan.Vance
Integrating post present callback implementation from 4.14.1
Change 3248633 on 2017/01/05 by Keli.Hlodversson
Copying //Tasks/UE4/Dev-VR-Refactoring to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
Change 3248723 on 2017/01/05 by Keli.Hlodversson
Fix after merge. EnablePositionalTracking no longer exists.
Change 3249484 on 2017/01/06 by Keli.Hlodversson
Add missing includes
Change 3249714 on 2017/01/06 by Keli.Hlodversson
Remove monolithic header include
Change 3249980 on 2017/01/06 by Keli.Hlodversson
SteamVR: Remove leftover unused WindowMirrorMode member variable
Change 3252432 on 2017/01/10 by Keli.Hlodversson
Submitting change by Loren McQuade to fix monolithic builds.
Unshelved from pending changelist '3251436':
Change 3257373 on 2017/01/13 by Keli.Hlodversson
#jira UEVR-411: Finish renaming/removing/remodelling the remaining Oculus (Rift+GearVR) commands
#jira UEVR-412: Rename and merge remaining Morpheus console commands
#jira UEVR-417: Remove Exec from IHeadMountedDisplay
Change 3269971 on 2017/01/24 by Jeff.Fisher
UEVR-498 move controller is missing world to meters
UEVR-522 PS4 motion controller worldscale support.
-Passing world to meters scale into getControllerOrientationAndPosition because the thing asking about it ought to be part of a world, and know what it should be. This also avoids making PS4 motion controllers dependent on the HMD. Note Google VR Controller doesn't do position, so doesnt' care about scale. Oculus already had internal threadsafe tracking of world scale, so I left that. Steam handles world scale below our input level.
-Also adding PlayerIndex member to FSceneView so we can figure out which view the MotionControllerComponent should get its worldscale from for the late render thread update.
#jira UEVR-498
#review-3384107
Change 3288308 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity
-PS4 can only track 2 controllers and 1 hmd. Support for dealing with that is needed.
-Also need to support multiple motion controller components mapped to a single controller. Licencees have done that before.
-Created a new interface IMotionTrackingSystemManagement, and implements it for PS4Tracker on PS4.
-Created a MotionTrackedDeviceFunctionLibrary to expose that interface to blueprint.
-With those one can enable and disable tracking on ps4 controllers and query their state to stay within the controller tracking limit.
-PS4Tracker also keeps a blackboard of the enable/disable state so that one can enable or disable controllers that have not been connected yet, and have them enable tracking or not when they are connected.
-DS4 controller no longer jumps back to 000 if it loses tracking.
#review-3384107
#jira UEVR-517
Change 3288309 on 2017/02/06 by Keli.Hlodversson
Add file missing from CL#3257373.
Change 3288311 on 2017/02/06 by Jeff.Fisher
UEVR-517 Detect MotionController Connectivity - Test content.
-tm-motionControllers has a third mode where all playstation motion controllers for player 0 are availalbe. You can toggle them to track or not with ctrl-P,G,L,R for pad, gun, leftmove, rightmove or with alt-P,G,L,R. Ctrl tests doing so via MotionControllerComponent. Alt tests doing so by player index and controller type enum.
-ctrl-A disables tracking of all controllers
-alt-A disables tracking of all controllers for player 0
-ctrl-D toggles enabling new controllers by default
-Also fixed one button not working in one of the other test modes for the Aim (gun) controller.
-The controller 'models' have an arrow out the front. It is black if disabled. Red if enabled, but no tracker is active, yellow if tracked but inertial only, and green if fully tracked by the camera.
-This logic is in the QA_MoCoAll blueprint.
Change 3291601 on 2017/02/07 by Jeff.Fisher
UEVR-536 PSVR motion controller tracking problem with multiple controllers
-Previous code called GetRelativeTransform from the render thread, but the game thread could update it at any time. This caches that transform so that it can be safely used in the render thread.
#jira UEVR-536
#review-3384107 @Ryan.Vance
Change 3292460 on 2017/02/08 by Jeff.Fisher
PS4 sceVrTrackerGetResult() error warning logging improved, and explanatory comment added.
Change 3308771 on 2017/02/17 by Keli.Hlodversson
Rename GoogleVR console commands
#jira UEVR-412
Change 3309156 on 2017/02/17 by Keli.Hlodversson
Track changes in r.ScreenPercentage on GoogleVR and set RenderTargetSize accordingly.
Change 3311999 on 2017/02/20 by Keli.Hlodversson
Create a default implementation for RecordAnalytics.
Also create an initial stub for FHeadMountedDisplayBase for future default implementations of common HMD functionality.
Make implementing IHeadMountedDisplay::GetDeviceName mandatory instead of defaulting to "Unknown"
#jira UE-21878
#jira UEVR-213
Change 3313467 on 2017/02/20 by Ryan.Vance
#jira UE-41604
3278583
pCustomPresent->AllocateRenderTargetTexture may return false, if we blindly return true we can end up with an invalid render target since the fall back sceneviewport will be skipped.
3278536
Adding ovrError_NoHmd to our sanity check in OnStartGameFrame.
Change 3314002 on 2017/02/21 by Keli.Hlodversson
Fix compilation on PS4 and Linux
Change 3326722 on 2017/03/01 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Integrating 4.15 from main.
Change 3327567 on 2017/03/01 by Jeff.Fisher
UEVR-588 Oculus crash on "stereo on" when the proximity sensor is not triggered.
Duplicating from Release-4.15 cl 3327481, 3327542
-Don't ovr_SubmitFrame when the layers need to be recreated. They stay dirty until rendering is unpaused.
#jira UEVR-588
#review-3384107
Change 3328098 on 2017/03/01 by Jeff.Fisher
4.15 merge fixes
-Fixed deprecated enum name function usage.
-Fixed world scale usage in GoogleVRController.
-Fixed compile break in PS4Tracker.
Change 3328271 on 2017/03/01 by Jeff.Fisher
2.15 merge
-restroging GoogleVRController::GetWorldToMetersScale... cause it is used everywhere.
Change 3328307 on 2017/03/01 by Jeff.Fisher
4.15 merge
-More googlevr worldscale fixes.
Change 3328312 on 2017/03/01 by Jeff.Fisher
4.15 merge
-removing 2 unused includes
Change 3330610 on 2017/03/02 by Jeff.Fisher
4.15 merge
-fixing linux build
Change 3333952 on 2017/03/06 by Keli.Hlodversson
Implement common stereo layer management base class and use it in SteamVR and PS4. Fixes an outstanding bug in SteamVR where texures are updated every frame regardles of whether the continous update flag is set or not.
#jira UEVR-628
#jira UE-42555
Change 3334961 on 2017/03/07 by Keli.Hlodversson
Add missing include to fix non-unity builds
Change 3336200 on 2017/03/07 by Keli.Hlodversson
Fix compilation issues. (https://ec-01.epicgames.net/commander/link/jobDetails/jobs/7568252?jobName=UE4+Dev-VR+-+CL+3334961+-+Nightly+Build&s=Jobs)
* Pre VS2015 compilers don't like mixing wide and unmarked strings in concatenation. Unfortunately LOCTEXT hides the call to the TEXT macro, completely hinding the prefix (which only gets added to the first fragment.)
* Switch apparently doesn't know how to format a size_t for analytics either.
Also: Typo in backwards compatibility command name alias
Change 3337347 on 2017/03/08 by Jeff.Fisher
UE-42631 Stereo off while prox sensor uncovered causes low framerate
-Setting maxfps appropriately on 'stereo on/off'.
#review-3384107
#jira UE-42631
Change 3338385 on 2017/03/08 by Ryan.Vance
r.DisableDistortion was only being used for the mobile renderer
Change 3342301 on 2017/03/10 by patrickr.donovan
Test updates to TM-VRSmoke.
Increased lightmap resolution on QA_MeshTypes meshes to improve readbility and reliablility of tests involving said asset.
Rebuilt lighting.
Change 3348133 on 2017/03/15 by Ryan.Vance
Moving mono cvars to scene rendering to avoid cross module references. There's not a good reason to have them in the hmd module anyway.
Change 3348836 on 2017/03/15 by Ryan.Vance
Direct multi-view support for gear vr
Monoscopic far field with multi-view (blit and direct) support for gear vr
Support for translucent objects on both sides of the mono clip plane (due to a sorting issue, objects that straddle the plane composite incorrectly)
Fixed missing discards/clears in the multi-view blit
Change 3348843 on 2017/03/15 by Ryan.Vance
Fixing color/depth target size mismatch when screen percentage scaling results in a size that isn't divisible by 16.
Change 3349276 on 2017/03/16 by Keli.Hlodversson
Fixing compile errors in GoogleVR after merge from main.
Change 3350932 on 2017/03/16 by Ryan.Vance
Re-enabling the gearvr plugin on windows.
Change 3351977 on 2017/03/17 by Jeff.Fisher
Fixing masked member variable.
Change 3352314 on 2017/03/17 by Ryan.Vance
We need to ensure that we don't select different lod levels for each eye.
Change 3352993 on 2017/03/17 by Nick.Whiting
Integrating CL 3345824 from Android-DevVR to Dev-VR. Support for device depth pass in SceneCaptureComponent2D
Change 3355185 on 2017/03/20 by Nick.Whiting
Added ability to disable the autoloading splash screen, which would prevent the hide splash screen node from ever working
Change 3355676 on 2017/03/20 by Nick.Whiting
PR #3384: [GNUX] SteamVR, OpenGL patch. (Contributed by yaakuro), with some minor modifications
Change 3357286 on 2017/03/21 by Jeff.Fisher
Fixing GenerateProjectFiles, looks like the .config. was removed from these references in main some time ago.
Change 3357435 on 2017/03/21 by Jeff.Fisher
Fixing editor build break, looks like a merge mistake.
Change 3359960 on 2017/03/23 by Keli.Hlodversson
Prevent potential crash when drawing tracking sensor location. Also only fetch HMD location once instead of once per tracking sensor.
Change 3361230 on 2017/03/23 by Jeff.Fisher
Fixing linux build opengl include problem... maybe.
Change 3361638 on 2017/03/23 by Jeff.Fisher
Another guess at fixing linux build.
Change 3364224 on 2017/03/24 by Keli.Hlodversson
Initial implementation of UEVR-576 - Base emulated layer implementation
#jira UEVR-668 - Base emulated layer implementation: Initial framework for overrideable default implementation
#jira UEVR-669 - Base emulated layer implementation: Face Locked Layers Support
#jira UEVR-670 - Base emulated layer implementation: Tracker Locked Layers Support
#jira UEVR-671 - Base emulated layer implementation: World Locked Layers Support
#jira UEVR-672 - Base emulated layer implementation: Add support for optionally rendering face locked layers into a separate layer
Change 3364242 on 2017/03/24 by Keli.Hlodversson
SteamVR layers do not support negatve Layer priorities
Change 3364263 on 2017/03/24 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
Monoscopicfarfieldrendering was just 'accept source', Ryan is going to look at fixing it up.
Change 3364472 on 2017/03/24 by Jeff.Fisher
Merge fix
Change 3364475 on 2017/03/24 by Jeff.Fisher
Fixing gearvr include.
Change 3364486 on 2017/03/24 by Jeff.Fisher
merge fix
Change 3364532 on 2017/03/24 by Ryan.Vance
pso update for mono rendering and stereo layers.
Change 3364599 on 2017/03/24 by Ryan.Vance
Oculus changes for SI1.12
Change 3365159 on 2017/03/26 by Jeff.Fisher
include fix
Change 3365182 on 2017/03/26 by Jeff.Fisher
include fix
Change 3366087 on 2017/03/27 by Ryan.Vance
Remaining files from Oculus changes for SI1.12 merge request.
Fixing a bug in OnlineSubsystem.
Temporarily changing the eye padding change to be a shader clear to work around a clear color binding issue.
Change 3366492 on 2017/03/27 by Ryan.Vance
#jira UE-43294
Moved the clear before we setup state for drawing the mirror window content. It was stomping over state after the pso changes.
Going to leave the shader clear in the rift prerender for clearing the eye padding for now.
Change 3366929 on 2017/03/27 by Ryan.Vance
Fixing compile error
Change 3368549 on 2017/03/28 by Jeff.Fisher
Merging Change: 3357998 from //UE4/Partner-Google-VR/Engine/... to Dev-VR
Upgrade Google VR Plugin to v1.3:
*Upgraded GVR NDK to 1.30.0
*Changed some BlueprintFunction to use BlueprintPure
*Add the missing bDaydream flag in UEDeployAndroid.cs
#review-3384107
Change 3368975 on 2017/03/28 by Ryan.Vance
CIS clean up
#jira UE-43428, UE-43429, UE-43426, UE-43427
Change 3369028 on 2017/03/28 by Ryan.Vance
This is not exacly 'correct', but it's at least what the code was trying to do.
Change 3370203 on 2017/03/29 by Ryan.Vance
Adding gear vr controller component support.
Change 3370918 on 2017/03/29 by Ryan.Vance
Merging 3370569 using Partner-Google-VR_to_DevVR
Change 3371030 on 2017/03/29 by Ryan.Vance
Fixing linux build errors
#jira UE-43426
Change 3371036 on 2017/03/29 by Ryan.Vance
Oculus 4.16 integration.
Not terribly happy with the use of std::string. They promised to clean this up for the next release.
Change 3373495 on 2017/03/30 by Jeff.Fisher
Merging from Dev-Main, in preparation for 4.16
Change 3373578 on 2017/03/30 by Jeff.Fisher
build break, one comma short
Change 3373870 on 2017/03/31 by Jeff.Fisher
Include order fix.
Change 3374001 on 2017/03/31 by Keli.Hlodversson
Use DefaultStereoLayers as base for Morpheus implementation.
#jira UEVR-709 #jira UE-42919
#rb: Jeff.Fisher
Change 3374004 on 2017/03/31 by Keli.Hlodversson
Fix rendering for the default Stereo Layers implementation on mobile.
Depth test was set to "Never" instead of "Always"
Destination texture on GLES is flipped on the Y axis, the coordinates are reversed in the shade when compiled on the relevant platforms.
Change 3375125 on 2017/03/31 by Jeff.Fisher
UE-43506 Ensure using VRPreview with GoogleVR
-Removed the ensure, there is code in there to handle that case, and it works.
#jira UE-43506
Change 3375294 on 2017/03/31 by nick.bullard
Resaving Plugin content to resovle "saved with empty engine version"
#jira UE-43537
Change 3375480 on 2017/03/31 by Jeff.Fisher
UEVR-9 PSVR: Social Screen Support
-Experimental social screen support for 4.16.
-This does the basics of driving output through the Aux port in the proper format for display on the mirror monitor.
-Only supports 30fps on the mirror monitor. 60fps will require the implementation of sony system dialogs to deal with incompatable system features (video streaming, remote play).
-There is a project setting in Morpheus, under experiemental bEnableSocialScreenSeparateMode. This must be set to true to use this feature. When it is false we avoid allocating the back buffers.
-MorpheusFunctionLibrary blueprints now have a node "SetSocialScreenMode" which can switch between SystemMirror (hardware supported mirroring), SeparateTest (alternates black and white), SeparateTexture (displays a texture, eg a render target, specified via blueprint), and SeparateMirror(puts the hmd render buffer on screen - which is both eyes, like a debug mode).
-Also finally updated the bEnabled flag in project settings to tell people it's only for PC.
#jira UEVR-9
#review-3384107
Change 3375540 on 2017/03/31 by Ryan.Vance
#jira UE-43504
Fixing android build break when using a 64 bit isa.
Change 3375655 on 2017/03/31 by Jeff.Fisher
Fixing missing RGBAToYUV shader problem
-This at least unblocks our process. Will revisit before zbr.
Change 3375820 on 2017/04/01 by Jeff.Fisher
Fixing linux build warning about HAS_MORPHEUS
Change 3376050 on 2017/04/02 by Jeff.Fisher
UE-43515 Step 'UE4Editor Static Analysis Win64' - Module.OnlineSubsystemOculus.cpp Warnings
-Temporary fix for static analysis annotation warnings in OnlineSubsytemOculus. Longer term plan is to eliminate the use of the headers that trigger the warnings.
-Just wrap all standard headers in static analysis disables.
#jira UE-43515
Change 3376609 on 2017/04/03 by Jeff.Fisher
Fixing rgbatoyuvshader include.
Change 3377001 on 2017/04/03 by Jeff.Fisher
UE-43547 Launch On PS4 fails during Run command - Missing global shader FRGBAToYUV420CS
- shader c++ must be compiled so that it can be cooked for ps4.
#jira UE-43547
Change 3379858 on 2017/04/04 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
pulling main this should get us ps4 sdk 4.508
Change 3379938 on 2017/04/04 by Ryan.Vance
#jira UE-43548
If stereo layers are not being used, don't setup overlay targets as we will never clear/initialize them.
The clear happens as part of the default layers PostRenderView_RenderThread call which wont be called if layers aren't being used in the scene.
Change 3381519 on 2017/04/05 by Jeff.Fisher
UEVR-733 PS4 sdk 4.500 hmd connection api changes break hmd connect.
-Handling failure of sceHmdGetDeviceInformation if the hmd is powered off. It now returns an error code about an invalid handle in that case, rather than reporting unready. We just treat the error code like an unready status.
#jira UEVR-733
#review-3384107
Change 3382019 on 2017/04/05 by Ryan.Vance
Linux: add Vulkan support from dev editor: 3381593
Change 3382021 on 2017/04/05 by Ryan.Vance
SteamVR on Linux using Vulkan
OpenVR rev to 1_0_6
PR #3412: [GNUX] Initial support for SteamVR using Vulkan on GNUX platform. (Contributed by yaakuro)
Change 3382076 on 2017/04/05 by Ryan.Vance
Fixing linux steamvr lib path. It changed to something less silly in 1.0.6
Removing the steamvr plugin from the white list for linux. It's looking for a runtime that no one will have installed.
Change 3383237 on 2017/04/06 by Ryan.Vance
#jira UE-43732
Fixing Android compile issues. We can't wrap portions of a macro with a definie. This should probably be some sort of recursive macro thing since there's so much overlap. Good enough for now.
Change 3383353 on 2017/04/06 by Ryan.Vance
Fixing include cycles.
Change 3383509 on 2017/04/06 by Jeff.Fisher
Merging //UE4/Dev-Main to Dev-VR (//UE4/Dev-VR)
merging the stuff from dev-mobile
[CL 3384106 by Ryan Vance in Main branch]
2017-04-06 22:03:51 -04:00
}
Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3512802)
#lockdown Nick.Penwarden
#rb no.one
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3060975 by Ryan.Vance
Integrating 3058175 from Oculus
Change 3466079 by Nick.Atamas
Added rudimentary collision support to MrMesh.
Change 3468111 by Mike.Beach
Give the SceneRender component's scene view a specific ViewActor (the component's owner). This lets us set bOnlyOwnerSee on components belonging to the same actor, and have it only showup in the render scene view.
Change 3468267 by Nick.Atamas
Now using non-interleaved data in MRMeshComponent
Change 3468475 by Mike.Beach
Initial checkin for new mixed reality plugin (WIP). New MixedReality capture component, intended to mimic a real world camera.
Copying //Tasks/UE4/Dev-MixedReality to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)
#jira UEVR-795, UEVR-789
Change 3468483 by Mike.Beach
Marking the new MixedReality plugin as experimental (as it is incomplete and a WIP)
Change 3468511 by Mike.Beach
CIS fixes for fallout from CL 3468475.
Change 3469754 by Mike.Beach
CIS compiler error fixes (fallout from CL 3468475).
Change 3470407 by Mike.Beach
*sigh* more CIS fixes (fallout from 3468475)
Change 3471494 by Douglas.Copeland
Test content for GearVR Stereo Layers
Change 3476135 by Jeff.Fisher
UE-45661 Duplicate .so files in GoogleVR.
-We want the version of each file from the android_x86 style folder, but in the android\x86 folder, and the APL.xml file needed to reference the new path rather than the old path.
-This fix was also made in Release-4.16 for 4.16.2 in cl 3476133.
#jira UE-45661
#review-3474770
Change 3480446 by Dustin.Holmes
Added support for Vive Tracker.
#jira UEVR-792
Change 3480552 by Dustin.Holmes
Added map and gamemode for calibration
#jira UEVR-808
Change 3483325 by Nick.Atamas
Merging //UE4/Partner-Google-VR to Dev-VR (//UE4/Dev-VR)
Known issue with Mac build packaging.
Change 3485969 by Nick.Atamas
Fixed double-spacing and formatting issues.
Converted TangoEcefUtils.cpp to follow Epic coding standards.
Change 3486071 by Nick.Atamas
Rename/move file(s) from Plugins/Runtime/Tango/... to Plugins/Runtime/GoogleTango/...
Change 3486078 by Nick.Atamas
Fixed non-portable (wrong case) include path.
Change 3486906 by Jeff.Fisher
Fixing build warning about a variable being shadowed.
Change 3487245 by Jeff.Fisher
Fixing build break in some template source files from HeadMountedDisplayFunctionLibrary move.
Change 3487827 by Nick.Atamas
Fixing the missing platforms header; should resolve CIS warning.
Change 3488808 by Keli.Hlodversson
Fix vr.Debug.VisualizeTrackingSensors when ViewTarget->HasActiveCameraComponent() is true.
Also switched to use GWorld instead of passing in the current World argument to the handler as the world pointer can change for instance if turning the setting on and loading another level in the editor.
#jira UE-45949
Change 3490841 by Nick.Atamas
Fixing more CIS and coding standard issues related to Tango.
Change 3491038 by Nick.Atamas
Modified GoogleInstantPreview.Build.cs to use RuntimeDependencies instead of explicit dylib/dll copying.
Change 3492481 by Jeff.Fisher
Fixing HeadMountedDisplayTypes.h shadowed member warning.
Change 3495157 by Mike.Beach
New XR modular feature - XRDeviceAssets. Intended to give us access to device models so we can render arbitrary devices. Implements this for SteamVR.
#jira UEVR-829
Change 3495205 by Mike.Beach
CIS fix (fallout from 3495157) - missing leading 'template<>' for template specializations.
Change 3495213 by Mike.Beach
Fixing the vr.SpectatorScreenMode CVar so that it's sink function doesn't override other CVar commands that set the mode themselves.
#jira UEVR-790
Change 3495403 by Nick.Atamas
- Disabled Google Tango support for Win32.
- Disabled GoogleInstantPreview files being erroneously included while building game; it is only used by Editor.
- Renamed Tango.uplugin -> GoogleTango.uplugin
- Fixed self-assignment in TangoImageComponent.cpp
Change 3496225 by Mike.Beach
Fixing CIS compiler error for non-editor builds (fallout from CL 3495157).
Change 3496981 by Nick.Atamas
GoogleInstantPreview libraries are now checked into Binaries/ThirdParty/... so that no copying from .Build.cs is necessary.
Change 3497033 by Nick.Atamas
Going back from GoogleTango/ to Tango/. It's a bigger change that previously thought.
Change 3498487 by Nick.Whiting
Adding option to PIE settings to NOT minimize editor when doing VR PIE
Change 3499242 by Dustin.Holmes
Fixed static analysis warning by updating the number of devices that can have their button states tracked.
Change 3499341 by Nick.Atamas
Hopefully fixes Mac Editor CIS.
Change 3499395 by Arciel.Rekman
Copying //UE4/Partner-Valve@3499365 to Dev-VR (//UE4/Dev-VR)
Change 3499550 by Ryan.Vance
Fixing compile issue.
Change 3499678 by Nick.Atamas
- Dummy Mesh Reconsturctor now sometimes generates empty blocks to test more scenarios.
- Removed unused code in DummyMeshReconstructorModule
- Removed unused variable in GoogleInstantPreview.Build.cs
Change 3499840 by Nick.Atamas
std::string needed by google's online system.
Change 3499889 by Nick.Atamas
Fixed static code analysis CIS fails.
Change 3500007 by Nick.Whiting
Removing Vulkan RHI dependency on a plugin, refactoring it to use an interface to check to break the dependency
Change 3500027 by Nick.Whiting
Fixing missing include file in SteamAudio
Change 3500030 by Nick.Whiting
Changing cast from reinterp to static. Copypasta fail
Change 3500078 by Nick.Whiting
Speculative fix for the builder for an error that doesn't repro locally
Change 3500086 by Nick.Atamas
More build fixups.
Change 3500096 by Nick.Atamas
Copying //UE4/Partner-Google-VR-Minimal at CL3499964 to Dev-VR (//UE4/Dev-VR)
Change 3500107 by Nick.Atamas
Does this fix CIS?
Change 3500121 by Nick.Atamas
More CIS fixing, hopefully.
Change 3500129 by Nick.Atamas
More CIS fixing.
Change 3500713 by Nick.Whiting
Fix for Win32 build break
Change 3500887 by Arciel.Rekman
Fixed copyright notices and compilation errors in Steam Audio.
(Edigrating CL 3500131)
Change 3501010 by Arciel.Rekman
Fix shadowing error.
Change 3501230 by Nick.Atamas
Make warning go away.
Change 3501890 by Nick.Atamas
Moving Tango->GoogleTango. Fixup pass in next CL.
Change 3501900 by Jeff.Fisher
UE-46265 Crash attempting to Play in VR
-Need to call UpdateSpectatorScreenMode_RenderThread in PreRenderViewFamily_RenderThread so that the mode is set before other renderthread work decides what to do based on the mode.
#review-3501882
#jira UE-46256
Change 3502152 by Nick.Whiting
Oculus Unified Plugin. OculusHMD plugin now supports both the Rift and the GearVR in one plugin. Minor supporting engine modifications included
Change 3502199 by Nick.Atamas
Checking in TangoQA project with fixed-up content to point at GoogleTango plugin.
Known issue: crash when building cooking collision for bricks with no triangles.
Change 3502215 by Nick.Atamas
Fixed UIScale curve.
Change 3502253 by Nick.Whiting
Trying to fix up p4's botch of the merge
Change 3502930 by Mike.Beach
Attempt to fix build errors (fallout from CL 3502873), using new (moved/renamed) PhysX cook util struct.
Change 3503559 by Jeff.Fisher
UE-46300 Editor process crashes when opening with Oculus HMD plugged in
-Reimplementing spectator screen for updated oculus plugin.
#jira UE-46300
#review-3503455
Change 3503685 by Jeff.Fisher
TM-SpectatorScreen
-made the scene capture component follow the camera orientation so i can make it look at different stuff.
Change 3503695 by Nick.Whiting
Fixes for build breaks
Change 3503819 by Jeff.Fisher
TM-SpectatorScreen
-Adjusted scene capture and render target to get approximately correct color in the spectator screen.
Change 3503852 by Nick.Atamas
- Fixed crash when sending a brick with 0 data.
- Added implementation to ClearAllBricks.
Change 3503947 by Ryan.Vance
Fixing overspecified method definitions.
Change 3505242 by Douglas.Copeland
Added gamepad inputs to SpectatorScreen Level BP for more efficient test setup
Change 3505307 by Douglas.Copeland
Re-saving Emmissive_Blue Material to resolve map warning
Change 3505704 by Ryan.Vance
We can't pass a nullptr into RenderTexture_RenderThread. Instead of checking for a mirror window here, the RenderTexture_RenderThread implementation should do the right thing. Jeff's mirrorwindow/socialscreen refactoring should handle this correctly now.
Change 3505914 by Jeff.Fisher
UE-46370 Ensure handled when restarting Editor after disabling Oculus plugin
-remove scaling from the pose if necessary. It appears that when running oculus rift through steamvr the tracking reference comes through at .99 scale. We can't build a quat out of it unless it is normalized.
#jira UE-46370
#review-3505892
Change 3506650 by Jack.Porter
External Texture fixes changes from Dev-Sequencer
- fix ENGINE_API meaning singletons were existing in each module
- fix crash releasing an External RHITexture resource.
- Recache uniform expressions when external textures are registered and unregistered
Change 3506653 by Jack.Porter
Remove external texture logging that was accidentally enabled.
Change 3507043 by Mike.Beach
Fixing CIS content errors (copied material still referencing assets from a separate plugin) - redid the material.
Change 3507231 by Ryan.Vance
#jira UE-46426
Fail preinit on gearvr if bPackageForGearVR is false
Change 3507822 by Jeff.Fisher
UE-46445 Player can't move through level by holding one grip button in Editor VR Mode
-We were passing worldscalefactor, rather than worldscale into the get controller position function. WorldScaleFactor is worldscale / 100, making it a unitless multiplier of the world scale. So a *magical* 100 needs to be multipled back in here. Oculus must have found that and fixed it, looks like it was broken for 4.16.
#jira UE-46445
Change 3508167 by Jeff.Fisher
Fixing CheckSlow at startup on Oculus. The head pose orientation was being initialized to zero rather than identity, which isn't so useful.
Change 3509622 by Jeff.Fisher
Adding commented out null check to commented out implementation of ShouldDisableHiddenAndVisibileAreaMeshForSpectatorScreen_RenderThread.
Change 3509983 by Jeff.Fisher
Fixing vr.MirrorMode alias to vr.SpectatorScreenMode
-was trying to use a cvar that no longer exists
Change 3510188 by Ryan.Vance
#jira UE-46454
We need to set the render target before applying cached render targets.
Change 3510231 by Mike.Beach
Setting up redirects for the plugin, since it was renamed from "OculusLibrary" to "OculusHMD" - ensuring that projects don't loose references in Blueprints, etc.
#jira UE-46462
Change 3510253 by Ryan.Vance
#jira UE-46452
We need to execute the clear before seting up shader state for the copy.
Change 3511627 by Mike.Beach
Correcting some CIS warnings - Updating misc. GetWorldFromContextObject() calls since the old signature was deprecated by the latest Framework integration.
Change 3511984 by Mike.Beach
Fixing fallout from integration with Main (CL 3511845)... common shader file renamed (to .ush instead of .usf).
Change 3512797 by Mike.Beach
Static analysis fix - making doubly sure that we're not indexing into out of bounds memory.
Change 3512802 by Mike.Beach
Only warning about the OculusHMD module being unavailable when it isn't loaded (otherwise, we were extraneously warning when users didn't have a rift).
#jira UE-46575
DONE!
[CL 3512933 by Mike Beach in Main branch]
2017-06-27 23:02:31 -04:00
bool FHeadMountedDisplayBase : : IsSpectatorScreenActive ( ) const
{
ISpectatorScreenController const * Controller = GetSpectatorScreenController ( ) ;
return ( Controller & & Controller - > GetSpectatorScreenMode ( ) ! = ESpectatorScreenMode : : Disabled ) ;
}
ISpectatorScreenController * FHeadMountedDisplayBase : : GetSpectatorScreenController ( )
{
return SpectatorScreenController . Get ( ) ;
}
class ISpectatorScreenController const * FHeadMountedDisplayBase : : GetSpectatorScreenController ( ) const
{
return SpectatorScreenController . Get ( ) ;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3760894)
#rb Rendering
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3658809 by Chris.Bunner
Changing default HDR display gamut to P3 as in practice that's more common than Rec2020, this should be a user-facing option where possible though as we can't automatically retrieve that data.
Change 3658842 by Chris.Bunner
Backing out previous HDR default gamut change as it conflicts with mandatory platform defaults.
Change 3695269 by Arne.Schober
DR - Make clang happy wreorder
Change 3695418 by Guillaume.Abadie
Fixes compilation failure in FoliageType_InstancedStaticMesh.cpp.
Change 3695430 by Guillaume.Abadie
Fixes missing BeginFrame dynamic resolution event in EngineTest.
Change 3695469 by Guillaume.Abadie
Fixes crash when passing down an invalid parameter on the sample material expression's DDX, DDY parameters.
Change 3696091 by Guillaume.Abadie
Fixes Linux compilation failure in DynamicResolution.cpp
Change 3696593 by Chris.Bunner
Fixed typo in vetex factory enum.
Change 3696596 by Chris.Bunner
Added material attributes type checking to If material expression.
Updated If material expression to validate compilation of inputs.
Change 3696597 by Chris.Bunner
Allow visible parameter retrieval to correctly traverse through internally called functions. Previous check was intended to prevent function previews from leaving their graph through unhooked inputs, but unintentionally blocked all function inputs.
Change 3696599 by Chris.Bunner
Fixed material instance parameter visiblity when using nested static switches across functions.
#jira UE-50878
Change 3696734 by Chris.Bunner
Return type fix.
Change 3697123 by Guillaume.Abadie
Fixes compilation failure in PostProcessWeightedSampleSum.cpp on Windows 32bits.
Change 3697125 by Guillaume.Abadie
Fixes compilation failure in MaterialExpressionIf.h
Change 3697127 by Guillaume.Abadie
Fixes compilation failure in DynamicResolution.cpp on shipping build.
Change 3697135 by Guillaume.Abadie
Fixes crash in dynamic resolution event frontend when resizing game play viewport in EngineTest.
Change 3697199 by Guillaume.Abadie
Fixes TAA upsample's shader compilation failure on Mac.
Change 3697220 by Guillaume.Abadie
Makes static analysis happy again.
Change 3697280 by Chris.Bunner
Fixing up invalid casts in material layers validation.
Change 3697366 by Rolando.Caloca
DR - hlslcc - Fix warning
#jira UE-43988
Change 3697451 by Rolando.Caloca
DR - vk - Per pipeline descriptor pools
Descriptor pool are now allocated per PSO instead of globally to reduce peak mem consumption and fragmentation
Enabled on Windows only via VULKAN_USE_PER_PIPELINE_DESCRIPTOR_POOLS
Change 3697477 by Rolando.Caloca
DR - vk - Custom memory allocator
Remove old/unused stats
Change 3697486 by Rolando.Caloca
DR - vk - Fix validation issue
Change 3697488 by Richard.Wallis
Fix for Mac editor session no longer accurately tracking Mouse location after moving between Desktops in Mission Control on 10.12.6. Problem stems from the extra call to update the slate cached window position in mouse move while dragging, which is itself is a hack but apparently this is needed as we don't get window position updates on Mac while dragging (although I couldn't see any -ve side effects without it) then the OS (in 10.12.6) doesn't always push out a final window did move notificaiton when changing desktops which leaves the window according to slate incorrectly positoned to it's frame.
Solution is to either remove the mouse-move-while-drag window position hack or add a final window position update to the mouse-up event while dragging - this change is the latter.
#jira UE-37553
Change 3697501 by Richard.Wallis
Move audio processing over to audio bus tap. Currently on Mac Media audio playback uses OS media player mixer rather than Engine as existing implemtation, using AVAssetReader, now suffers from poor performance with new Media Framework. This audio tap version replaces that asset reader implementation but also suffers from bad quality audio hence is still disabled at the top of AvfMediaTracks.cpp.
Original Code Review Description:
Convert Mac to Play audio through the engine MediaFramework API rather than using AVMediaPlayer. This is the Mac implementation only - this should work ok on iOS but unable to test due to missing audio type implementation (throws error "Init Buffer on unsupported sound type name = Synth type = 5"), as such is only enabled for Mac. There maybe some extra tweaks required for iOS on app backgrounding etc if this feature is enabled.
- Stuttering Audio Performace issue investiagation: Re-Tested this implementation against [now fixed] current Mac implementation which was working fine last year and that implementation now has the same audio output quality (performance) issues as this one. Basic investigation seems to point to somewhere in the engine audio handing. When poor audio is heard the FMediaAudioResampler::Generate() function is dequeing an IMediaAudioSample sample buffer and the audio sample queue usually has 50-100 of these IMediaAudioSample buffers waiting in the queue. I think the AvfMedia playback system is providing the sample buffers in good time but they are not getting consumed "fast" enough. This under consuming also occurs if I force the Core Audio - Audio Unit mixer to use 48000 samples/sec.
#jira UEPLAT-1677
Change 3697517 by Richard.Wallis
XCode 9.0 extra nullability specifiers required.
Change 3697537 by Richard.Wallis
Back out revision 23 from //UE4/Dev-Rendering/Engine/Plugins/Media/AvfMedia/Source/AvfMedia/Private/Player/AvfMediaTracks.cpp
Change 3697670 by Rolando.Caloca
DR - vk - Fix mapstaging surface
Change 3697846 by Uriel.Doyon
Allow denormalized values when converting float32 to float16.
Change 3697892 by Uriel.Doyon
Fix for unaligned structure elements
Change 3699335 by Richard.Wallis
Mac compile fix - turns out I did need these nullability specifiers here.
Change 3699663 by Guillaume.Abadie
Fixes time unit conversions from microseconds to milliseconds error in dynamic resolution heuristic when using GPU busy time queries.
Change 3699959 by Rolando.Caloca
DR - Fix barrier in the middle of render pass
Change 3699969 by Rolando.Caloca
DR - vk - Change dump layer location so it prints out validation ids
Change 3700356 by Guillaume.Abadie
Implements secondary screen percentage to be able to do TAA upsample followed spatial upscale so that the editor viewport still have same TAA upsample screen percentage range to test the content with no matter monitor's DPI.
Change 3701105 by Guillaume.Abadie
Ignore per view automatic mip bias on texture type other than 2d textures.
#jira UE-51396
Change 3702297 by Richard.Wallis
Mac compile fix for nullable specifier. Looks like Obj class using the C++ class also needs this otherwise it throws. Seems to be some kind of xcode/compiler caching bug with this stuff as it'll report the error once then on subsequent compiles say everything is ok.
#jira UE-51386
Change 3702357 by Richard.Wallis
Mac nullability compile fix - again. Looks like I fell foul of that xcode compile caching!
#jira UE-51386
Change 3702424 by Guillaume.Abadie
Fixes planar reflection from drowing themselves in their own FSceneRenderer in forward shading.
#jira UE-51395
Change 3702464 by Guillaume.Abadie
Fixes wrong viewport to buffer conversion of the distortion.
#jira UE-51406
Change 3702819 by Guillaume.Abadie
Fixes planar reflections with secondary screen percentage for HighDPI editor viewports.
Change 3703732 by Guillaume.Abadie
Removes unecessary check(); when there is more than 2 players with planar reflections.
#jira UE-51436
Change 3704302 by Guillaume.Abadie
Removes unecessary Interface suffix on new dynamic resolution related interfaces
Change 3704390 by Chris.Bunner
Fixed a coincidentally correct define.
Change 3704730 by Rolando.Caloca
DR - vk - Fix map for depth surfaces
Change 3704739 by Rolando.Caloca
DR - Debug label on D3D11 UAVs
- Validate when running -d3debug
Change 3705000 by Chris.Bunner
Skip compiling opacity and opacity mask inputs on opaque surface materials. Previously the code was always added to the shader, sometimes we force opaque materials down a masked path which then calls the dormant code unintentionally. A safer fix for UE-48254.
Partially reverted previous fix in CL 3608303 which removed a material instance optimization caching the overridden base properties.
Change 3706065 by Guillaume.Abadie
Does some renaming for primary screen percentage, and move the primary screen percentage method selection from dynamic resolution driver to FSceneView.
Change 3706464 by Chris.Bunner
Fixed material property translate overrides that were generating code in the wrong entry.
Fixed conditions in If material expression GetInputType and IsMA check.
#jira UE-51368
Change 3706641 by Chris.Bunner
Missing "break" in switch statement (which unfortunately needs another bump to resolve).
Change 3706642 by Guillaume.Abadie
Fixes assertion failure when r.TemporalAA.EnableUpscale = 1
Change 3706650 by Gil.Gribb
UE4 - UE4 - Changes from intel. Increase number of worker threads on Windows to if hyperthreads (hyperthreads √ 2) else cores √ 1 up to a max of 22 workers. Increase MAX_THREADS multiplier per bank from 22 to 26. Intel VTune ITT event annotations. Wrapped in same function as your existing CPU events and enabled with √vtune. Optimize NV cloth by consuming FVector instead of FVector4 out of the solver. Vertex buffers were using FVector all along. ~15% improvement. Optimize cloth copy to vertex buffer by adding prefetch (similar to how bones are already done). Move local to world cloth transform from CPU to GPU. When simulating lots of vertices game thread was becoming bottleneck doing matrix multiply. Add your TaskGraph task switch latency test code.
Change 3706733 by Daniel.Wright
Print Embree Build time
Change 3706841 by Daniel.Wright
EmbreeFilterFunc4 now handles masked out intersections properly
Change 3707437 by Rolando.Caloca
DR - vk - Android compile fix
#jira UE-51474
Change 3707785 by Guillaume.Abadie
Fixes viewport issue in bloom setup pass with TAA upsample.
Change 3709623 by Rolando.Caloca
DR - vk - Missing barrier for reading into cpu
Change 3709633 by Rolando.Caloca
DR - vk - Compile fix
Change 3710454 by Mark.Satterthwaite
Refactor the way we compile Buffer<> & RWBuffer<> types for Metal so that we can support the type-conversion semantics of HLSL/D3D.
- Buffer<> types are converted to Linear Textures unless the internal type is 3-compnent or the STRONG_TYPE macro is added as a type-qualifier. Linear Textures require an MTLTexture "view" object be created around the MTLBuffer which is the backing-store and it is typically best if that buffer is marked as Private (GPU-only) memory, reading from this in the shader then uses the texture-fetch hardware to perform the format conversion on load.
- RWBuffer<> & 3-compnent Buffer<> types are converted to use template functions to load/store - the implementation of which will read the format from the BufferSizes meta-table and determine which type-conversion to apply. Function-constants are used to specialise the shader where feasible to reduce branch costs (function-constants are a Metal feature that allow efficient runtime recompilation of bytecode shaders).
- Buffer<> & RWBuffer<> types where the STRONG_TYPE macro is added as a type-qualifier (only does something on Metal, everywhere else it is #define'd away) are compiled as "raw" Metal buffers of the inner-type (e.g. float4 for Buffer<float4>) and the MetalRHI runtime will enforce that only SRVs/UAVs of the proper format are bound to it. This is necessary in a couple of cases (BoneMatrices, NumCulledLightsGrid, CulledLightDataGrid & ForwardLocalLightBuffer buffers) which are used in a larger number of shaders as Linear Textures have poorer performance than Buffer<>/RWBuffer<>.
- Most of the complications to generating subtly different Metal code for different OS/device combinations have been factored out into ue4_stdlib.metal which acts as an extension to the Metal shader standard-library and helps simplify the MetalBackend code - particularly helpful for Buffer<>/RWBuffer<> but also texturecube_array and the SM6 wave-related intrinsics.
- Reverted some of the awkward Metal-specific changes Richard.Wallis & Arne had to make to the high-level shaders as they aren't necessary anymore.
- Made the existing Metal-specific changes to use uint32 for all light-grid injection buffers apply to all Metal platforms again (I had hoped that it would not be necessary anymore, but it is much faster this way).
- STRONG_TYPE is actually hlslcc's "invariant" keyword applied as a type-qualifier to a Buffer<>/RWBuffer<> type - only valid when using Metal which exports this through ILanguageSpec and #define'd out for everyone else.
- Old versions of iOS (anything earlier than iOS 10.3) won't be able to use this new code, so every buffer will be treated as "raw" and the MetalRHI will now properly report when something goes awry rather than it leading to mysterious rendering errors and crashes.
Change 3710456 by Mark.Satterthwaite
Fix the Eddie workset project generator so that Enterprise projects don't get mixed in with regular projects at the top-level because of the way Eddie combines workset groups.
Change 3710457 by Mark.Satterthwaite
DX11 texture formats for Mac Metal please!
Change 3710480 by Mark.Satterthwaite
Permit RHI thread and parallel execution in Mac -game mode again.
Change 3710522 by Mark.Satterthwaite
MSVC type-mismatch error fixes.
Change 3710580 by Mark.Satterthwaite
Alright then - if I can't use the C++11 extended string semantics I'll have to use "xxd -i" to generate a hex-dump include header from ue4_stdlib.metal instead. This can only be updated from a machine with access to the POSIX xxd command (Mac & Linux, possibly the new Linux sub-system for Win10).
Change 3710616 by Mark.Satterthwaite
Missing file.
Change 3712972 by Guillaume.Abadie
Fixes Circle DOF's negative alpha channel getting clamped to 0 in TAA pass.
Change 3712979 by Guillaume.Abadie
Fixes wrong RT reallocation when doing TAA upsample in editor viewports with secondary upscale.
Change 3713406 by Mark.Satterthwaite
Use GPU morph targets on Mac - the necessary buffer conversions will always be available there. For iOS it can only be supported if iOS 10 is the minimum OS & Metal standard so leave that on the CPU path for now.
Change 3713494 by Richard.Wallis
Fix for hitch when PIE unloading sublevel. PerformReachabilityAnalysisOnObjects is spawing multiple threads in Editor builds as there is an extra code path that results in Critical Section locking within a singleton type static object - this is a bottle neck for multiple threads. However they all just need to read the data not change it. Replaced FScopeLock with a Read/Write version allowing these threads to all take a read lock at the same time to reduce contention.
Changed the FUObjectAnnotationDense implementation only - left the sparse implementation alone as its not currently affecting this - although we could proactivly change that too.
Also tested again repro in linked bug UE-24711.
#jira UE-40533
Change 3713612 by Mark.Satterthwaite
Integrate LPV_STORE_INDEX_IN_HEAD_BUFFER related changes from //depot/Partners/Microsoft/UE4-MS/Engine-Fable @ 2954744
This should make Light Propagation Volumes potentially viable on non-Microsoft platforms.
Change 3713623 by Mark.Satterthwaite
Implement ByteAddressBuffer/RWByteAddressBuffer in hlslcc in a similar manner to StructuredBuffer/RWStructuredBuffer so that the backends don't need too much modification. Implement the necessary changes into MetalBackend to make this work for Metal.
Load/Store{+2,3,4} & Atomics are supported. Counter operations are not supported and aren't likely to be.
Change 3713636 by Mark.Satterthwaite
Enable LPVs for Mac Metal.
- Rework some multi-dimensional arrays & array-index dependent HLSL code that hlslcc simply can't cope with, the mesa-glsl compiler core is only capable of dealing with 1 dimensional arrays and array-indexing can't itself be directly dependent on the result of an array-index operation.
- MetalRHI needs to ignore any SetRenderTargets call that binds nothing at all as you must bind at least one target (UAV, RT, Depth/Stencil) for it to be able to do anything sensible.
- Turn on LPVs for Metal as it works now.
Change 3714049 by Guillaume.Abadie
Do not set screen percentage method to TAA upsample when anti aliasing method is not TAA even if there is automatic fallback in the renderer.
Change 3714306 by Guillaume.Abadie
Fixes assertion failure in dynamic resolution state proxy with GPU busy time queries.
Change 3714714 by Mark.Satterthwaite
Tweak Metal GPU identification so that it works with eGPU boxes and protoype hardware - these changes only apply to macOS 10.13 so the system as a whole remains.
Change 3716104 by Mark.Satterthwaite
Fix 10.12/Xcode 8 compile errors from the build-farm which is still split until Fortnite can update.
Change 3716120 by Mark.Satterthwaite
Silence static-analysis.
Change 3716158 by Guillaume.Abadie
Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3716271 by Daniel.Wright
Lightmass correctness fixes
* After these changes, point, spot, directional and sky lights closely match reference renderer Mitsuba after light unit conversions
* Photon density trimming intended for direct photons was affecting indirect photons as well. This caused high noise for point / spot lights with a large attenuation radius. Indirect photon density even for small lights is 5x with this change, which improves 2nd bounce quality.
* Removed legacy fudge factor on point / spot light photon energy
* Spotlights no longer emit based on indirect photon paths. Fixes excessive photon energy from spot lights as they were emitting outside of the cone.
* Fixed photons computing one more bounce than requested.
* Added an option to use the Radiosity solver for all multibounce, replacing photons. Useful as a reference but generally too much noise indoors.
* Fixed visualization of photons without final gather
Change 3716434 by Mark.Satterthwaite
Backout the remaining change from 3632041 that is no longer necessary - this was the last of the 4.18 Metal workarounds.
Change 3716491 by Chris.Bunner
Fixing up an edge-case on a recent optimization.
Change 3716611 by Guillaume.Abadie
Allows secondary screen percentage >= 100%.
Change 3716977 by Guillaume.Abadie
Back out changelist 3716158 to unblock QA pass.
#jira UE-51580
Change 3717111 by Arne.Schober
Fixing nomalization of Morph Tangents https://udn.unrealengine.com/questions/392462/
Also implemanted batching of the dispatches which should help worst case perfomance where dispatches become too small.
CalculateInverseAccumulatedWeights is not cheap and proably should be moved onto a task thread that runs as soon as the input weights are ready.
Change 3717127 by Mark.Satterthwaite
Fix a mismerge from the reversion of 3632041 - part of the modified code had been moved into another file and I didn't initially notice.
Change 3717178 by Mark.Satterthwaite
Remove useless copy-pasted expressions from glsl_type::GetByteAddressBufferInstance & force MetalBackend to relink. Apparently the previous Mac libs were mysteriously broken.
#jira UE-51583
Change 3717476 by Marcus.Wassmer
Fix PS4 compile. funciton local statics not allowed on PSSL
Also enabled the new atomics method for LPVs for all platforms
Change 3717502 by Arne.Schober
DR - Compiletime option for compressed ruleset (0.02ms perf gain on PS4 and disabled by default as it limits array size to 2million entries)
Change 3717601 by Arne.Schober
DR - Move cycle counter into more meaningfull locations.
Change 3718054 by Guillaume.Abadie
Removes unecessary check() failure on secondary upscale that fires when testing raw output screen percentage method.
Change 3718066 by Guillaume.Abadie
Reland: Rewrites editor primitive compositing to support TAA upsample.
This takes the oportunity to remove the manual depth testing in base pass pixel shader of editor primitives.
Change 3718589 by Mark.Satterthwaite
Console-variable to enable and disable Manual-Vertex-Fetch for Metal and fix the internal code to handle the subtle changes in behaviour for vertex-declarations so we don't explode under the Metal validation layer. MVF works on macOS, though testing did expose an error with Tessellation on Nvidia (true for MVF enabled & disabled).
Change 3718633 by Guillaume.Abadie
Fixes temporal instability issue of TAA upsample with secondary screen percentage.
Change 3718658 by Arne.Schober
DR - 25% MorphTarget Speed increase because there was a bit of cache thrashing between the waves going on.
Change 3718818 by Mark.Satterthwaite
Fix compilation on hlslcc - integral values are not automatically converted into comparisons with zero.
Change 3719004 by Guillaume.Abadie
Lets the game viewport client automatically set raw output screen percentage method when doing dynamic resolution with stereo rendering but without TAA upsample.
Change 3719375 by Mark.Satterthwaite
Extend mtlpp compiler testing app to support Metal tessellation compute shaders so we can send Nvidia a much simpler reproduction of their regression.
Change 3720099 by Mark.Satterthwaite
Make the left-hand arguments work in airdiff.
Change 3720413 by Mark.Satterthwaite
Support standalone compute shaders in the mtlpp compiler test app.
Change 3721232 by Mark.Satterthwaite
No more Metal Shader Model 4 - instead we have to have a Metal Shader Model 5 w/o Tessellation as Nvidia's shader compiler is broken on all tessellation shaders in 10.13.0 and above. There is no guarantee that they will fix this prior to 10.14 and I can't afford to disable tessellation entirely as if I do that then the AMD & Intel compilers will also regress. As there is no Shader Model 4 platform on Mac anymore I've amended the LevelEditorActions to disable the preview modes when no appropriate shader platform is available.
Change 3721244 by Mark.Satterthwaite
Fix incorrect enum handling for Metal features due to overflow.
#jira UE-51643
Change 3721338 by Mark.Satterthwaite
MIssing file from 3721232
Change 3721818 by Mark.Satterthwaite
Fix the Intel vector-array-dereference workaround so that it doesn't cause the AMD compiler to explode instead.
Change 3722139 by Arne.Schober
DR - [UE-51602] -Fixed Typo that accidently bound the LightingInstancebuffer to the Transform one
#jira UE-51602
Change 3722165 by Rolando.Caloca
DR - Default -opengl to GL4
Change 3722682 by Guillaume.Abadie
Fixes wrong clear color in SSR important for VR that has a HMD mesh.
Change 3722766 by Rolando.Caloca
DR - Fix static analysis
Change 3722943 by Mark.Satterthwaite
Disable the METAL_SM5_NOTESS shader platform again - I can workaround the Nvidia pipeline state compiler crash by changing the buffer address space from "constant" to "device" as we're managing to confuse the poor thing. This won't materially affect AMD or Intel as they don't care much about this, but to limit performance issues on Nvidia we only need to do this for Tessellation Compute shaders.
Change 3723100 by Mark.Satterthwaite
Apparently users like enabling Metal shader standards that won't work on their current OS, so don't display those that aren't going to work & display an error message before quitting rather than crashing when trying to load a project that tries to use an incompatible shader version.
Change 3723121 by Mark.Satterthwaite
Fix build error.
Change 3723245 by Daniel.Wright
Ensure for when a reflection capture upload fails due to incorrect lighting scenario level handling
Reflection captures with no data use an array index of 0, instead of -1. Might avoid reading uninitialized memory on PS4.
Change 3723387 by Arne.Schober
DR - Metal already applies the instance and vertexoffset in the shader
Change 3723393 by Mark.Satterthwaite
More fixes to the mtlpp compiler test application.
Change 3725258 by Guillaume.Abadie
Improves fast TAA upsample shader permutation by 15% on console.
Change 3725555 by Chris.Bunner
[Dupliate] CL 3725548 - Fixed invalid screenpercentage value in VehicleGame sample (was setting -1 but should default to 100). This has always been broken but was recently exposed by CL 3686200.
Change 3726845 by Guillaume.Abadie
Exposes SvPosition to material through screen position material expression, so that material no longer have SvPosition * InvViewSize * ViewSize precision loss.
#jira UE-51428
Change 3728014 by Guillaume.Abadie
Uses ScreenPosition material expression's PixelPosition pin in existing engine functions to improve precision.
#jira UE-51428
Change 3728053 by Richard.Wallis
Duplicate CL 3727958: Crash fix when using shared material libraries. Initial shader code library offset is not zero'd so all entry offsets were garbage.
Change 3728339 by Guillaume.Abadie
Adds project setting for TAA upample, and officialises TAA upsampling CVar.
Change 3728549 by Guillaume.Abadie
CsvProfiler is pretty cool, but even better with console autocompletion for lazy developers.
Change 3728752 by nick.bullard
Built and re-saved QA-MeshPaint
#jira UE-50978
Change 3728775 by Guillaume.Abadie
Implements r.DynamicRes.ChangePercentageThreshold to stabilize primary screen percentage.
Change 3729224 by Uriel.Doyon
Hidden levels now keep their last build data when using lighting scenarios.
Hidden levels don't affect the scene anymore volumetric lighting when not using lighting scenarios.
#jira UE-40454
#jira UE-38131
Change 3729243 by Marcus.Wassmer
Update Ansel to 1.4
#github 4159
#jira UE-51545
Change 3729325 by zachary.wilson
Adding indirect lighting to TM-LightingChannels
#jira UE-47069
Change 3729485 by zachary.wilson
Fixing ambient occlusion bias on QA-LightsStationary. Removed global PPV with bad settings, also fixed the shadow on the roof.
#jira UE-50972
Change 3729629 by Uriel.Doyon
Fixed crash when using debug view modes.
Fixed d3ddebug error when clearing quad overdraw buffer.
#jira UE-51836
Change 3730053 by Guillaume.Abadie
Allows edititing of AScreenshotFunctionalTestBase::ScreenshotCamera.
Change 3730308 by Guillaume.Abadie
Disables TAA upsample on buffer visualization, and disallow screen percentage preview in editor viewport with any buffer visualization.
Change 3730355 by Guillaume.Abadie
Sacrifices consistency for good cvar name for TAA upsample.
Change 3731403 by Daniel.Wright
Reduced slider for ContactShadowLength to .1, algorithm produces poor results with larger values.
Change 3731404 by Daniel.Wright
Checkpoint for ScreenShadowMaskTexture, allowing 'vis ScreenShadowMaskTexture'
Change 3731407 by Daniel.Wright
Must opt-in for FDistanceFieldSceneData::VerifyIntegrity
Change 3731517 by Guillaume.Abadie
Freezes dynamic resolution heuristic when doing pause.
Change 3732168 by Guillaume.Abadie
Renames TAA upsampling cvar.
Change 3732295 by Guillaume.Abadie
Lets the scene texture's size and texel size return the correct sizes after TAA upsample.
Change 3732313 by Guillaume.Abadie
Implements SceneTexture material expressions' automated tests.
Change 3734928 by Guillaume.Abadie
Adds panic mode when the last N frames are over budget to the dynamic resolution heuristic.
Change 3735966 by Ryan.Vance
Fixing mac steamvr compile issue. Missed a few lines in the refactor because mac.
Change 3736104 by Guillaume.Abadie
Removes FSceneViewInitOptions::bDisableGameScreenPercentage brought by 4.18, that new screen percentage API do in a better way.
Change 3736346 by Daniel.Wright
Volumetric fog is always interpolated in the pixel shader, since per-vertex interpolation gives consistently poor results. Fixes Volumetric Fog on opaque in Forward, and on transparent in Deferred.
Forward shading: per-pixel height fog is always done in the base pass, to work with MSAA correctly
Change 3736348 by Daniel.Wright
Forward shadowing of directional light for translucency
* Static shadowing and CSM supported with minimal filtering (1 PCF)
* Deferred renderer: affects translucency using 'Surface ForwardShading' lighting mode. Forward renderer: affects all translucency.
Change 3736650 by Rolando.Caloca
DR - vk - # of desc pools
Change 3737985 by Guillaume.Abadie
Fixes pixel inspector with primary and secondary screen percentage.
Change 3738638 by Michael.Lentine
Compile fix due to unclear operator precendence.
Change 3739417 by Daniel.Wright
Fixed a few issues with irradiance cache visualization
Change 3739447 by Daniel.Wright
Skip forward static shadowing in projects with static lighting disabled
Change 3739595 by Daniel.Wright
ConditionalPostLoad DistanceFieldReplacementMesh. Should fix a crash on load when static mesh derived data is being rebuilt, and the DistanceFieldReplacementMesh is in use.
Change 3739598 by Daniel.Wright
Disable capsules shadows on lowest shadow quality
Change 3739611 by Daniel.Wright
Added r.CapsuleDirectShadows and r.CapsuleIndirectShadows for more specific scalability control over capsule shadow features
New Lighting Feature show flags for RTDF shadows and Capsule Shadows
Change 3740516 by Guillaume.Abadie
Fixes VR editor rendering only on eye with TAA upsample.
#jira UE-52016
Change 3740580 by Guillaume.Abadie
Fixes chromatic aberration with TAA upsample and multiple view rendering.
#jira UE-51993
Change 3740588 by Guillaume.Abadie
Gives to FXAA a more explicit draw event name for easier UDN support.
Change 3740845 by Michael.Lentine
Fix shipping build.
Change 3740903 by Guillaume.Abadie
Disables dynamic resolution threading outliers detection by default and includes editor UI GPU cost within dynamic resolution's begin/end frame events for better reliability of timestamp query based dynamic res in editor.
Change 3741355 by Daniel.Wright
Normalize planar reflection plane - fixes crash when scaling a BP with a planar reflection component
Change 3741357 by Daniel.Wright
More info on volumetric lightmap import failure
Change 3742535 by Ryan.Vance
Fix for view rect changes.
Change 3743282 by Guillaume.Abadie
Fixes a bug in dynamic resolution heuristic's outlier detection that was preventing the over budget panic to react.
Change 3743559 by Michael.Lentine
Port Siren changes for recompute tangents. This adds recompute tangents for cloth as well as the ability for recompute tangents to work across seams where vertices are duplicated.
Change 3743679 by Guillaume.Abadie
Cherry-pick 3743621: Fixes subsurface profile fallback to lit shading model when Opacity == 0, introduced by 3447144.
#jira UE-51569
Change 3743906 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: Fix for clamping sampled HDR render target values by setting ERangeCompressionMode in the FReadSurfaceDataFlags to RCM_MinMax
Change 3744096 by Ryan.Brucks
BlueprintMaterialAndTextureNodes Plugin: removed Mip option from Texture2D_SampleUV_EditorOnly for now since reads from source data cannot access mips and it can be misleading.
Change 3744253 by Guillaume.Abadie
Fixes merge collisions of debug canvas rendering with High DPI, fixes stat unit on high DPI monitors, and fixes secondary screen percentages.
Change 3744953 by Chris.Bunner
Crash workaround.
Change 3745628 by Marcus.Wassmer
Temporarily disable recalctangent normal-smoothing
#jira UE-52166
Change 3745942 by Guillaume.Abadie
Fixes a todo in FCommonViewportClient
Change 3746005 by Guillaume.Abadie
Fixes stat UnitGraph on high DPI monitor.
Change 3746029 by Guillaume.Abadie
Oups.... Fix compilation. :D
Change 3748322 by Guillaume.Abadie
Shows dynamic resolution's primary screen percentage on stat unit/unitgraph console commands.
Change 3748346 by Chris.Bunner
Potential static analysis fix.
Change 3748349 by Chris.Bunner
Mac feature support flag fix on versions < 10.30.
Change 3749336 by Guillaume.Abadie
Fixes some spelling mistakes in dynamic resolution cvars. Thanks Daniel!
Change 3749374 by Guillaume.Abadie
Adds a black background on the stat unitgraph so timing curves can be seen no matter the content.
Change 3749437 by Guillaume.Abadie
Final UI polish up for `stat unitgraph`
Change 3749719 by Guillaume.Abadie
Fixes a crash when changing r.DynamicRes.MaxScreenPercentage below current screen percentage.
Change 3750243 by Chris.Bunner
Increasing controller's automated test timeout to allow for slower machines to complete the longest tests.
#jira UE-48494, UE-51907
Change 3750728 by Guillaume.Abadie
Fixes merge collision in chromatic aberration.
#jira UE-52282
Change 3750791 by Guillaume.Abadie
Fixes chromatic baerration R and G channel swap.
Change 3751246 by Guillaume.Abadie
Bypasses screen percentage apply with mobile LDR rendering.
#jira UE-52089
Change 3752624 by Guillaume.Abadie
Simplies dyn res state's event interface to a single virtual method.
Change 3753766 by Chris.Bunner
Rebuilt volumetric baked lighting test map and updated screenshots.
#jira UE-52322
Change 3755108 by Guillaume.Abadie
Fixes a bug where default dynamic resolution state was created at startup of server build.
#jira UE-52345
Change 3755267 by Mark.Satterthwaite
Fix condition controlling which features are enabled when iOS >= 10.3 - it wasn't working for iOS 11+ which was causing all kinds of problems.
#jira UE-52301
Change 3755811 by Chris.Bunner
Disable some new logging that was causing a stack overflow during EnginePreInit.
#jira UE-52345
Change 3756983 by Mark.Satterthwaite
Prevent different versions of metal_stdlib/ue4_stdlib from causing shader compilation failures due to a time-stamp mismatch between the local file & the PCH. This can happen when working with Xcode Beta releases that change the modification date, but not the content or compiler version, amongst other possibilities.
#jira UE-52073
Change 3757156 by Guillaume.Abadie
Fixes editor compositing with wireframe rendering.
#jira UE-52017
Change 3757435 by Mark.Satterthwaite
Workaround a bug in the MobileSceneCaptureRendering where it was copying the ViewInfo's ViewRect prior to it being configured by the mobile renderer.
#jira UE-52327
Change 3757523 by Uriel.Doyon
Fixed d3ddebug warning with unused inputs
Change 3758318 by Guillaume.Abadie
Cleaner fix for mobile scene captures.
#jira UE-52327
Change 3759541 by Mark.Satterthwaite
Don't enable Manual Vertex Fetch on iOS Metal for the moment as it isn't well tested there and will probably need further changes.
Change 3695086 by Guillaume.Abadie
Render thread dynamic resolution & TAA upsample.
Merging //Tasks/UE4/Dev-DynamicRes/...@3694528 to //UE4/Dev-Rendering/...
New features breakdown:
- TAA upsample compute shader that accepts screen percentage from 50% to 200%, with a faster shader permutation for consoles;
- Material no longer have to deal with BufferUV, and post process material after TAA upsample can sample any scene buffer seamlessly;
- Material texture per view mip bias to produce sharper images with TAA upsample;
- Render thread dynamic resolution heuristic is fully plugable by game code (for VR plugin specific heuristics);
- Dynamic resolution in PIE and game builds;
- Busy time queries in the RHI to be implemented on the different platforms so that the dynamic resolution heuristic can exactly associate GPU frame times with screen percentages in its history;
- Game user settings to enable/disable dynamic resolution;
- In editor viewport screen percentage config to previsualise and test content at different screen percentage.
Fixes:
- Various fixes for algorithms producing different outputs at different screen percentage.
- Various fixes for algorithms sampling outside view rects.
Refactors:
- TAA shader
- Moved some screen percentage specific members from FSceneView to FViewInfo for thread race bullet proofing.
Aknowledgements:
- VR plugins are broken
- DFAO still have some artifacts
Premiliminary review: Marcus.Wassmer
Review for TAA refactor and TAA upsample shader: Brian.Karis
Review for dynamic resolution: Brian.Karis
[CL 3761165 by Chris Bunner in Main branch]
2017-11-16 11:36:35 -05:00
void FHeadMountedDisplayBase : : CVarSinkHandler ( )
{
check ( IsInGameThread ( ) ) ;
if ( GEngine & & GEngine - > XRSystem . IsValid ( ) )
{
static const auto PixelDensityCVar = IConsoleManager : : Get ( ) . FindConsoleVariable ( TEXT ( " vr.PixelDensity " ) ) ;
IHeadMountedDisplay * const HMDDevice = GEngine - > XRSystem - > GetHMDDevice ( ) ;
if ( HMDDevice & & PixelDensityCVar )
{
float NewPixelDensity = PixelDensityCVar - > GetFloat ( ) ;
if ( NewPixelDensity < PixelDensityMin | | NewPixelDensity > PixelDensityMax )
{
UE_LOG ( LogHMD , Warning , TEXT ( " Invalid pixel density. Valid values must be within the range: [%f, %f]. " ) , PixelDensityMin , PixelDensityMax ) ;
NewPixelDensity = FMath : : Clamp ( NewPixelDensity , PixelDensityMin , PixelDensityMax ) ;
}
HMDDevice - > SetPixelDensity ( NewPixelDensity ) ;
}
}
}
FAutoConsoleVariableSink FHeadMountedDisplayBase : : CVarSink ( FConsoleCommandDelegate : : CreateStatic ( & FHeadMountedDisplayBase : : CVarSinkHandler ) ) ;