Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/SLevelViewportToolBar.cpp

1787 lines
66 KiB
C++
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SLevelViewportToolBar.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Framework/Commands/UIAction.h"
#include "Framework/MultiBox/MultiBoxDefs.h"
#include "Framework/MultiBox/MultiBoxExtender.h"
#include "Framework/MultiBox/MultiBoxBuilder.h"
#include "Subsystems/PanelExtensionSubsystem.h"
#include "ToolMenus.h"
#include "LevelEditorMenuContext.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Modules/ModuleManager.h"
#include "Widgets/Layout/SBorder.h"
#include "Widgets/Layout/SBox.h"
#include "Widgets/Input/SSpinBox.h"
#include "Styling/AppStyle.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "Camera/CameraActor.h"
#include "Misc/ConfigCacheIni.h"
#include "GameFramework/WorldSettings.h"
#include "EngineUtils.h"
#include "LevelEditor.h"
#include "STransformViewportToolbar.h"
#include "EditorShowFlags.h"
#include "LevelViewportActions.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "LevelEditorViewport.h"
#include "Layers/LayersSubsystem.h"
#include "DeviceProfiles/DeviceProfile.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "IDeviceProfileServicesModule.h"
#include "EditorViewportCommands.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "SEditorViewportToolBarMenu.h"
#include "SEditorViewportToolBarButton.h"
#include "SEditorViewportViewMenu.h"
#include "Stats/StatsData.h"
#include "BufferVisualizationData.h"
#include "NaniteVisualizationData.h"
Refactored Lumen visualization views and show flag in order to improve user experience. All Lumen visualization modes and show flags were moved into Lumen submenus for easier discovery. View modes were made exclusive (only one may be active at a time). Additonally exposed new view modes and show flags in order to easier debug and understand Lumen. Lit->Lumen Added Lit->Lumen submenu with 4 view modes - Lumen Scene, Lumen Reflection View, Lumen Surface Cache and Overview: * Lumen Scene - same as ShowFlags->VisualizeLumenScene. Visualizes Lumen scene representation in highest possible quality, with highest possible view distance * Lumen Reflection View - Lumen Scene, but with current reflections settings. Basically represents how things look in the reflections * Lumen Surface Cache - visualizes surface cache and marks with pink missing surface cache coverage * Overview - 3 Lumen view mode tiles, overlaid on top of normal view Show->Lumen Added Show->Lumen submenu with 6 flags, which allow to disable specific trace types (screen space, detail, global, far field), disable secondary bounces (radiosity) and disable Screen Space Directional Occlusion. Show->Visualize Removed �Lumen Scene� (replaced by Lit->Lumen->Lumen Scene view mode) and �Lumen Global Illumination� (replaced by r.Lumen.Visualize.IndirectDiffuse) from Advanced visualization modes are accessible through r.Lumen.Visualize.Mode, which overrides current Lit->Lumen-> settings. Misc changes: * Renamed VisualizeLumenScene* to LumenVisualize* * Moved shared visualize parameters to LumenVisualize.h * Lumen HWRT visualize now uses same ray footprint as SWRT visualize * Replaced HALF_WORLD_MAX with Lumen::MaxTracingEndDistanceFromCamera and Lumen::MaxTraceDistance in preparation for the LWC WORLD_MAX changes #rb Patrick.Kelly, Daniel.Wright #preflight 61e73339b56c33b8ecf753b2 #ROBOMERGE-AUTHOR: krzysztof.narkowicz #ROBOMERGE-SOURCE: CL 18658215 in //UE5/Release-5.0/... via CL 18658227 via CL 18658249 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592) [CL 18658268 by krzysztof narkowicz in ue5-main branch]
2022-01-19 10:11:35 -05:00
#include "LumenVisualizationData.h"
#include "VirtualShadowMapVisualizationData.h"
#include "FoliageType.h"
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3759273) #lockdown Nick.Penwarden #rb none #rnx ============================ MAJOR FEATURES & CHANGES ============================ Change 3722141 by Aaron.McLeran #jira UE-51670 Added ability to split multi-channel mic input into separate USoundWave assets in recording manager. - Will allow for sequencer recorder to record multiple audio streams, one for each actor Change 3726096 by Ori.Cohen Fixed welded bodies with negative scale not using the mirrored convex hull #jira UE-51647 Change 3726233 by Ori.Cohen Make sure RT doesn't try to create a physics mesh when debug drawing #jira UE-51721 Change 3726254 by Aaron.McLeran Fixing typo in GetCustomSpatializationSettingsClass interface Change 3728295 by Ori.Cohen Fix incorrect lock upgrading Change 3728516 by Benn.Gallagher Fix for crash loading reparented animation blueprints that do not have an animgraph but are no longer child blueprints. #jira UE-51414 Change 3728522 by Benn.Gallagher Added mesh paint settings to per-user settings and added preview vertex size so it's configurable by the user for use on differently sized meshes. #jira UE-50087 Change 3728853 by Benn.Gallagher [NvCloth] Fix sphere collision detection issue when clothing bounds are (almost) flat. Change 3729031 by Ethan.Geller #jira UEAP-316: Improvements to the audio side for our Opus VOIP implementation. Change 3729910 by Benn.Gallagher Fix for crashes editing destructible meshes caused by stale render data Change 3729921 by James.Golding - Remove 'bDisabled' flag from SkeletalMesh render data sections, use per-component ShowMaterialSection to hide sections instead - Renamed flag on source data (FSkelMeshSection) to bLegacyClothingSection_DEPRECATED, to fix up old clothing assets - Expose ShowMaterialSection to BP, added ShowAllMaterialSections and IsMaterialSectionShown as well - Move SelectedEditorSection and SelectedEditorMaterial from USkeletalMesh to USkinnedMeshComponent, made private, added accessors - Made SectionIndexPreview and MaterialIndexPreview in SkinnedMeshComponent private, added accessors - Remove unused ChunkIndexPreview from USkinnedMeshComponent and SelectedClothingSection from USkeletalMesh - Move SectionsDisplayMode from UDebugSkelMeshComponent to SAnimationEditorViewport #jira UEAP-167 Change 3730054 by Martin.Wilson Live Link: Add ability for sources to define their own settings Change 3730134 by Jurre.deBaare Editor crashes when opening animcompression setting on an alembic file #jira UE-51840 #fix ensure that anim sequence actually contains a compression scheme, and set scheme during ABC import #misc cleaned up comment Change 3730428 by Thomas.Sarkanen Fix copy/paste in the physics asset editor When constraint data was being serialized the default profile was being substituted, however it wasnt being updated for all non-detials panel operations. Added a UpdateProfileInstance() to propgate the changes correctly for copy/paste, axis cycling and toggling. Also allow multi-paste of constraints/bodies. #jira UE-51803 - Copy/paste doesn't work correctly in PhAT Change 3730464 by Thomas.Sarkanen Fixed copy/paste not working when the skeleton tree has focus The skeleton tree was absorbing the command binding because socket copy/paste wasnt not checking whether sockets were selected. #jira UE-51803 - Copy/paste doesn't work correctly in PhAT Change 3730511 by Jurre.deBaare Moving over fix from FN-Staging for [CrashReport] UE4Editor_Engine!FColorVertexBuffer::GetVertexColors() [colorvertexbuffer.cpp:313] #jira UE-48988 Change 3730685 by Benn.Gallagher Fix for sequencer crash when toggling spawnable for an actor containing a skeletal mesh component. Caused by CPFUO adding entries into the subinstance array while the component was unregistered. #jira UE-51508 Change 3731560 by Aaron.McLeran Removing gaurd on spatialization plugin settings and renaming enumerations Change 3731714 by Ori.Cohen Added the ability to profile scene query hitches. Change 3731725 by Ori.Cohen Change scene query hitch threshold to 50us by default Change 3731770 by Ethan.Geller Fix signed/unsigned comparison. Change 3731777 by Ethan.Geller Suppress static analysis warning. Change 3732145 by Thomas.Sarkanen [Duplicated from 4.18.1] Fixed crash when simulating in the physics asset editor, dragging with Ctrl+RMB and then clicking LMB Also fixed a selection issue that was exposed when this crash was fixed, #jira UE-51597 - [CrashReport] Crash in PHAT on LeftMouse click while moving ragdoll asset during Simulate Change 3732176 by Thomas.Sarkanen Fixed hang when selecting all bodies or constraints in a physics asset Implements a better fix for CL 3721129 #jira UE-51626 - Very long hang occurs when selecting all bodies in a physics asset Change 3732177 by Thomas.Sarkanen Fix crash when pasting properties in Physics Asset Editor Makes sure that the tree is refreshed when underlying data changes, so we dont access stuff out of range. #jira UE-51806 - Editor crashes when pasting properties of a body to multiple bodies Change 3732492 by Martin.Wilson Fix for ensure when compressing an animation whos skeleton has been switch due to skeletal mesh merging #Jira UE-51794 Change 3732672 by Thomas.Sarkanen Refactor view menus in animation editors Moves show menu and buffer visualizations into a new CommonMenuExtensions module. Reorders viewport menus in Persona-based editors so the "Show" menu is similar to the level editor's menu of the same name. All character-specific stuff is now in a "Character" menu. Original changes by Jonathan.Poncelet #jira UE-41903 - Add relevant options from Level viewport Show menu to Anim tools viewports Change 3732860 by Thomas.Sarkanen Fix CIS errors/warnings Change 3732877 by Thomas.Sarkanen Fix missing Physics menu Merge error on my part Change 3733113 by Ori.Cohen Fix CIS Change 3734859 by Thomas.Sarkanen Fix crash when opening a physics asset that uses a preview mesh with no skeleton #jira UE-51916 - [CrashReport] UE4Editor_CoreUObject!FWeakObjectPtr::Get() [weakobjectptr.cpp:81] Change 3736693 by Ethan.Geller Added ability for submixes to define their own channel format. Written by aaron.mcleran Change 3737943 by James.Golding Fix crash when right-clicking during section selection in skel mesh tools #jira UE-51873 Change 3738337 by Benn.Gallagher Fix for crash switching between clothing assets with a gradient tool that has cached start/end indices. #jira UE-51921 Change 3738404 by Lina.Halper Add comment for bImportBoneTrack option in FBX importer Change 3738816 by Benn.Gallagher Added "Anim Drive" to clothing assets and added runtime interaction for simulations (Merged from Siren) Change 3738960 by Ethan.Geller Fix Linux compiler errors for implicit enum casting Change 3739214 by Lina.Halper - Removed unnecessary Initialize - Make sure invalidate the other part if not used (socket->bone or bone->socket) #jira: UE-51931 Change 3739215 by Lina.Halper compile error - added one more ) when pasted to the other line Change 3739442 by Lina.Halper pose asset crash when skeleton changes #jira: UE-52036 Change 3739795 by Ethan.Geller fix linux build with implicit enum class casts, pt 2 Change 3740553 by James.Golding Sweeps with an initial overlap now put more useful info (from PhysX) into HitResult::ImpactPoint #jira UE-47566 Change 3740560 by James.Golding - Don't rebuild render data on SkeletalMesh interactive property changes - Remove unnecessary render resource release in SkeletalMesh PreEditChange #jira UE-51652 Change 3740562 by James.Golding Extensibility improvements to PhysicsAssets (from NVIDIA) Change 3740563 by James.Golding PR #4066: Physical Animation Crash fix - Prevent crashing if the scene has already been removed or index was invalid. (Contributed by DSDambuster) #jira UE-50546 Change 3740564 by James.Golding PR #4175: Added functions to SpringArmComponent to get relevant status of the Collision Test (Contributed by alexformosoc) #jira UE-51761 Change 3740587 by Benn.Gallagher CIS fixes for non-cloth platforms and initialization order fix Change 3740658 by Thomas.Sarkanen Update cloth appropriately in the physics asset editor When moving primitives, just update the underlying extracted collision - we dont reset the entire simulation. Reset simulation when making more 'major' potential changes (adding/removing collision etc.) Optionally reset cloth when simulation starts/stops in the physics asset editor #jira UE-50949 - Phat Editor with cloth collisions #jira UE-48779 - Ability to reset clothing during physics simulation #jira UE-48778 - Moving collision in Physics editor doesn't interact with cloth Change 3743354 by Benn.Gallagher CIS Fix Change 3743419 by Thomas.Sarkanen Preview buttons are now present where applicable Preview mesh button reordered to be consistent with other anim editors. Preview animation re-instated where applicable. Also fixed skeleton tree icons hiding when bones are not relevant - this was confusing depending on bone layout #jira UE-50894 - Animation Editors - Include Preview Mesh and Animation Buttons Change 3743529 by Thomas.Sarkanen Moved constraint and physical anim profile indicators to the top of the details panel Indicators now show assignment status. #jira UE-50895 - Constraint Profiles requests Change 3743604 by Jurre.deBaare Duplicating from 4.18.1: [CrashReport] UE4Editor_Core!FMath::ComputeBaryCentric2D() [unrealmath.cpp:1951] #fix pre-emptive early out on the collinear test, and found other minor bug with bounds test as well #jira UE-51917 Change 3743757 by Lina.Halper Adding more ensure to detect NaN Change 3743791 by Ori.Cohen Fix CIS and stack size issues Change 3744008 by Benn.Gallagher Gravity override support for clothing interactor. #jira UE-51014 Change 3744439 by Michael.Karambelas Updating and investigating CableActor automation tests Change 3744566 by Martin.Wilson Possible fix for very rare anim corruption (missing raw data). Moved Super::PostLoad call above track verfiy to make sure skeleton is loaded. #jira UE-49335 Change 3745963 by Martin.Wilson Fix ensure being hit because users could turn on both "Use Adaptive Error" and "Use Adaptive Error 2" at the same time #Jira UE-52044 Change 3748585 by Aaron.McLeran Fixing crash when loading editor with synth components. Change 3749071 by Aaron.McLeran Fixing ambisonics submix format Change 3749969 by Danny.Bouimad Updating TM-AnimPhys to be more performant on Switch Change 3750103 by Danny.Bouimad Checking in automated test to cover Debug Show Collision, Visibility Collision and Player Collision. (Disabled currently due to active bug causing incorrect ground truths to be generated UE-52052) Change 3754465 by Ethan.Geller Fixing panning in audio mixer after submix format feature Change 3755637 by Lina.Halper Back out changelist 3739214 - still add back invalidation #jira: UE-52159 Change 3756385 by Lina.Halper - Adding ground truth for the cable component test map - Disabled first test as it has BP none access warning #jira: UE-52370 Change 3756707 by Ethan.Geller fix potential mem leak in mixer source Change 3757148 by Aaron.McLeran Fixing surround sound bugs due to recent changes to submix format. Change 3757583 by Aaron.McLeran Fix cook with synth component Change 3758477 by Danny.Bouimad Fixing Disabled cable actor test, checking in screenshots for a disabled test. Change 3758873 by Ethan.Geller #jira UE-52389 Remove assert on getting a hash for a unique net id. [CL 3759284 by Marc Audy in Main branch]
2017-11-15 16:13:28 -05:00
#include "ShowFlagMenuCommands.h"
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
#include "Bookmarks/BookmarkUI.h"
#include "Scalability.h"
#include "SScalabilitySettings.h"
#include "Editor/EditorPerformanceSettings.h"
#include "SEditorViewportViewMenuContext.h"
#include "Bookmarks/IBookmarkTypeTools.h"
#include "ToolMenu.h"
#include "CustomStaticScreenPercentage.h"
#include "CustomEditorStaticScreenPercentage.h"
#include "WorldPartition/WorldPartitionSubsystem.h"
#define LOCTEXT_NAMESPACE "LevelViewportToolBar"
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
/** Override the view menu, just so we can specify the level viewport as active when the button is clicked */
class SLevelEditorViewportViewMenu : public SEditorViewportViewMenu
{
public:
void Construct(const FArguments& InArgs, TSharedRef<SEditorViewport> InViewport, TSharedRef<class SViewportToolBar> InParentToolBar)
{
SEditorViewportViewMenu::Construct(InArgs, InViewport, InParentToolBar);
MenuName = FName("LevelEditor.LevelViewportToolBar.View");
}
virtual void RegisterMenus() const override
{
SEditorViewportViewMenu::RegisterMenus();
if (!UToolMenus::Get()->IsMenuRegistered("LevelEditor.LevelViewportToolBar.View"))
{
UToolMenu* Menu = UToolMenus::Get()->RegisterMenu("LevelEditor.LevelViewportToolBar.View", "UnrealEd.ViewportToolbar.View");
Menu->AddDynamicSection("LevelSection", FNewToolMenuDelegate::CreateLambda([](UToolMenu* InMenu)
{
UEditorViewportViewMenuContext* Context = InMenu->FindContext<UEditorViewportViewMenuContext>();
TSharedPtr<SLevelViewportToolBar> LevelViewportToolBar = StaticCastSharedPtr<SLevelViewportToolBar>(Context->EditorViewportViewMenu.Pin()->GetParentToolBar().Pin());
LevelViewportToolBar->FillViewMenu(InMenu);
}));
}
}
virtual TSharedRef<SWidget> GenerateViewMenuContent() const override
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
{
SLevelViewport* LevelViewport = static_cast<SLevelViewport*>(Viewport.Pin().Get());
LevelViewport->OnFloatingButtonClicked();
return SEditorViewportViewMenu::GenerateViewMenuContent();
}
};
static void FillShowMenuStatic(UToolMenu* Menu, TArray< FLevelViewportCommands::FShowMenuCommand > MenuCommands, int32 EntryOffset)
{
FToolMenuSection& Section = Menu->AddSection("Section");
// Generate entries for the standard show flags
// Assumption: the first 'n' entries types like 'Show All' and 'Hide All' buttons, so insert a separator after them
for (int32 EntryIndex = 0; EntryIndex < MenuCommands.Num(); ++EntryIndex)
{
Section.AddMenuEntry(
NAME_None,
MenuCommands[EntryIndex].ShowMenuItem,
MenuCommands[EntryIndex].LabelOverride
);
if (EntryIndex == EntryOffset - 1)
{
Section.AddSeparator(NAME_None);
}
}
}
#if STATS
static void FillShowStatsSubMenus(UToolMenu* Menu, TArray< FLevelViewportCommands::FShowMenuCommand > MenuCommands, TMap< FString, TArray< FLevelViewportCommands::FShowMenuCommand > > StatCatCommands)
{
FillShowMenuStatic(Menu, MenuCommands, 1);
FToolMenuSection& Section = Menu->FindOrAddSection("Section");
// Separate out stats into two list, those with and without submenus
TArray< FLevelViewportCommands::FShowMenuCommand > SingleStatCommands;
TMap< FString, TArray< FLevelViewportCommands::FShowMenuCommand > > SubbedStatCommands;
for (auto StatCatIt = StatCatCommands.CreateConstIterator(); StatCatIt; ++StatCatIt)
{
const TArray< FLevelViewportCommands::FShowMenuCommand >& ShowStatCommands = StatCatIt.Value();
const FString& CategoryName = StatCatIt.Key();
// If no category is specified, or there's only one category, don't use submenus
FString NoCategory = FStatConstants::NAME_NoCategory.ToString();
NoCategory.RemoveFromStart(TEXT("STATCAT_"));
if (CategoryName == NoCategory || StatCatCommands.Num() == 1)
{
for (int32 StatIndex = 0; StatIndex < ShowStatCommands.Num(); ++StatIndex)
{
const FLevelViewportCommands::FShowMenuCommand& StatCommand = ShowStatCommands[StatIndex];
SingleStatCommands.Add(StatCommand);
}
}
else
{
SubbedStatCommands.Add(CategoryName, ShowStatCommands);
}
}
// First add all the stats that don't have a sub menu
for (auto StatCatIt = SingleStatCommands.CreateConstIterator(); StatCatIt; ++StatCatIt)
{
const FLevelViewportCommands::FShowMenuCommand& StatCommand = *StatCatIt;
Section.AddMenuEntry(
NAME_None,
StatCommand.ShowMenuItem,
StatCommand.LabelOverride
);
}
// Now add all the stats that have sub menus
for (auto StatCatIt = SubbedStatCommands.CreateConstIterator(); StatCatIt; ++StatCatIt)
{
const TArray< FLevelViewportCommands::FShowMenuCommand >& StatCommands = StatCatIt.Value();
const FText CategoryName = FText::FromString(StatCatIt.Key());
FFormatNamedArguments Args;
Args.Add(TEXT("StatCat"), CategoryName);
const FText CategoryDescription = FText::Format(NSLOCTEXT("UICommands", "StatShowCatName", "Show {StatCat} stats"), Args);
Section.AddSubMenu(NAME_None, CategoryName, CategoryDescription,
FNewToolMenuDelegate::CreateStatic(&FillShowMenuStatic, StatCommands, 0));
}
}
#endif
void SLevelViewportToolBar::Construct( const FArguments& InArgs )
{
Viewport = InArgs._Viewport;
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
const FMargin ToolbarSlotPadding(4.0f, 1.0f);
ChildSlot
[
SNew(SBorder)
.BorderImage(FAppStyle::Get().GetBrush("EditorViewportToolBar.Background"))
.Cursor(EMouseCursor::Default)
[
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
SNew( SHorizontalBox )
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(ToolbarSlotPadding)
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
[
SNew( SEditorViewportToolbarMenu )
.ParentToolBar( SharedThis( this ) )
.Visibility(Viewport.Pin().Get(), &SLevelViewport::GetToolbarVisibility)
.Image("EditorViewportToolBar.OptionsDropdown")
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
.AddMetaData<FTagMetaData>(FTagMetaData(TEXT("EditorViewportToolBar.MenuDropdown")))
.OnGetMenuContent( this, &SLevelViewportToolBar::GenerateOptionsMenu )
]
+ SHorizontalBox::Slot()
[
SNew( SHorizontalBox )
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
.Visibility(Viewport.Pin().Get(), &SLevelViewport::GetFullToolbarVisibility)
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding( ToolbarSlotPadding )
[
SNew( SEditorViewportToolbarMenu )
.ParentToolBar( SharedThis( this ) )
.Label( this, &SLevelViewportToolBar::GetCameraMenuLabel )
.LabelIcon( this, &SLevelViewportToolBar::GetCameraMenuLabelIcon )
.AddMetaData<FTagMetaData>(FTagMetaData(TEXT("EditorViewportToolBar.CameraMenu")))
.OnGetMenuContent( this, &SLevelViewportToolBar::GenerateCameraMenu )
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding( ToolbarSlotPadding )
[
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
SNew( SLevelEditorViewportViewMenu, ViewportRef, SharedThis(this) )
.MenuExtenders(GetViewMenuExtender())
.AddMetaData<FTagMetaData>(FTagMetaData(TEXT("ViewMenuButton")))
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding( ToolbarSlotPadding )
[
SNew( SEditorViewportToolbarMenu )
.Label( LOCTEXT("ShowMenuTitle", "Show") )
.ParentToolBar( SharedThis( this ) )
.AddMetaData<FTagMetaData>(FTagMetaData(TEXT("EditorViewportToolBar.ShowMenu")))
.OnGetMenuContent( this, &SLevelViewportToolBar::GenerateShowMenu )
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding( ToolbarSlotPadding )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
[
SNew( SEditorViewportToolbarMenu )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3169859) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3154832 on 2016/10/07 by Rolando.Caloca DR - vk - Fix crash on framebuffers with missing textures Change 3154838 on 2016/10/07 by Rolando.Caloca DR - vk - Enable clip distance Change 3154840 on 2016/10/07 by Rolando.Caloca DR - Remove branch per codereview Change 3155118 on 2016/10/07 by Rolando.Caloca DR - vk - Compute pipeline fixes Change 3155129 on 2016/10/07 by Rolando.Caloca DR - Added draw events for reflection captures Change 3155167 on 2016/10/07 by Rolando.Caloca DR - Use shader clear for platforms that can't use viewport or scissor Change 3155168 on 2016/10/07 by Rolando.Caloca DR - vk - Added submit gpu - Some fixes for Geometry and Compute Change 3155595 on 2016/10/07 by Rolando.Caloca DR - vk - Use new render pass system Change 3155720 on 2016/10/07 by Rolando.Caloca DR - vk - static analysis fix Change 3155732 on 2016/10/07 by Rolando.Caloca DR - Fix clears for platforms that can't use viewports, excluderects or scissor on clear Change 3156787 on 2016/10/10 by Rolando.Caloca DR - Fix mem leaks Change 3156805 on 2016/10/10 by Rolando.Caloca DR - Improve check msg per licensee Change 3156815 on 2016/10/10 by Rolando.Caloca DR - Fix infinite recursion Change 3157041 on 2016/10/10 by Rolando.Caloca DR - vk - Fix key access from multiple threads Change 3158253 on 2016/10/11 by Rolando.Caloca DR - Fix comment #jira UE-37128 PR #2852 Change 3158606 on 2016/10/11 by Rolando.Caloca DR - vk - Accessors Change 3160418 on 2016/10/12 by Daniel.Wright Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser Change 3160644 on 2016/10/12 by Arne.Schober DR - [UE-32613] - OpenGL used to have custom code in the compiler to modify the source so that the same data and matricies can be used as DirectX, unfortunately that causes precission problem. Fortunately there is an extension available (glClipControl) which enables DirectX behaviour in OpenGL and it is widely supported. We only tested Linux and Windows and therfore only default enable on those platforms. Change 3161219 on 2016/10/13 by Luke.Thatcher [RENDERING] [!] Fix incorrect shader used in GPU Benchmark causing crash in OpenGL. Change 3161838 on 2016/10/13 by Daniel.Wright Fixed level getting added to the dirty list twice when legacy lightmaps are present Change 3161884 on 2016/10/13 by Arne.Schober DR - Fix Mac and DCC build Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3162491 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3162397: More fixed type-casting on material attributes. Swapped compiler::forcecast booleans to flags (and fixed a regression). Change 3163266 on 2016/10/14 by Daniel.Wright Fixed sublevels with legacy lighting data being added to the dirty packages list redundantly Change 3163524 on 2016/10/14 by Mark.Satterthwaite Bring over specific changes from Unicorn branch that increases the size of shader optional data so that it is considerably more useful. Change 3163529 on 2016/10/14 by Mark.Satterthwaite Move the Metal shader source code and compilation path into the newly enlarged shader optional data. Change 3163553 on 2016/10/14 by Mark.Satterthwaite Speculative fix for FORT-31590 also seen by a licensee - the Metal command buffer handler will be called from a dispatch queue thread that won't be registered with the stats system. #jira FORT-31590 Change 3163562 on 2016/10/14 by Mark.Satterthwaite Tidy up and extend the Metal debugging options: - Added rhi.Metal.BufferScribble which when enabled will fill freed buffer regions with 0xCD to help identify any areas where we are writing to a buffer while it is still being processed on the GPU. - Added rhi.Metal.BufferZeroFill which will zero-fill newly allocated buffer regions before any other data is read/written. Useful for catching cases where we might be reading uninitialised memory. - Added rhi.Metal.ResourcePurgeOnDelete which will purge the backing store of resources prior to releasing them back to the system or the respective pool. This will make any use-after-free conditions much more likely. - Added rhi.Metal.ResourceDeferDeleteNumFrames to defer releasing resources to the system or the resource pool by the specified number of frames (in addition to the current policy of waiting for the current end of frame & command-buffer completion). Useful for tracking down resource lifetime errors. - Fixed a number of bugs related to the modifications to vertex stream handling and addition of the SetShaderBytes API. - Track the start & end of FRingBuffer ranges - it appeared that the ring-buffer usage was invalid but it was in fact only my assumptions about the range that needed to be scribbled for rhi.Metal.BufferScribble. There is still the possibility that command-buffers that are implicitly parallelised by the driver may cause the ring-buffer range tracking to go awry - but with our data dependencies and the separation of the async. compute context I don't believe this is likely. - Fix up the "nometalv2" flag so that we can disable the features only available on iOS/tvOS-10/macOS-10.12 on newer devices to save having to reboot all the time. - Fixed the flickering geometry when enabling rhi.Metal.RuntimeDebugLevel=4 which breaks render passes into separate command-buffers - the occlusion query was waiting on the wrong command buffer in this case. Change 3163752 on 2016/10/14 by Mark.Satterthwaite Add missing parenthesis to fix compile error on iOS. Change 3164151 on 2016/10/16 by Benjamin.Hyder Submitting TM-AutoLOD level to QAGame #jira UE-29618 Change 3164190 on 2016/10/16 by Uriel.Doyon Materials now hold texture streaming data in the form of (UV scale X UV channel) for each texture. This data can be disabled through "r.Streaming.UseMaterialData" Defined a common framework in MeshComponent for texture streaming, used by both StaticMeshes and SkeletalMeshes. Simplified component interface for using the texture streaming build framework. Removed intermediate texture streaming build data from the static mesh components. Fixed shader compilation errors with the decals (from merge with main). Change 3164636 on 2016/10/17 by Rolando.Caloca DR - vk - Fix validation spam Change 3164679 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part1, Scene View Refactoring - Removed Previous VewMatrices from SceneInfo and pass in Previous and Current ViewMatrices into Uniform Buffer creation to uniform UseCase for Shadows and CustomDepth, Fixed a Bug in Shadows with help of Daniel where the SceneView was copied unnecessary copied again. Also simplified the code in that area. Change 3164705 on 2016/10/17 by Daniel.Wright When new levels are loaded, only the Indirect Lighting Cache Allocations intersecting the level's light probes are updated to minimize hitches. This optimization requires a lighting build to compute PrecomputedLightVolume bounds. Change 3164834 on 2016/10/17 by Daniel.Wright Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear) Change 3164870 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part2, Custom Depth Jitter - Allowed to overwite the viewconstant buffer in the custom depth pass. There ia also a new Project Setting available. The default constructor of the ContextDataType has been explicitly deleted to enforce compile errors when the templated code like the StaticMeshDrawList accidently tries to create a context without ViewUniformBuffer. Change 3164949 on 2016/10/17 by Rolando.Caloca DR - vk - First version of pooled occlusion queries Change 3165100 on 2016/10/17 by Rolando.Caloca DR - vk - Added driver version for Nvidia. AMD doesn't have one yet. Change 3165160 on 2016/10/17 by Rolando.Caloca DR - vk - Fix for queries not ready Change 3165230 on 2016/10/17 by Rolando.Caloca DR - vk - More fixes for occlusion queries Change 3165839 on 2016/10/18 by Rolando.Caloca DR - hlslcc - Fix default parameters getting wrong values Change 3166029 on 2016/10/18 by Rolando.Caloca DR - Switch some clears to DrawClearQuad() Change 3166066 on 2016/10/18 by Mark.Satterthwaite Update ShaderVersion due to CL #3163524 Change 3166067 on 2016/10/18 by Mark.Satterthwaite Update Mac hlslcc for RCO's 3165839. Change 3166370 on 2016/10/18 by Brian.Karis Improved hair AA Change 3166389 on 2016/10/18 by Uriel.Doyon Fixed lightmap having bigger resolutions than the engine can handle #jira UE-34737 #review-3166193 @daniel.wright Change 3166495 on 2016/10/18 by Rolando.Caloca DR - vk - Fix occlusion queries Change 3166516 on 2016/10/18 by Arne.Schober DR - Fix shaderbuild issue Change 3166650 on 2016/10/18 by Rolando.Caloca DR - vk - Enable GRHISupportsFirstInstance Change 3166799 on 2016/10/18 by Arne.Schober DR - [OR-28508] - The velocity Rendering pass was missing the adjustment for the PDO Change 3167855 on 2016/10/19 by Rolando.Caloca DR - vk - Implemented texture streaming Change 3168365 on 2016/10/19 by Rolando.Caloca DR - Fix static analysis Change 3168405 on 2016/10/19 by Mark.Satterthwaite Fix the optional shader data changes from Unicorn to prevent FindOptionalData from erronesouly testing against the trailing optional data size, which can match the tag for optional data entries if you are unlucky. #jira UE-37489 Change 3169467 on 2016/10/20 by Arne.Schober DR - UE-28039 - Fixed flickering cached shadows on dynamic objects: Adding preshadows whose depths are cached so that GatherDynamicMeshElements will still happen, which is necessary for preshadow receiver stenciling. Change 3169478 on 2016/10/20 by Arne.Schober DR - UE-28039 - missing comment Change 3169845 on 2016/10/20 by Arne.Schober DR - UE-35937 - readd Merged out check Change 3169859 on 2016/10/20 by Rolando.Caloca DR - vk - Stop popping up dialog on every run as the device name in the API doesn't match our driver database [CL 3170066 by Marcus Wassmer in Main branch]
2016-10-20 20:09:22 -04:00
.Label( this, &SLevelViewportToolBar::GetViewModeOptionsMenuLabel )
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
.ParentToolBar( SharedThis( this ) )
.Visibility( this, &SLevelViewportToolBar::GetViewModeOptionsVisibility )
.AddMetaData<FTagMetaData>(FTagMetaData(TEXT("EditorViewportToolBar.ViewModeOptions")))
.OnGetMenuContent( this, &SLevelViewportToolBar::GenerateViewModeOptionsMenu )
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding( ToolbarSlotPadding )
[
SNew( SEditorViewportToolbarMenu )
.ParentToolBar( SharedThis( this ) )
.Label( this, &SLevelViewportToolBar::GetDevicePreviewMenuLabel )
.LabelIcon( this, &SLevelViewportToolBar::GetDevicePreviewMenuLabelIcon )
.OnGetMenuContent( this, &SLevelViewportToolBar::GenerateDevicePreviewMenu )
//@todo rendering: mobile preview in view port is not functional yet - remove this once it is.
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object Change 3281111 on 2017/02/01 by Michael.Dupuis #jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window Change 3281225 on 2017/02/01 by Jamie.Dale Several improvements to culture switching and LocRes files - LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files. - The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found. - Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base. - The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture. - "-culture=leet" now works correctly on the command line ("-leet" also works). - LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager. - General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs. Change 3281291 on 2017/02/01 by Alexis.Matte Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh #jira UE-39639 Change 3281718 on 2017/02/01 by Michael.Dupuis #jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid Change 3281861 on 2017/02/01 by Alexis.Matte Fix import of morph target when there is no animation #jira UE-41383 Change 3282791 on 2017/02/02 by Chris.Wood Split crash analytics methods to fix comment parsing issues. [UE-32787] - Document Crash Report Client analytics events in code Change 3283316 on 2017/02/02 by Alexis.Matte Make sure we do not import more then the maximum allowed node #jira UE-41405 Change 3283349 on 2017/02/02 by Jamie.Dale Updated Portal to stage its .locnat files Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt Fix component/actor selection becoming out of sync after undo/redo #jira UE-41416 Change 3284061 on 2017/02/02 by Alexis.Matte Fix the scene importer front x axis import #jira UE-41318 Change 3284280 on 2017/02/02 by Alex.Delesky #jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log Change 3285053 on 2017/02/03 by Michael.Dupuis #jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated Change 3285444 on 2017/02/03 by Jamie.Dale Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale These are typically still Latin, but Middle Eastern languages have some variants. This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals). Change 3287422 on 2017/02/06 by Michael.Dupuis #jira UE-36580: Improved the whole word algo to take into consideration localisation Change 3287455 on 2017/02/06 by Alexis.Matte When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it. #jira UE-41397 Change 3287745 on 2017/02/06 by Alexis.Matte Merge from orion dev-general cl:3286668 Fix a crash when importing a LOD containing different material with less sections Change 3287996 on 2017/02/06 by Michael.Dupuis #jira UE-37290: fixed naming to be "move to level" instead of "move level" Change 3288090 on 2017/02/06 by Jamie.Dale Fixing missing include breaking the FText natvis Change 3288105 on 2017/02/06 by Jamie.Dale FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros Change 3288150 on 2017/02/06 by Jamie.Dale Fixing display names for tutorial categories so that they can be localized They were already FText, but the config wasn't defining them in a localizable way. #jira UE-37926 Change 3288469 on 2017/02/06 by Alex.Delesky #jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets. This also introduces the Subtitles module. Change 3288540 on 2017/02/06 by Alex.Delesky Backing out changelist 3288469 due to build issue with module includes #jira none Change 3289074 on 2017/02/06 by Alex.Delesky Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files #jira UE-35464 Change 3289753 on 2017/02/07 by Michael.Dupuis #jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID Change 3290097 on 2017/02/07 by Nick.Darnell Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports. Change 3290182 on 2017/02/07 by Michael.Trepka Added missing initialization for SWindow::bIsMirrorWindow Change 3290472 on 2017/02/07 by Michael.Dupuis #jira UE-37358: Add reference list in the dialog for all delete type Change 3290513 on 2017/02/07 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3290543 on 2017/02/07 by Michael.Dupuis #jira UE-35931: Refresh detail panel on selection lost Change 3290581 on 2017/02/07 by Michael.Dupuis Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor) Change 3290721 on 2017/02/07 by Michael.Dupuis #jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function Change 3291958 on 2017/02/08 by Alexis.Matte Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp Change 3292017 on 2017/02/08 by Alexis.Matte Add some fbx automation tests to validate material re-import Change 3292030 on 2017/02/08 by Michael.Dupuis #jira UE-37958: was testing the trailing number 0 twice and never testing the 1 Change 3293062 on 2017/02/08 by Jamie.Dale Reduced the number of allocations that happen when rebuilding text This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild. Changes: - Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString. - Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage. - Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation. - Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation. - Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy). - Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous. - General update from using MakeShareable to MakeShared (saving 1 allocation). - General clean-up of L10N/I18N class friendship. #jira UE-41533 Change 3293292 on 2017/02/08 by Alex.Delesky Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds. Change 3293477 on 2017/02/08 by Jamie.Dale Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays #jira UE-41007 Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data. Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt Fix details panel categories in the static mesh editor Change 3294216 on 2017/02/09 by Michael.Dupuis #jira UE-40609: manually position the window based on it'S max possible size #3128 GitHub Change 3294430 on 2017/02/09 by Jamie.Dale Kerning-only text shaping no longer draws characters to get their metrics It now goes via the low-level FT caches like HarfBuzz does. Change 3294588 on 2017/02/09 by Alexis.Matte If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3295093 on 2017/02/09 by Arciel.Rekman Linux: fix Setup.sh not working in paths with space (UE-41819). Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt Fix material UV's no longer working om 9 slice elements Change 3295816 on 2017/02/09 by Arciel.Rekman Linux: fix starting programs from a path with space. Change 3296129 on 2017/02/09 by Arciel.Rekman Linux i686: changes necessary to compile BlankProgram. - Added new architecture to UBT. - Fixed system headers. - Added third party libs for i686: - jemalloc - elftoolchain - zlib - SDL2 - libc++ Change 3296564 on 2017/02/10 by Jamie.Dale Cleaned up PO comment preservation Change 3296694 on 2017/02/10 by Jamie.Dale AllocateNameEntry now takes TCharType* rather than void* and cast Change 3296744 on 2017/02/10 by Jamie.Dale Moved the PO DOM from UnrealEd to Internationalization Change 3297250 on 2017/02/10 by Jamie.Dale Split the PO import/export pipeline out of the commandlet Change 3297420 on 2017/02/10 by Alexis.Matte Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor. #jira UE-38985 Change 3297594 on 2017/02/10 by Alexis.Matte When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one. Change 3297752 on 2017/02/10 by Arciel.Rekman i686 support: more third party libs. - libcurl - OpenSSL - libpng - libvorbis - libogg - libopus Change 3297754 on 2017/02/10 by Arciel.Rekman i686 support: PhysX Change 3297922 on 2017/02/10 by Alexis.Matte When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename. Change 3298330 on 2017/02/10 by Arciel.Rekman i686: missing libcurl. Change 3298620 on 2017/02/11 by Jamie.Dale FLocTextHelper improvements - It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths). - The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters). Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist) Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts) Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt Fix material instances being marked dirty when opening #jira UE-41721, UE-41719 Change 3299441 on 2017/02/13 by Nick.Darnell PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi) Change 3299567 on 2017/02/13 by Nick.Darnell Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed. #jira UE-41904 Change 3299870 on 2017/02/13 by Jamie.Dale Added cycle counters for font rendering/shaping Change 3300116 on 2017/02/13 by Michael.Dupuis #jira UE-41866: Update cache when performing an undo Change 3300178 on 2017/02/13 by Alexis.Matte Fix a crash when re-importing a LOD with more sections then the base LOD Change 3300191 on 2017/02/13 by Alexis.Matte Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh. Change 3300351 on 2017/02/13 by Alexis.Matte Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI #jira UE-39639 Change 3302138 on 2017/02/14 by Nick.Darnell Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them. Change 3302139 on 2017/02/14 by Nick.Darnell UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets. Change 3302281 on 2017/02/14 by Nick.Darnell Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases. Change 3302415 on 2017/02/14 by Nick.Darnell Disabling the open asset editor test. Change 3302976 on 2017/02/14 by Nick.Darnell Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO. Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove #jira UE-41958 Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav) Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi) Change 3303823 on 2017/02/15 by Nick.Darnell Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter. Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt Fix build error Change 3303982 on 2017/02/15 by Nick.Darnell Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow. Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt Fix build attempt #2 (not reproducible locally) Change 3304393 on 2017/02/15 by Matt.Barnes Submitting test content for UEQATC-3548 Change 3304517 on 2017/02/15 by Nick.Darnell Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both. Change 3304560 on 2017/02/15 by Nick.Darnell UMG - SA fix. Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist) Change 3305360 on 2017/02/15 by Arciel.Rekman Linux: fix crash on exit (UE-41907). - It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit(). Change 3306023 on 2017/02/16 by Nick.Darnell Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints. Change 3306030 on 2017/02/16 by Nick.Darnell Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way). Change 3306031 on 2017/02/16 by Nick.Darnell Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint. Change 3306046 on 2017/02/16 by Nick.Darnell UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode. Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt Fix crash if blurs are rotated #jira UE-42037 Change 3309114 on 2017/02/17 by Jamie.Dale Unifying non-shaped text to use the same atlas cache as shaped text Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt Outline color on text elements is now inherited properly #jira UE-40691 Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt Guard against rendering MIDs with potentially no parent in slate. #jira UE-42047 Change 3311531 on 2017/02/20 by Michael.Dupuis #jira UETOOL-1100: Add the possibility to have dynamic min/max slider value Synchonize all Color vector together when changing the min/max slider value Change 3311534 on 2017/02/20 by Michael.Dupuis incremental build fix Change 3311535 on 2017/02/20 by Michael.Dupuis incremental build fix take 2... Change 3311743 on 2017/02/20 by Michael.Dupuis buildfix lunix incremental Change 3312496 on 2017/02/20 by Arciel.Rekman Linux: fix PhysX crash in i686. - Changed layout to one that works. Change 3313127 on 2017/02/20 by Jamie.Dale Fixed crash when performing a non-async cooked package save It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed. Change 3313990 on 2017/02/21 by Nick.Darnell Automation - Added a summary area at the top of the report. Change 3314034 on 2017/02/21 by Jamie.Dale Fixed crash when deleting a streamed font Change 3314942 on 2017/02/21 by Nick.Darnell Automation - More templating styling work. Change 3315080 on 2017/02/21 by Nick.Darnell Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock. Change 3315452 on 2017/02/21 by Nick.Darnell Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet. Change 3315614 on 2017/02/21 by Nick.Darnell Json - Adding support for loading sets and map json data. Change 3315924 on 2017/02/21 by Arciel.Rekman Vulkan: edigrating various Linux fixes by Josh. - This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself). Original descriptions: CL 3313445 - Various Vulkan fixes: - Compiles in Linux - Many cubemap bugs squashed - Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear() - Added compute fences CL 3314152 - Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested. Change 3316741 on 2017/02/22 by Jamie.Dale Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names #jira UE-42253 Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3317058 on 2017/02/22 by Alexis.Matte Fix the scene importer to support correctly the obj file format #jira UE-35606 Change 3318039 on 2017/02/22 by Arciel.Rekman i686 support: added missing libwebsockets. Change 3318095 on 2017/02/22 by Arciel.Rekman i686 support: Oodle. Change 3319002 on 2017/02/23 by Michael.Dupuis #jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape Change 3319012 on 2017/02/23 by Alexis.Matte PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans) #jira UE-40039 Change 3319035 on 2017/02/23 by Nick.Darnell UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi. #jira UE-42170 Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts) #jira UE-42129 Change 3319072 on 2017/02/23 by Michael.Dupuis #jira UETOOL-1101: Add support for DetailGroup reset to default Right now it's only enable for the color grading Change 3319077 on 2017/02/23 by Nick.Darnell Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days. PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component. Change 3319088 on 2017/02/23 by Nick.Darnell PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist) #jira UE-41914 Change 3319104 on 2017/02/23 by Michael.Dupuis fix incremental build Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts) #jira UE-42272 Change 3319252 on 2017/02/23 by Michael.Dupuis fix warning with missing #undef LOCTEXT_NAMESPACE Change 3319298 on 2017/02/23 by Alex.Delesky Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules) Change 3319388 on 2017/02/23 by Alexis.Matte Fbx Importer now find collision model under fbx LOD Group #jira UE-42141 Change 3319528 on 2017/02/23 by Michael.Dupuis Fixed Undo/Redo to be consistent with other vector modifcation behavior Change 3319583 on 2017/02/23 by Alexis.Matte Fix the sample rate to use the least common multiplier of all keys #jira UE-42012 Change 3319705 on 2017/02/23 by Nick.Darnell Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'. Change 3319711 on 2017/02/23 by Nick.Darnell Editor - Adding some checks to make sure the struct we're accessing is still a valid handle. #jira UE-42262 Change 3319736 on 2017/02/23 by Alex.Delesky Adding Subtitles and SubtitlesEditor to the JunkManifest file. Change 3319919 on 2017/02/23 by Nick.Darnell Automation - Fixing an issue with moving a location that doesn't exist. Change 3319932 on 2017/02/23 by Alexis.Matte Fbx importer, do not apply more then one time the transform option to the scene node. #jira UE-42277 Change 3320105 on 2017/02/23 by Nick.Darnell Editor - Adding some additional checks to the margin customization. #jira UE-42262 Change 3321577 on 2017/02/24 by Jamie.Dale Moving Internationalization module from Runtime to Developer Change 3321625 on 2017/02/24 by Jamie.Dale Moving InternationalizationSettings module from Developer to Editor Change 3321642 on 2017/02/24 by Jamie.Dale Moving SCulturePicker from the Localization module to the InternationalizationSettings module Change 3321734 on 2017/02/24 by Alexis.Matte PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi) We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow. #jira UE-39050 Change 3321912 on 2017/02/24 by Jamie.Dale Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies Change 3322274 on 2017/02/24 by Jamie.Dale Moving Localization module from Editor to Developer, and merging the Internationalization module into it Removed hard-dependency between Engine and Localization/Internationalization via an interface. Change 3322774 on 2017/02/25 by Jamie.Dale Unifying LocRes and LocNat file format between generation and loading This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly. #tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before. Change 3322795 on 2017/02/25 by Jamie.Dale Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets. Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another. Change 3322853 on 2017/02/25 by Jamie.Dale Moved the conflict and word count reporting to FLocTextHelper Change 3323089 on 2017/02/26 by Jamie.Dale Added functions to get the target name and path from FLocTextHelper Change 3323391 on 2017/02/27 by Ben.Cosh This fixes an issue with blueprint config variables having their value destroyed by CDO serialization #Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization #Proj Engine, CoreUObject Change 3323406 on 2017/02/27 by Ben.Cosh Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation. #jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph #Proj BlueprintGraph Change 3323572 on 2017/02/27 by Nick.Darnell Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from. Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground. Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level. Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test. Automation - The screenshot comparison test now prints more information even during successful comparisons. Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it. Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future. Change 3323580 on 2017/02/27 by Michael.Trepka Fixed some Xcode 8.3 compile errors Change 3323634 on 2017/02/27 by Nick.Darnell Build - Fix incremental build. Change 3323740 on 2017/02/27 by Jamie.Dale Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing Change 3323865 on 2017/02/27 by Nick.Darnell Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped. Change 3324228 on 2017/02/27 by Jamie.Dale Can no longer name assets or folders with a leading underscore #jira UE-40541 Change 3324429 on 2017/02/27 by Jamie.Dale Removing FLocTextTargetPaths It was added to support something that I'm now going to do a different way. Change 3324473 on 2017/02/27 by Jamie.Dale Moved the GatherText SCC utils into the Localization module Change 3324481 on 2017/02/27 by Jamie.Dale Moving the localized asset utils out of GatherText base Change 3324485 on 2017/02/27 by Jamie.Dale Cleaning up some includes now that the localization SCC is no longer in GatherText Change 3324910 on 2017/02/28 by Nick.Darnell Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect. Change 3325329 on 2017/02/28 by Michael.Dupuis #jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed Change 3325410 on 2017/02/28 by Michael.Dupuis missing include for incremental build Change 3325415 on 2017/02/28 by Nick.Darnell UMG - Adding some setters and getters for RedrawTime to the WidgetComponent. Change 3325418 on 2017/02/28 by Nick.Darnell Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup. Change 3325698 on 2017/02/28 by Alexis.Matte Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch Change 3325790 on 2017/02/28 by Michael.Trepka Copy of CL 3319588 Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer Change 3326118 on 2017/02/28 by Alexis.Matte Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer #jira UE-41291 Change 3326183 on 2017/02/28 by Alexis.Matte PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy) #jira UE-42301 Change 3326196 on 2017/02/28 by Jamie.Dale Force the correct package localization ID when duplicating a BP for nativization Change 3327037 on 2017/03/01 by Michael.Dupuis fixed fortnite mac non editor build Change 3327483 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327486 on 2017/03/01 by Jamie.Dale Renaming LocNat to LocMeta Change 3327541 on 2017/03/01 by Michael.Trepka Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac Change 3328000 on 2017/03/01 by Nick.Darnell Automation - Noisy rendering features are now disabled by default when taking screenshots. Change 3328323 on 2017/03/01 by Michael.Trepka Copy of CL 3307526 Fixed mouse position issues in fullscreen mode on Mac Change 3328410 on 2017/03/01 by Alexis.Matte Remove unwanted option when importing skeletal mesh Make the FBX tests uptodate with the new ImportUI options #jira UE-41291 Change 3329586 on 2017/03/02 by Jamie.Dale Adding missing includes when running with bUseMallocProfiler enabled Change 3329999 on 2017/03/02 by Nick.Darnell UMG - Removing a deprecated 4.8 function to get the label on UWidget. Change 3330004 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the dependencies of UMGEditor module. Change 3330021 on 2017/03/02 by Nick.Darnell UMG - Adding TargetPlatform to the private include path of the UMG module. Change 3330041 on 2017/03/02 by Nick.Darnell Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is. Change 3330048 on 2017/03/02 by Nick.Darnell Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring. Change 3330602 on 2017/03/02 by mason.seay Map for Functional Screenshot Test Bug Change 3330632 on 2017/03/02 by Alexis.Matte Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index Change 3330862 on 2017/03/02 by Jamie.Dale Adding FPaths::SetExtension This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one. Change 3331491 on 2017/03/03 by Nick.Darnell Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran. Change 3331498 on 2017/03/03 by Nick.Darnell Build - Fixing a build warning. Change 3331807 on 2017/03/03 by Nick.Darnell Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes. Change 3331999 on 2017/03/03 by Michael.Trepka Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp Change 3332481 on 2017/03/03 by Arciel.Rekman Fix building lighting in commandlet (UE-42551). - Process task graph while running as commandlet. - Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out. Change 3332606 on 2017/03/04 by Jamie.Dale Fixing crash reporting loc word counts when the report is starting empty Change 3332614 on 2017/03/04 by Jamie.Dale Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives Change 3332619 on 2017/03/04 by Jamie.Dale Fixing CIS error Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist) #jira UE-42284 Change 3333039 on 2017/03/06 by Alexis.Matte Make custom ui for FbxSceneImportData object #jira UE-37896 Change 3333047 on 2017/03/06 by Nick.Darnell UMG - Removing an extra assignment in WidgetSwitcher. Change 3333056 on 2017/03/06 by Alexis.Matte Build fix Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt Added more logging for when window creation fails due to too many windows. #jira UE-42478 Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts) #jira UE-42535 Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki) #jira UE-42407, UE-42565 Change 3333142 on 2017/03/06 by Jamie.Dale Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click. #jira UE-42461 PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus) Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt Remove double middle mouse click to change to perspective view #jira UE-42444 Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt Fixed excessive fname initialization in these files Change 3334063 on 2017/03/06 by Alexis.Matte fix build linux Change 3334166 on 2017/03/06 by Jamie.Dale Adding Data Table export/import support for TMap and TSet #jira UE-42415 Change 3334459 on 2017/03/06 by Alexis.Matte PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto) #jira UE-42563 Change 3335132 on 2017/03/07 by Jamie.Dale Fixing typo Change 3335140 on 2017/03/07 by Jamie.Dale Fixing CSV import warnings in GameplayEffects test Change 3335164 on 2017/03/07 by Alexis.Matte Avoid selecting skeletal mesh section in the level when high light them in persona editor #jira UE-20151 Change 3335186 on 2017/03/07 by Jamie.Dale Fixed CSV parser missing empty cells at the end of the string Change 3335218 on 2017/03/07 by Arciel.Rekman SDL2: delete unused project/build files. Change 3335222 on 2017/03/07 by Arciel.Rekman SDL2: delete more unused project/build files. Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt Additional fixes for blur and blur slot not propagating padding to each other #jira UE-42553 Change 3335896 on 2017/03/07 by Jamie.Dale ToolTips and Engine were double gathering the same meta-data #jira UE-36480 Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties Change 3336247 on 2017/03/07 by Jamie.Dale Selection height is now the max of the line height and text height to account for negative line scaling #jira UE-40673 Change 3336253 on 2017/03/07 by Jamie.Dale Added a setting to control whether we should use the font metrics or the bounding box when laying out a font #jira UE-41074 Change 3336303 on 2017/03/07 by Arciel.Rekman Refactor of OS memory allocation functions. - Bring PageSize/OSAllocationGranularity in line with the established definitions. - PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties. - OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned). - BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations. - Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned. - This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2. - Make Binned2 work on Linux - Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost. - The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS) - Switch Linux to Binned2 by default. - Add ability to sanity-check OS memory allocations. - Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only). Change 3337098 on 2017/03/08 by Michael.Dupuis #jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt Hide the preview toolbar button, it is not being used Change 3337801 on 2017/03/08 by Michael.Trepka Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac Change 3338373 on 2017/03/08 by Joe.Graf Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment Tested directory structures: D:\SomePluginDir D:\UE4\AnotherPluginDir D:\UE4\Engine\Plugins D:\UE4\MyProject\Plugins Change 3338482 on 2017/03/08 by Alexis.Matte Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt Fixed arrow keys not working to navigate between elements in the details panel Change 3339086 on 2017/03/09 by Dmitriy.Dyomin Added: Mobile friendly slate settings Change 3339366 on 2017/03/09 by Nick.Darnell Build - Attempting to fix build. #jira UE-42675 Change 3339506 on 2017/03/09 by Jamie.Dale Fixing Linux Server build error #jira UE-42675 Change 3340450 on 2017/03/09 by Cody.Albert Ensure that the hittest grid is valid before trying to find a focusable widget Change 3340492 on 2017/03/09 by Arciel.Rekman Fix IOS compile error (UE-42695). Change 3340565 on 2017/03/09 by Arciel.Rekman Fix another compile error (UE-42695). Change 3341527 on 2017/03/10 by Alexis.Matte Fix crash when dragging a re-import scene and there is new asset created #jira UE-42766 [CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
.Visibility(EVisibility::Collapsed)
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(ToolbarSlotPadding)
[
// Button to show that realtime is off
SNew(SEditorViewportToolBarButton)
.ButtonType(EUserInterfaceActionType::Button)
.ButtonStyle(&FAppStyle::Get().GetWidgetStyle<FButtonStyle>("EditorViewportToolBar.WarningButton"))
.OnClicked(this, &SLevelViewportToolBar::OnRealtimeWarningClicked)
.Visibility(this, &SLevelViewportToolBar::GetRealtimeWarningVisibility)
.ToolTipText(LOCTEXT("RealtimeOff_ToolTip", "This viewport is not updating in realtime. Click to turn on realtime mode."))
.Content()
[
SNew(STextBlock)
.TextStyle(&FAppStyle::Get().GetWidgetStyle<FTextBlockStyle>("SmallText"))
.Text(LOCTEXT("RealtimeOff", "Realtime Off"))
]
]
+ SHorizontalBox::Slot()
.AutoWidth()
.Padding(ToolbarSlotPadding)
[
// Button to show scalability warnings
SNew(SEditorViewportToolbarMenu)
.ParentToolBar(SharedThis(this))
.Label(this, &SLevelViewportToolBar::GetScalabilityWarningLabel)
.MenuStyle(&FAppStyle::Get().GetWidgetStyle<FButtonStyle>("EditorViewportToolBar.WarningButton"))
.OnGetMenuContent(this, &SLevelViewportToolBar::GetScalabilityWarningMenuContent)
.Visibility(this, &SLevelViewportToolBar::GetScalabilityWarningVisibility)
.ToolTipText(LOCTEXT("ScalabilityWarning_ToolTip", "Non-default scalability settings could be affecting what is shown in this viewport.\nFor example you may experience lower visual quality, reduced particle counts, and other artifacts that don't match what the scene would look like when running outside of the editor. Click to make changes."))
]
+ SHorizontalBox::Slot()
.Padding(ToolbarSlotPadding)
.HAlign(HAlign_Center)
.VAlign(VAlign_Fill)
[
SAssignNew(ExtensionPanel, SExtensionPanel)
.ExtensionPanelID("LevelViewportToolBar.MiddleExtension")
]
+ SHorizontalBox::Slot()
.Padding(ToolbarSlotPadding)
.HAlign(HAlign_Right)
[
SNew(STransformViewportToolBar)
.Viewport(ViewportRef)
.CommandList(ViewportRef->GetCommandList())
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
.Extenders(LevelEditorModule.GetToolBarExtensibilityManager()->GetAllExtenders())
.Visibility(ViewportRef, &SLevelViewport::GetTransformToolbarVisibility)
]
+ SHorizontalBox::Slot()
.HAlign(HAlign_Right)
.AutoWidth()
.Padding(ToolbarSlotPadding)
[
//The Maximize/Minimize button is only displayed when not in Immersive mode.
SNew(SEditorViewportToolBarButton)
.ButtonType(EUserInterfaceActionType::ToggleButton)
.CheckBoxStyle(&FAppStyle::Get().GetWidgetStyle<FCheckBoxStyle>("EditorViewportToolBar.MaximizeRestoreButton"))
.IsChecked(ViewportRef, &SLevelViewport::IsMaximized)
.OnClicked(ViewportRef, &SLevelViewport::OnToggleMaximize)
.Visibility(ViewportRef, &SLevelViewport::GetMaximizeToggleVisibility)
.Image("EditorViewportToolBar.Maximize")
.ToolTipText(LOCTEXT("Maximize_ToolTip", "Maximizes or restores this viewport"))
]
+ SHorizontalBox::Slot()
.HAlign(HAlign_Right)
.AutoWidth()
.Padding(ToolbarSlotPadding)
[
//The Restore from Immersive' button is only displayed when the editor is in Immersive mode.
SNew(SEditorViewportToolBarButton)
.ButtonType(EUserInterfaceActionType::Button)
.OnClicked(ViewportRef, &SLevelViewport::OnToggleMaximize)
.Visibility(ViewportRef, &SLevelViewport::GetCloseImmersiveButtonVisibility)
.Image("EditorViewportToolBar.RestoreFromImmersive.Normal")
.ToolTipText(LOCTEXT("RestoreFromImmersive_ToolTip", "Restore from Immersive"))
]
]
]
];
SViewportToolBar::Construct(SViewportToolBar::FArguments());
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
bool SLevelViewportToolBar::IsViewModeSupported(EViewModeIndex ViewModeIndex) const
{
return true;
}
FLevelEditorViewportClient* SLevelViewportToolBar::GetLevelViewportClient()
{
if (Viewport.IsValid())
{
return &Viewport.Pin()->GetLevelViewportClient();
}
return nullptr;
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
FText SLevelViewportToolBar::GetCameraMenuLabel() const
{
TSharedPtr< SLevelViewport > PinnedViewport( Viewport.Pin() );
if( PinnedViewport.IsValid() )
{
return GetCameraMenuLabelFromViewportType( PinnedViewport->GetLevelViewportClient().ViewportType );
}
return LOCTEXT("CameraMenuTitle_Default", "Camera");
}
const FSlateBrush* SLevelViewportToolBar::GetCameraMenuLabelIcon() const
{
TSharedPtr< SLevelViewport > PinnedViewport( Viewport.Pin() );
if( PinnedViewport.IsValid() )
{
return GetCameraMenuLabelIconFromViewportType(PinnedViewport->GetLevelViewportClient().ViewportType );
}
return FStyleDefaults::GetNoBrush();
}
FText SLevelViewportToolBar::GetDevicePreviewMenuLabel() const
{
FText Label = LOCTEXT("DevicePreviewMenuTitle_Default", "Preview");
TSharedPtr< SLevelViewport > PinnedViewport( Viewport.Pin() );
if( PinnedViewport.IsValid() )
{
if ( PinnedViewport->GetDeviceProfileString() != "Default" )
{
Label = FText::FromString( PinnedViewport->GetDeviceProfileString() );
}
}
return Label;
}
const FSlateBrush* SLevelViewportToolBar::GetDevicePreviewMenuLabelIcon() const
{
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
FString DeviceProfileName = ViewportRef->GetDeviceProfileString();
FName PlatformIcon = NAME_None;
if( !DeviceProfileName.IsEmpty() && DeviceProfileName != "Default" )
{
static FName DeviceProfileServices( "DeviceProfileServices" );
IDeviceProfileServicesModule& ScreenDeviceProfileUIServices = FModuleManager::LoadModuleChecked<IDeviceProfileServicesModule>(TEXT( "DeviceProfileServices"));
IDeviceProfileServicesUIManagerPtr UIManager = ScreenDeviceProfileUIServices.GetProfileServicesManager();
PlatformIcon = UIManager->GetDeviceIconName( DeviceProfileName );
return FAppStyle::GetOptionalBrush( PlatformIcon );
}
return nullptr;
}
bool SLevelViewportToolBar::IsCurrentLevelViewport() const
{
TSharedPtr< SLevelViewport > PinnedViewport( Viewport.Pin() );
if( PinnedViewport.IsValid() )
{
if( &( PinnedViewport->GetLevelViewportClient() ) == GCurrentLevelEditingViewportClient )
{
return true;
}
}
return false;
}
bool SLevelViewportToolBar::IsPerspectiveViewport() const
{
TSharedPtr< SLevelViewport > PinnedViewport( Viewport.Pin() );
if( PinnedViewport.IsValid() )
{
if( PinnedViewport->GetLevelViewportClient().IsPerspective() )
{
return true;
}
}
return false;
}
/**
* Called to generate the set bookmark submenu
*/
static void OnGenerateSetBookmarkMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
{
FToolMenuSection& Section = Menu->AddSection("Section");
// Add a menu entry for each bookmark
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
TSharedPtr<SLevelViewport> SharedViewport = Viewport.Pin();
FLevelEditorViewportClient& ViewportClient = SharedViewport->GetLevelViewportClient();
const int32 NumberOfBookmarks = static_cast<int32>(IBookmarkTypeTools::Get().GetMaxNumberOfBookmarks(&ViewportClient));
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
const int32 NumberOfMappedBookmarks = FMath::Min<int32>(AWorldSettings::NumMappedBookmarks, NumberOfBookmarks);
for( int32 BookmarkIndex = 0; BookmarkIndex < NumberOfMappedBookmarks; ++BookmarkIndex )
{
Section.AddMenuEntry(
NAME_None,
FLevelViewportCommands::Get().SetBookmarkCommands[BookmarkIndex],
FBookmarkUI::GetPlainLabel(BookmarkIndex)
);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
}
// Only mapped bookmarks will have predefined actions.
// So, create any additional actions we need to hit the max number of bookmarks.
for (int32 BookmarkIndex = NumberOfMappedBookmarks; BookmarkIndex < NumberOfBookmarks; ++BookmarkIndex)
{
FUIAction Action;
Action.ExecuteAction.BindSP(SharedViewport.ToSharedRef(), &SLevelViewport::OnSetBookmark, BookmarkIndex);
Section.AddMenuEntry(
NAME_None,
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
FBookmarkUI::GetPlainLabel(BookmarkIndex),
FBookmarkUI::GetSetTooltip(BookmarkIndex),
FBookmarkUI::GetDefaultIcon(),
Action);
}
}
/**
* Called to generate the clear bookmark submenu
*/
static void OnGenerateClearBookmarkMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
{
FToolMenuSection& Section = Menu->AddSection("Section");
// Add a menu entry for each bookmark
FEditorModeTools& Tools = GLevelEditorModeTools();
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
TSharedPtr<SLevelViewport> SharedViewport = Viewport.Pin();
FLevelEditorViewportClient& ViewportClient = SharedViewport->GetLevelViewportClient();
const int32 NumberOfBookmarks = static_cast<int32>(IBookmarkTypeTools::Get().GetMaxNumberOfBookmarks(&ViewportClient));
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
const int32 NumberOfMappedBookmarks = FMath::Min<int32>(AWorldSettings::NumMappedBookmarks, NumberOfBookmarks);
for( int32 BookmarkIndex = 0; BookmarkIndex < NumberOfMappedBookmarks; ++BookmarkIndex )
{
if ( IBookmarkTypeTools::Get().CheckBookmark( BookmarkIndex , &ViewportClient ) )
{
Section.AddMenuEntry(
NAME_None,
FLevelViewportCommands::Get().ClearBookmarkCommands[ BookmarkIndex ],
FBookmarkUI::GetPlainLabel(BookmarkIndex)
);
}
}
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
for (int32 BookmarkIndex = NumberOfMappedBookmarks; BookmarkIndex < NumberOfBookmarks; ++BookmarkIndex)
{
if ( IBookmarkTypeTools::Get().CheckBookmark(BookmarkIndex, &ViewportClient) )
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
{
FUIAction Action;
Action.ExecuteAction.BindSP(SharedViewport.ToSharedRef(), &SLevelViewport::OnClearBookmark, BookmarkIndex);
Section.AddMenuEntry(
NAME_None,
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
FBookmarkUI::GetPlainLabel(BookmarkIndex),
FBookmarkUI::GetClearTooltip(BookmarkIndex),
FBookmarkUI::GetDefaultIcon(),
Action);
}
}
}
/**
* Called to generate the jump to bookmark menu.
*/
static bool GenerateJumpToBookmarkMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
{
FToolMenuSection& Section = Menu->AddSection("Section");
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
// Add a menu entry for each bookmark
FEditorModeTools& Tools = GLevelEditorModeTools();
TSharedPtr<SLevelViewport> SharedViewport = Viewport.Pin();
FLevelEditorViewportClient& ViewportClient = SharedViewport->GetLevelViewportClient();
const int32 NumberOfBookmarks = static_cast<int32>(IBookmarkTypeTools::Get().GetMaxNumberOfBookmarks(&ViewportClient));
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
const int32 NumberOfMappedBookmarks = FMath::Min<int32>(AWorldSettings::NumMappedBookmarks, NumberOfBookmarks);
bool bFoundAnyBookmarks = false;
for( int32 BookmarkIndex = 0; BookmarkIndex < NumberOfMappedBookmarks; ++BookmarkIndex )
{
if ( IBookmarkTypeTools::Get().CheckBookmark( BookmarkIndex , &ViewportClient ) )
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
{
bFoundAnyBookmarks = true;
Section.AddMenuEntry(
NAME_None,
FLevelViewportCommands::Get().JumpToBookmarkCommands[BookmarkIndex]
);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
}
}
for (int32 BookmarkIndex = NumberOfMappedBookmarks; BookmarkIndex < NumberOfBookmarks; ++BookmarkIndex)
{
if ( IBookmarkTypeTools::Get().CheckBookmark(BookmarkIndex, &ViewportClient) )
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
{
bFoundAnyBookmarks = true;
FUIAction Action;
Action.ExecuteAction.BindSP(SharedViewport.ToSharedRef(), &SLevelViewport::OnJumpToBookmark, BookmarkIndex);
Section.AddMenuEntry(
NAME_None,
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
FBookmarkUI::GetJumpToLabel(BookmarkIndex),
FBookmarkUI::GetJumpToTooltip(BookmarkIndex),
FBookmarkUI::GetDefaultIcon(),
Action);
}
}
return bFoundAnyBookmarks;
}
/**
* Called to generate the bookmark submenu
*/
static void OnGenerateBookmarkMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
{
FEditorModeTools& Tools = GLevelEditorModeTools();
// true if a bookmark was found.
bool bFoundBookmark = false;
// Get the viewport client to pass down to the CheckBookmark function
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
bool bFoundBookmarks = false;
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportActiveBoookmarks", LOCTEXT("JumpToBookmarkHeader", "Active Bookmarks"));
bFoundBookmarks = GenerateJumpToBookmarkMenu(Menu, Viewport);
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportBookmarkSubmenus");
Section.AddSubMenu(
"SetBookmark",
LOCTEXT("SetBookmarkSubMenu", "Set Bookmark"),
LOCTEXT("SetBookmarkSubMenu_ToolTip", "Set viewport bookmarks"),
FNewToolMenuDelegate::CreateStatic( &OnGenerateSetBookmarkMenu, Viewport )
);
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
const FLevelViewportCommands& Actions = FLevelViewportCommands::Get();
Section.AddMenuEntry( Actions.CompactBookmarks );
Copying //UE4/Dev-Enterprise to //UE4/Dev-Main (Source: //UE4/Dev-Enterprise @ 4279600) #rb none #lockdown Nick.Penwarden ============================ MAJOR FEATURES & CHANGES ============================ Change 4073383 by Patrick.Boutot [AJA] Set base timecode for AJA TimecodeProvider Change 4075631 by Patrick.Boutot Change icon for TimecodeSynchronizer. Update TimecodeSynchronizer with the new AJA delayed open sources. Add TimecodeProvider to TimecodeSynchronizer. Can now sync with TimecodeProvider or a master. Make sure the source are ready before viewing them. Remove PreRoll command. Change 4077328 by JeanMichel.Dignard Fixed SoftObjectPtr/Paths becoming invalid when saving a new world since it's being moved from /Temp/Untitled to its own package. #jira UEENT-1423 Change 4077338 by Rex.Hill USD plugin updated to v8.4 with python support Change 4079063 by Rex.Hill USD sdk recompiled as vs2015 targeting older version of CRT, also dependency added for PythonScriptPlugin Change 4079911 by Rex.Hill USD pyd files recompiled Change 4080058 by Rex.Hill Fix usd plugin loading, added missing libtrace.dll Change 4080376 by Matt.Hoffman Improvements to Sequence Recorder's public API to expose more functionality for third parties. Change 4084984 by Matt.Hoffman Sequence Recorder can now set a global time dilation when recording starts, optionally ignoring the dilation when recording keys. This is useful for recording objects in your scene that move too fast to track with a camera but still ending up with the same length recording in the end. #jira UESP-670 Change 4086688 by Matt.Hoffman Exposes getting and setting keys from sequencer sections via the scripting layer. Examples for how to work with Python and key data can be found in /Plugins/MovieScene/SequencerScripting/Content/Python in the form of "sequencer_examples.py" and "sequencer_key_examples.py". Documentation on how to use these examples is included in the python file. #jira UESP-547 Change 4088904 by Max.Chen Sequence Recorder: Set actor tags as unique Change 4089176 by Max.Chen Sequence Recorder: Add option to record to the target level sequence playback range length. Change 4089180 by Max.Chen Sequence Recorder: Add protection agains null movie scene sections Change 4089205 by Max.Chen Sequence Recorder: Save recorded audio files if auto save is on. #jira UESP-660 Change 4089206 by Max.Chen Sequencer: When importing fbx, if a camera is created, force mapping to be by name matching only so that other nodes in the fbx file do not get mapped onto the newly created camera. #jira UE-59347 Change 4089214 by Max.Chen Sequence Recorder: Add support for looping/rolling takes #jira UESP-658 Change 4089280 by Max.Chen Sequence Recorder: Added support to specify properties from actor classes (camera rig rail - current position on rail) Change 4093824 by Andrew.Rodham Editor: Added option to class pickers to force use of class Display Names Change 4093826 by Andrew.Rodham Removed implicit gamma to linear conversion from EXR writer - This was only implemented for exr data that was supplied as 8 bits per channel (ie. uint8), but there is no way of communicating with the Image Writer API to tell it whether you want it to do that conversion. This code is too low level to be making assumptions about what color-space the data is in. - This ensures that R8G8B8A8 render targets exported as EXR are exported as-is without any modification #jira UESP-545 Change 4093830 by Andrew.Rodham Fixed shutdown crash when destroying a media player that was still playing Change 4093831 by Andrew.Rodham Fixed exception handling in png image wrapper Change 4093833 by Andrew.Rodham Slate: Fixed not being able to set a hyperlink on notifications with unbound attributes that had explicit values set Change 4093841 by Andrew.Rodham Added a utility struct for dealing with editor actor layers from within Blueprints Change 4093867 by Andrew.Rodham Sequencer: Added the ability to implement custom capture protocols for movie scene captures - Converted capture protocol settings and instances to be single UObjects. This unifies the two concepts, and allows for Blueprint implementations. - Removed capture protocol registry since it is no longer required. - Removed FCaptureProtocolID in favor of class discovery at runtime. - Added new module "ImageWriteQueue", responsible for asynchronously managing a queue of image file write operations. - Added new capture protocol for capturing final pixels to EXR (including burn-ins) - Added a new BP function, ExportToDisk, accessible on all UTexture properties for writing texture and render target data to image files - New global BP nodes for querying movie capture status: IsCaptureInProgress, FindCaptureProtocol - Removed Flush On Draw functionality from viewports and frame grabber since it is unnecessary. #jira UESP-545 Change 4094239 by Rex.Hill Export sequence to usd #jira UESP-563 Change 4094393 by Andrew.Rodham Renamed references of 'BufferName' to 'StreamName' for user defined capture protocols Change 4094622 by Patrick.Boutot Add MediaFrameworkUtilitites plugin. Add MediaBundle. An asset that create a MediaPlayer, MediaSource, MediaTexture and MaterialInstance. Add MediaBundleActor. Can auto play a MediaBundle when click & drag in the viewport. Add the Media category in placement mode. Add flag on the MediaPlayer that prevent it from closing when PIE is started or closed. Change 4094673 by Anousack.Kitisa Created widget to display metadata as list view of tags/values. #jira UEENT-1296 Change 4094795 by Simon.Therriault MediaFrameworkUtilities - Adding default media texture for default media bundle material - Changed default material to unlit Change 4094867 by Rex.Hill Usd sequence exporter camera rotation corrected Change 4096426 by JeanLuc.Corenthin - Fixed logic of FLayoutUV::FindCharts to properly extract the list of triangles based on a mesh description. - Fixed logic in FMeshDescriptionOperations::ConverToRawMesh & FMeshDescriptionOperations::ConvertHardEdgesToSmoothGroup to take in account the fact that the arrays are sparse arrays - Fixed logic in FQuadricSimplifierMeshReduction::ReduceMeshDescription which wrongly assumed that number of vertex instances equals three times the number of triangles. - Added early-out in UMeshDescription::ComputePolygonTriangulation when perimeter has 3 vertex indices - Changed version of static mesh and mesh description - Fixed issue with mismatching attribute set when generating LOD meshes #jira UEENT-887, UE-59474, UE-59471 Change 4097101 by Patrick.Boutot Remove warning in PropertyEditorClass when trying to load the "None" class. Change 4097443 by Rex.Hill USD export bake keys Change 4097468 by Patrick.Boutot Edit and initialize the timecode provider of the editor. Change 4097479 by Anousack.Kitisa Added support for commandlet and unattended script modes to Plugin Warden. #jira UE-57333 Change 4097578 by Rex.Hill USD export tweaks Change 4098257 by Simon.Therriault GarbageMatteCaptureComponent - Adding spawned actor tracking to be able to use GarbageMatteActor spawned in editor. Change 4100072 by Jamie.Dale Updated wrapped enums to be more consistent with native Python enums - Wrapped enums now generate values that are instances of the enum type itself, containing a name and value field (like native Python enums). - Wrapped enums are now strongly typed and do not allow implicit conversion from numbers (explicit casting is available, but throws if the value is unknown). - Wrapped enum entries may be compared against numbers (even numbers that don't have valid values) via the == and != operators (like IntEnum in Python). - Wrapped enums may now be iterated (like native Python enums). - Wrapped enums now return a length based on their number of entries (like native Python enums). - ScriptName meta-data can now be used with enum entries. Change 4100255 by Patrick.Boutot [MediaBundle] Modify the base shader to support "failed texture" Change 4103838 by Simon.Therriault MR Garbage Matte Component - Adding FocalDriver interface to be able to poll focal information from outside (cinecamera). Could be updated to be event driven. Change 4115616 by Rex.Hill USD Exporter now exposed to UI Change 4116333 by Simon.Therriault MediaBundle - Updated default media bundle to include lens distortion and chromakeying - Added possibility to spawn material editor for MediaBundle inner material - Fix for inner objects flags preventing asset deletion - Fix for CloseMedia not being called when changing map Lens Distortion - Fix for not being able to generate a Identity lens displacement map Change 4117952 by Rex.Hill Expose OpenEditorForAssets to python Change 4118498 by Rex.Hill Sequencer USD export can now export properties of actors in levels Change 4118515 by Rex.Hill Update sequencer export task comment Change 4118706 by Rex.Hill Sequencer USD updates Change 4118968 by Rex.Hill Sequencer USD export now supports visibility Change 4119702 by Simon.Therriault MediaBundle - Fix crash when changing MediaBundle on Actor multiple times. - Fix crash when Undoing after placing a MediaBundle and pressing Stop then Undo. - Fixed bad reference count in MediaBundle when undo/redo of MediaBundle setting changed on MediaBundleActor - Added PostEditChange after setting MaterialProperty to fix potential propagation. Change 4120060 by Patrick.Boutot Fix typo for TimecodeProviderClassName. Add "Config required restart" Add a button to reapply the CustomTimeStep or TimecodeProvider Change 4122062 by Krzysztof.Narkowicz Fixed movie burnout fixed timestep. Engine didn't use a fixed time step due to a following bug: 1. UAutomatedLevelSequenceCapture::Initialize calls UMovieSceneCapture::Initialize. 2. UMovieSceneCapture::Initialize creates FRealTimeCaptureStrategy and calls CaptureStrategy->OnInitialize(). 3. UAutomatedLevelSequenceCapture::Initialize changes CaptureStrategy to FFixedTimeStepCaptureStrategy, but no one calls CaptureStrategy->OnInitialize(); after that and this function is required to set the fixed time step. 4. Result: movies are burned out with variable time step, causing different inconsistencies between frames, settings and HW configurations. #jira none Change 4122236 by Anousack.Kitisa Made the "Import Into Level..." File menu action follow the EditorImport flag of a SceneImportFactory. #jira UE-57612 #jira UEENT-762 Change 4122588 by Rex.Hill Sequencer Export USD lights now supported Change 4122822 by JeanMichel.Dignard Fix for UV packing FlipX. Don't flip the empty columns at the end since they are always expected to be on the right side. The same was already done for FlipY. #jira UE-56664 Change 4123009 by JeanMichel.Dignard Copied fixes from MeshUtilities LayoutUV to MeshDescription LayoutUV Change 4123517 by JeanLuc.Corenthin Fixed crash when running cooked game crash with asset imported from datasmith #jira UE-60173 Change 4124569 by Patrick.Boutot [AJA] When the CustomTimeStep & TimecodeProvider signal is lost in the editor (not in PIE), try to re-synchronize every second. Change 4126421 by Max.Chen Sequencer: Add the ability to switch the takes of all the selected shots/subsections. #jira UESP-761 Change 4133010 by Simon.Therriault MediaBundle - Made assets in the bundle visible in the content browser (different package per asset) and updated to support duplication correctly - Quick fix for MaterialDynamicInstance garbage matte parameter not going back to default value when cleared. - Added looping option on the bundle Keyer and lens materials - Renamed some parameter groups to Keyer_XX Change 4135728 by Rex.Hill MovieSceneCapture crash fix when iteration on classes defined in python Change 4135732 by Rex.Hill Sequencer scripting: expose get playback range, sub sequence get sequence Change 4135734 by Rex.Hill USD python code refactored Change 4136017 by Matt.Hoffman Fixes FrameNumber nodes tripping an ensure when using them via Blueprints and fixes FrameNumbers & friends not being properly breakable in BP. #jira UE-60188 Change 4147959 by Patrick.Boutot Media Output Architecture. Support 8bits & 10bits color. Capture the buffer as is with the correct pixel format and the corredt target size. Change 4147962 by Patrick.Boutot Remove AjaMediaViewportOutput && AjaMediaViewportOutputImpl. Refactor AjaMediaOutput to extend MediaOutput. Refactor AjaMediaGrameGrabberProtocol to use AjaMediaCapture. Create AjaMediaCapture. Change 4148395 by Rex.Hill USD python code cleanup Change 4152901 by Rex.Hill Fix crash when recompiling blueprint or script class that serializes an object reference manually Change 4152906 by Rex.Hill USD level import/export exposed to UI Change 4152956 by Rex.Hill Rename unreal_usd to usd_unreal to avoid future module name conflicts Change 4153331 by Rex.Hill Simplify USD attribute definitions Change 4155472 by Rex.Hill USD level import now handles cameras and lights Change 4155832 by Patrick.Boutot Fix Packaging for MediaFrameworkUtilities Fix MediaPlayer that crash on close when the engine is closing. Change 4156020 by Mike.Zyracki LIVE LINK Sequencer Recording and Playback #jira UESP-714 #jira UESP-715 Support for Live Link Recording/Playback with Sequencer. Basically if we see a MotionController controlled by a LiveLink Subject or a LiveLink Component on a Actor we create a LiveLinkTrack for it that will record raw sequencer data into. We currently do that at the end of recording but will investigate saving it as we record. For Playback we create a Live Link Subject per recorded track and push up interpolated data per Engine Tick on Evaluate. We need to see if we need to send out raw data but that's complicated due to the fact that sequencer time may not be sequential but random, Moved FLiveLinkTimeFrame to LiveLinkTypes so we can grab raw data. Added functions to LiveLinkClient/Subject to get raw data so we dont' need to do expensive searches. Also changed that code so that we can only save the LiveLinkData when specified. We decided to have the sequencer own saving of the live link data so we explicilty turn on saving when we start to record and then turn if off at the end. Without this it's possible to easily run out of memory while LiveLink records. In order to record LiveLinkComponents under Actors we had to change ActorRecording to record ActorComponents and not jus SceneComponents. Not sure of any drawbacks with this but it seems to work well. Had to make sure we stll keeped attach/parent/child logic when recording. Change 4158488 by Rex.Hill USD scene import/export now uses UsdLux lights Change 4158742 by Rex.Hill USD: Add test for level export and import Change 4161645 by Patrick.Boutot Update MediaRecorder to use the ImageWriteQueue. Add flag in IImageWriteQueue.Enqueue to prevent block if the queue is full. Change 4161651 by Patrick.Boutot Modify MediaCompositing to use an existing MediaPlayer Change 4161657 by Patrick.Boutot Extend the SequenceRecorder to support additional object to record from other plugins. Add SequenceRecorder for MediaPlayer. Will record every frame to disk that the MediaPlayer produce. Change 4162699 by Rex.Hill USD export sequence updates Change 4163138 by Rex.Hill USD sequence export test added Change 4163426 by Mike.Zyracki Fix for Curve Names being kept and AutoSetting Tangents on Live Link Recording Change 4165714 by Patrick.Boutot [MediaCapture] Remove color box that tell the status of the MediaCapture. Add MediaCapture's name and use an image to represent the status. Use a ScrollBox around the "preview" output. Can select any actors. Only show the selectable camera grid when there is more than one camera. Change 4166652 by Rex.Hill Expose SetMobility to scripting Change 4167292 by Mike.Zyracki Make sure we call Finalize Evaluation when closing or deleting the Sequencer. This will make sure TearDown is called on sections which fixes issues with LiveLink Sources not getting deleted and probably also issues with MovieScenePlayers not getting released correctly. Also includes addition to show the SubjectName next to the Sequencer Source in the LiveLinkClient UI. Change 4170578 by Rex.Hill PackageTools exposed to scripting Change 4170619 by Rex.Hill Fix ReversePolygonFacing crash Change 4170621 by Rex.Hill USD mesh import can now be given list of individual meshes Change 4172495 by Matt.Hoffman Fixes some flipped logic in Sequencer Media Track that was preventing it from working as expected. Slightly simplifies the logic on setting up movie data, and ensures that the external movie player has a callback registered so that SeekTo calls will work. Makes it so that you can specify your own sound component with an external media player as a media player can have multiple sound components listening to it. Adds support for flagging the media player to loop to help cue some media sources like EXR to handle loop points better. #jira None Change 4173387 by Jon.Nabozny Bookmark usability and extensibility improvements Change 4173755 by Rex.Hill PackageTools namespace deprecation Change 4181799 by Patrick.Boutot Fix precesion error when importing a camera switcher in sequencer #jira UE-61212 Change 4184435 by Patrick.Boutot Only show the MediaCapture tab spawner in the level editor. Make sure the Material used to draw the render target is GCed. Change 4195803 by Patrick.Boutot Warn user if the AJA CustomTimeStep is used with VSync enabled. Change 4195866 by Patrick.Boutot Remove mention of CharBGR10A2 in AJA. The feature is not yet ready. Change 4196059 by Rex.Hill Fix linux compile due to a .cpp including BookMarkBase.h instead of BookmarkBase.h Change 4196380 by Patrick.Boutot MediaCapture capture the backbuffer when the Viewport don't use an internal texture. #jira UE-61601 Change 4199378 by Patrick.Boutot For MediaFramework, add support for 10bits RGB texture Change 4199380 by Patrick.Boutot [AJA] Add support for 10bits RGB texture in input Fix interlaced format that wasn't using the proper Stride value. Change 4200359 by Jamie.Dale Renamed some "K2_" prefixed functions for Python Change 4203016 by Max.Chen Sequencer: Add movie scene locking/read only. Fixed a few bugs with locked sections - shouldn't be able to create or move keys on locked sections #jira UESP-867 Change 4203018 by Max.Chen Sequencer: Test for movie scene read only before calling modify/transactions. #jira UESP-867 Change 4203622 by Simon.Therriault Bringing Aja MediaOutput MediaMode fix from Release 4.20 Change 4204895 by Rex.Hill Expose several file path functions to scripting Change 4206747 by Rex.Hill USD level import and export updates Change 4206783 by Rex.Hill USD updates Change 4207021 by Rex.Hill USD, fix rotation on level import when there is non-uniform scale Change 4207414 by Rex.Hill USD import static mesh material improvements Change 4209733 by Patrick.Boutot Change the log time to use the current frame Timecode #jira UEENT-1107 Change 4209738 by Patrick.Boutot Option to automatically try to reopen the MediaSource again if an error is detected Change 4210385 by Max.Chen Sequencer: Fix CurrentShot LocalTime computation by using sequence time in playback resolution to compute the local shot time. Also, fixed the burnin asset so that CurrentShotLocalTime is hooked up to ShotFrame instead of MasterTime. This fixes a bug where the burnin's {ShotFrame} is not reporting the local shot frame number. #jira UE-61728 Change 4219824 by Patrick.Boutot Use the correct EditorCondition for property MaxNumAncillaryFrameBuffe Change 4220706 by Louise.Rasmussen Sequencer: Syncronizes Sections using Source Timecode Relative to the first Selected Section #JIRA UESP-826 Change 4220708 by Louise.Rasmussen Sequencer: Adds SourceTimecode option to the Render Movie Settings Burn In #JIRA UESP-826 Change 4226970 by Patrick.Boutot Add a Timecode widget, TimecodeProvider widget and a TimecodeProvider Tab Change 4227333 by Rex.Hill USD Sequencer export now supports deltas Change 4227455 by Matt.Hoffman Adds support to the Audio Mixer Submix to pause and resume a recording. #jira UESEQ-77 Change 4230963 by Patrick.Boutot Make the namespace an import option Change 4234208 by Jon.Nabozny Fixed crash when 5 or more LiveLink sources were connected at the same time Change 4234273 by Jon.Nabozny Add methods in FApp to get the current Timecode FrameRate. Change 4237170 by Simon.Therriault MediaCapture Fix for MediaCapture panel not working in PIE Change 4243758 by Andrew.Rodham It's now possible to resolve pixel data from a render target whose texture resource is still pending creation Change 4244790 by Matt.Hoffman This adds experimental support to Sequencer's Render to Movie for exporting audio via rendering a second pass. This requires the new audio mixer (launch editor with "-audiomixer") and currently supports exporting to .wav. The second pass disables rendering in the Viewport and disables capturing frames during this pass which removes the overhead caused by rendering the scene. Complex scenes still evaluate the sequence which may impact performance in complex situations (such as the Fortnite Launch Trailer). Current Limitations: Requires the new audio mixer ("-audiomixer") The second pass must acheive real time framerates. The audio engine is only built to handle real time situations (due to the high precision needed, gotten via the platform clock) so any drops in engine framerate during the second pass will cause a desync of the audio (as there will be more samples captured than frames of video). The editor has significant overhead which often prevents achieving consistent real-time rates. Using "Capture in New Process" alleviates this issue, even without closing the Editor. Audio has been enabled for both image capture and audio capture passes, which means stuttery audio now plays back during image capture. Attempts to alleviate this issue ended up conflicting with some editor code that forces the audio multiplier to 1.0 each Tick(), so audio has to play on both image and audio passes. Forces background audio (otherwise your output audio wav will be blank!) when app is not in focus, though users should leave the app in focus for best performance. #jira UESEQ-77, UESP-669 Change 4246443 by Simon.Tourangeau Remove Beta flag from nDisplay plugin #jira UEENT-1716 Change 4246480 by Simon.Tourangeau Fix nDisplay plugin icon #jira UEENT-1715 Change 4246571 by Simon.Tourangeau Merging Lauren's VR Editor fixes 4085915 Gamma correction fixes for VR Mode Content Browser icons and camera previews 4087955 Adding a third looping option to the Sequencer Radial Menu. Selecting the Looping option now cycles through No Looping > Loop All > Loop Range 4089914 Adding set start/end range buttons to radial menu 4090502 Fixing sequencer looping not being set correctly 4092824 Cameras are now visible in VR Mode - interim implementation until Game Mode works entirely 4095161 Fix for opening a sequence blocking level editor tab drag and drop 4096999 Making a VR Edit show flags mode that is similar to Game Mode but without the Game flag set to true, does hide billboards. Camera hide/show behavior is now correct. 4097286 Placing cameras now only summons the preview panel once you release 4100941 New spawn location for camera preview window (in front and to the side, on whichever side matches your UI hand) 4102732 Hiding VR editor elements from camera preview 4103378 Added camera burnin text on preview windows as well. 4103466 Fixes for camera text 4103779 Fix for the actor previews not unpinning when entering VR mode. 4105722 Adding support for multiple viewport previews in VR mode, and not creating a new viewport interaction if one already exists when getting it. 4106982 Any dockable window can now be placed in the world. 4107298 Fix for crash when closing multiple camera previews 4107426 Fix for crash when connecting node with no texture set 4136343 UI windows docked "to the world" no longer scale with you and stay the size they are docked at. 4136345 Settings for tweaking VR mode movement 4147473 Fix for controllers not showing up 4147734 Sequencer scrubbing will now pause when removing your thumb from a Vive touchpad 4171489 Added external UI panel support to VREditor module. Created an example camera-adjusting UI 4186392 Second fix for sequencer scrubbing on the radial menu Change 4247984 by Jamie.Dale Fixed potential memory corruption caused by Python glue code generation #jira UE-62397 Change 4255471 by Anousack.Kitisa Added functionalities to add/insert/remove UV channel from a StaticMesh accessible through the StaticMeshEditor and scripting. #jira UEENT-1592 #jira UEENT-1597 #jira UEENT-1660 Change 4256323 by Anousack.Kitisa Added Polygon Selection Mode by smoothing group in the MeshEditor. #jira UEENT-1594 Change 4258012 by Homam.Bahnassi Extending UVEdit material function to support mirroring. #jira UE-57306 Change 4258231 by Jamie.Dale Fixed GetHostName failing to convert UTF-8 data correctly Change 4258579 by Jamie.Dale Ensure that packages re-created after deleting their only asset are marked as fully loaded Change 4258652 by Jamie.Dale Added script exposed method to convert an Unreal relative path to absolute Change 4259124 by Patrick.Boutot For MediaBundle, show or hide the failed texture on console. #jira UE-61672 Change 4259264 by Jamie.Dale Show an error if trying to use ExecutePythonScript without Python enabled #jira UE-62318 Change 4259451 by Jamie.Dale No longer use stale subtitles in dialogue waves #jira UE-61500 Change 4259511 by Jamie.Dale Fix crash when passing None as the class for find/load_asset #jira UE-62130 Change 4259542 by Patrick.Boutot Can select the TimecodeSynchronizer from the Toolbar menu. Add option to show it in the toolbar. Can be defaulted by user/machine. Change 4259582 by Patrick.Boutot Hide Edit & Paste from PropertyMenuAssetPicker Change 4260760 by Max.Chen Sequencer: Fix dereferencing null pointer - CameraNode Change 4260895 by Jamie.Dale Changing localization target settings now updates the gather INI files immediately Change 4262166 by Patrick.Boutot Add support for MediaSourceProxy and MediaOutputProxy. Change 4262535 by Andrew.Rodham Sequencer: Added a method for user-defined capture protocols to resolve a buffer and pass it directly to a bound delegate handler Originating source CL#4261391 Change 4262669 by Patrick.Boutot Add MediaProfile. It let the user select their media sources and media outputs by machine by user. Change 4264577 by Patrick.Boutot Change the type of FMediaFrameworkCaptureCameraViewportCameraOutputInfo.LockedCameraActors to LazyObject to enable cross level reference. #jira UE-62438 Include dependence to settings Change 4265750 by JeanLuc.Corenthin Fix array's size issues with MeshDescription utility functions #jira UEENT-1574 Change 4268181 by Patrick.Boutot Mark LockedCameraActors as deprecated. [CL 4279869 by JeanMichel Dignard in Main branch]
2018-08-13 12:29:41 -04:00
if( bFoundBookmarks )
{
Section.AddSubMenu(
"ClearBookmark",
LOCTEXT("ClearBookmarkSubMenu", "Clear Bookmark"),
LOCTEXT("ClearBookmarkSubMenu_ToolTip", "Clear viewport bookmarks"),
FNewToolMenuDelegate::CreateStatic( &OnGenerateClearBookmarkMenu, Viewport ),
false,
FSlateIcon(FAppStyle::Get().GetStyleSetName(), "EditorViewport.SubMenu.Bookmarks")
);
Section.AddMenuEntry( Actions.ClearAllBookmarks );
}
}
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateOptionsMenu()
{
static const FName MenuName("LevelEditor.LevelViewportToolBar.Options");
if (!UToolMenus::Get()->IsMenuRegistered(MenuName))
{
UToolMenu* Menu = UToolMenus::Get()->RegisterMenu(MenuName);
Menu->AddDynamicSection("DynamicSection", FNewToolMenuDelegate::CreateLambda([](UToolMenu* InMenu)
{
ULevelViewportToolBarContext* Context = InMenu->FindContext<ULevelViewportToolBarContext>();
Context->LevelViewportToolBarWidget.Pin()->FillOptionsMenu(InMenu);
}));
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Viewport.Pin()->OnFloatingButtonClicked();
const FLevelViewportCommands& LevelViewportActions = FLevelViewportCommands::Get();
TSharedRef<FUICommandList> CommandList = Viewport.Pin()->GetCommandList().ToSharedRef();
// Get all menu extenders for this context menu from the level editor module
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>( TEXT("LevelEditor") );
TSharedPtr<FExtender> MenuExtender = LevelEditorModule.AssembleExtenders(CommandList, LevelEditorModule.GetAllLevelViewportOptionsMenuExtenders());
ULevelViewportToolBarContext* ContextObject = NewObject<ULevelViewportToolBarContext>();
ContextObject->LevelViewportToolBarWidget = SharedThis(this);
FToolMenuContext MenuContext(CommandList, MenuExtender, ContextObject);
return UToolMenus::Get()->GenerateWidget(MenuName, MenuContext);
}
void SLevelViewportToolBar::FillOptionsMenu(UToolMenu* Menu)
{
const FLevelViewportCommands& LevelViewportActions = FLevelViewportCommands::Get();
const bool bIsPerspective = Viewport.Pin()->GetLevelViewportClient().IsPerspective();
{
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportViewportOptions", LOCTEXT("OptionsMenuHeader", "Viewport Options"));
Section.AddMenuEntry(FEditorViewportCommands::Get().ToggleRealTime);
// Add an option to disable the temporary override if there is one
{
FUIAction Action;
Action.ExecuteAction.BindSP(this, &SLevelViewportToolBar::OnDisableRealtimeOverride);
Action.IsActionVisibleDelegate.BindSP(this, &SLevelViewportToolBar::IsRealtimeOverrideToggleVisible);
TAttribute<FText> Tooltip(this, &SLevelViewportToolBar::GetRealtimeOverrideTooltip);
Section.AddMenuEntry(
"DisableRealtimeOverride",
LOCTEXT("DisableRealtimeOverride", "Disable Realtime Override"),
Tooltip,
FSlateIcon(),
Action);
Section.AddSeparator("DisableRealtimeOverrideSeparator");
}
Section.AddMenuEntry(FEditorViewportCommands::Get().ToggleFPS);
#if STATS
TArray< FLevelViewportCommands::FShowMenuCommand > HideStatsMenu;
Section.AddMenuEntry(FEditorViewportCommands::Get().ToggleStats);
Section.AddSubMenu(
"ShowStatsMenu",
LOCTEXT("ShowStatsMenu", "Stat"),
LOCTEXT("ShowStatsMenu_ToolTip", "Show Stat commands"),
FNewToolMenuDelegate::CreateStatic(&FillShowStatsSubMenus, HideStatsMenu, LevelViewportActions.ShowStatCatCommands),
false,
FSlateIcon(FAppStyle::Get().GetStyleSetName(), "EditorViewport.SubMenu.Stats"));
FText HideAllLabel = LOCTEXT("HideAllLabel", "Hide All");
// 'Hide All' button
HideStatsMenu.Add(FLevelViewportCommands::FShowMenuCommand(LevelViewportActions.HideAllStats, HideAllLabel));
#endif
Section.AddMenuEntry(LevelViewportActions.ToggleViewportToolbar);
if( bIsPerspective )
{
Section.AddEntry(FToolMenuEntry::InitWidget("FOVAngle", GenerateFOVMenu(), LOCTEXT("FOVAngle", "Field of View (H)")));
Section.AddEntry(FToolMenuEntry::InitWidget("FarViewPlane", GenerateFarViewPlaneMenu(), LOCTEXT("FarViewPlane", "Far View Plane")));
}
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
// for the TemporalUpscaler plugin to inject its UI
bool bAddDefaultScreenPercentageSlider = true;
if (GCustomEditorStaticScreenPercentage)
{
ICustomEditorStaticScreenPercentage::FViewportMenuEntryArguments Arguments
{
&Section,
this,
Viewport.Pin()
};
bAddDefaultScreenPercentageSlider = !GCustomEditorStaticScreenPercentage->GenerateEditorViewportOptionsMenuEntry(Arguments);
}
if (bAddDefaultScreenPercentageSlider)
{
Section.AddEntry(FToolMenuEntry::InitWidget("ScreenPercentage", GenerateScreenPercentageMenu(), LOCTEXT("ScreenPercentage", "Screen Percentage")));
}
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportViewportOptions2");
if( bIsPerspective )
{
// Cinematic preview only applies to perspective
Section.AddMenuEntry( LevelViewportActions.ToggleCinematicPreview );
}
Section.AddMenuEntry( LevelViewportActions.ToggleGameView );
Section.AddMenuEntry( LevelViewportActions.ToggleImmersive );
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportBookmarks");
if( bIsPerspective )
{
// Bookmarks only work in perspective viewports so only show the menu option if this toolbar is in one
Section.AddSubMenu(
"Bookmark",
LOCTEXT("BookmarkSubMenu", "Bookmarks"),
LOCTEXT("BookmarkSubMenu_ToolTip", "Viewport location bookmarking"),
FNewToolMenuDelegate::CreateStatic(&OnGenerateBookmarkMenu, Viewport),
false,
FSlateIcon(FAppStyle::Get().GetStyleSetName(), "EditorViewport.SubMenu.Bookmarks")
);
Section.AddSubMenu(
"Camera",
LOCTEXT("CameraSubMeun", "Create Camera Here"),
LOCTEXT("CameraSubMenu_ToolTip", "Select a camera type to create at current viewport's location"),
FNewToolMenuDelegate::CreateSP(this, &SLevelViewportToolBar::GenerateCameraSpawnMenu),
false,
FSlateIcon(FAppStyle::Get().GetStyleSetName(), "EditorViewport.SubMenu.CreateCamera")
);
}
Section.AddMenuEntry(LevelViewportActions.HighResScreenshot);
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportLayouts");
Section.AddSubMenu(
"Configs",
LOCTEXT("ConfigsSubMenu", "Layouts"),
FText::GetEmpty(),
FNewToolMenuDelegate::CreateSP(this, &SLevelViewportToolBar::GenerateViewportConfigsMenu),
false,
FSlateIcon(FAppStyle::Get().GetStyleSetName(), "Icons.Layout")
);
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportSettings");
Section.AddMenuEntry(LevelViewportActions.AdvancedSettings);
}
}
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateDevicePreviewMenu() const
{
static const FName MenuName("LevelEditor.LevelViewportToolBar.DevicePreview");
if (!UToolMenus::Get()->IsMenuRegistered(MenuName))
{
UToolMenu* Menu = UToolMenus::Get()->RegisterMenu(MenuName);
Menu->AddDynamicSection("DynamicSection", FNewToolMenuDelegate::CreateLambda([](UToolMenu* InMenu)
{
ULevelViewportToolBarContext* Context = InMenu->FindContext<ULevelViewportToolBarContext>();
Context->LevelViewportToolBarWidgetConst.Pin()->FillDevicePreviewMenu(InMenu);
}));
}
ULevelViewportToolBarContext* ContextObject = NewObject<ULevelViewportToolBarContext>();
ContextObject->LevelViewportToolBarWidgetConst = SharedThis(this);
FToolMenuContext MenuContext(Viewport.Pin()->GetCommandList(), TSharedPtr<FExtender>(), ContextObject);
return UToolMenus::Get()->GenerateWidget(MenuName, MenuContext);
}
void SLevelViewportToolBar::FillDevicePreviewMenu(UToolMenu* Menu) const
{
IDeviceProfileServicesModule& ScreenDeviceProfileUIServices = FModuleManager::LoadModuleChecked<IDeviceProfileServicesModule>(TEXT( "DeviceProfileServices"));
IDeviceProfileServicesUIManagerPtr UIManager = ScreenDeviceProfileUIServices.GetProfileServicesManager();
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
// Default menu - clear all settings
{
FToolMenuSection& Section = Menu->AddSection("DevicePreview", LOCTEXT("DevicePreviewMenuTitle", "Device Preview"));
FUIAction Action( FExecuteAction::CreateSP( const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::SetLevelProfile, FString( "Default" ) ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( ViewportRef, &SLevelViewport::IsDeviceProfileStringSet, FString( "Default" ) ) );
Section.AddMenuEntry("DevicePreviewMenuClear", LOCTEXT("DevicePreviewMenuClear", "Off"), FText::GetEmpty(), FSlateIcon(), Action, EUserInterfaceActionType::Button);
}
// Recent Device Profiles
{
FToolMenuSection& Section = Menu->AddSection("Recent", LOCTEXT("RecentMenuHeading", "Recent"));
const FString INISection = "SelectedProfile";
const FString INIKeyBase = "ProfileItem";
const int32 MaxItems = 4; // Move this into a config file
FString CurItem;
for( int32 ItemIdx = 0 ; ItemIdx < MaxItems; ++ItemIdx )
{
// Build the menu from the contents of the game ini
//@todo This should probably be using GConfig->GetText [10/21/2013 justin.sargent]
if ( GConfig->GetString( *INISection, *FString::Printf( TEXT("%s%d"), *INIKeyBase, ItemIdx ), CurItem, GEditorPerProjectIni ) )
{
const FName PlatformIcon = UIManager->GetDeviceIconName( CurItem );
FUIAction Action( FExecuteAction::CreateSP( const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::SetLevelProfile, CurItem ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( ViewportRef, &SLevelViewport::IsDeviceProfileStringSet, CurItem ) );
Section.AddMenuEntry(NAME_None, FText::FromString(CurItem), FText(), FSlateIcon(FAppStyle::GetAppStyleSetName(), PlatformIcon), Action, EUserInterfaceActionType::Button );
}
}
}
// Device List
{
FToolMenuSection& Section = Menu->AddSection("Devices", LOCTEXT("DevicesMenuHeading", "Devices"));
const TArray<TSharedPtr<FString> > PlatformList = UIManager->GetPlatformList();
for ( int32 Index = 0; Index < PlatformList.Num(); Index++ )
{
TArray< UDeviceProfile* > DeviceProfiles;
UIManager->GetProfilesByType( DeviceProfiles, *PlatformList[Index] );
if ( DeviceProfiles.Num() > 0 )
{
const FString PlatformNameStr = DeviceProfiles[0]->DeviceType;
const FName PlatformIcon = UIManager->GetPlatformIconName( PlatformNameStr );
Section.AddSubMenu(
NAME_None,
FText::FromString( PlatformNameStr ),
FText::GetEmpty(),
FNewToolMenuDelegate::CreateRaw( const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::MakeDevicePreviewSubMenu, DeviceProfiles ),
false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), PlatformIcon)
);
}
}
}
}
void SLevelViewportToolBar::MakeDevicePreviewSubMenu(UToolMenu* Menu, TArray< class UDeviceProfile* > InProfiles)
{
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
FToolMenuSection& Section = Menu->AddSection("Section");
for ( int32 Index = 0; Index < InProfiles.Num(); Index++ )
{
FUIAction Action( FExecuteAction::CreateSP( this, &SLevelViewportToolBar::SetLevelProfile, InProfiles[ Index ]->GetName() ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( ViewportRef, &SLevelViewport::IsDeviceProfileStringSet, InProfiles[ Index ]->GetName() ) );
Section.AddMenuEntry(NAME_None, FText::FromString( InProfiles[ Index ]->GetName() ), FText(), FSlateIcon(), Action, EUserInterfaceActionType::RadioButton );
}
}
void SLevelViewportToolBar::SetLevelProfile( FString DeviceProfileName )
{
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
ViewportRef->SetDeviceProfileString( DeviceProfileName );
IDeviceProfileServicesModule& ScreenDeviceProfileUIServices = FModuleManager::LoadModuleChecked<IDeviceProfileServicesModule>(TEXT( "DeviceProfileServices"));
IDeviceProfileServicesUIManagerPtr UIManager = ScreenDeviceProfileUIServices.GetProfileServicesManager();
UIManager->SetProfile( DeviceProfileName );
}
void SLevelViewportToolBar::GeneratePlacedCameraMenuEntries(FToolMenuSection& Section, TArray<ACameraActor*> Cameras) const
{
FSlateIcon CameraIcon( FAppStyle::GetAppStyleSetName(), "ClassIcon.CameraComponent" );
for( ACameraActor* CameraActor : Cameras )
{
// Needed for the delegate hookup to work below
AActor* GenericActor = CameraActor;
FText ActorDisplayName = FText::FromString(CameraActor->GetActorLabel());
FUIAction LookThroughCameraAction(
FExecuteAction::CreateSP(Viewport.Pin().ToSharedRef(), &SLevelViewport::OnActorLockToggleFromMenu, GenericActor),
FCanExecuteAction(),
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3805092) #lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3623004 by Ben.Marsh Fix RemoteExecutor not taking the remote machine specs into account. Change 3623172 by Ben.Marsh UGS: Fix "More Info..." button not using P4 server override. Change 3628820 by Ben.Marsh PR #3979: Get working directory from task element, not tool node (Contributed by nullbus) Change 3630424 by Graeme.Thornton Make the AES key parameter const in FAES::EncryptData() Change 3632786 by Steve.Robb FString constructor fixed to not take an ignored void* parameter, which can be misleading. Change 3639534 by Ben.Marsh Remove old P4.NET library. Doesn't seem to be used by anything. Change 3640536 by Steve.Robb GitHub #4007 : Delete unnecessary specialization of MakeArrayView #jira UE-49617 Change 3641155 by Gil.Gribb UE4 - Speculative fix for problem with summary reading in FAsyncArchive2. Change 3643932 by Ben.Marsh Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument). Change 3644825 by Ben.Marsh Use VSWHERE to find the location of MsBuild.exe, if available. https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645 Change 3647395 by Ben.Marsh Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options. Change 3650300 by Ben.Marsh UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis. Change 3650856 by Robert.Manuszewski Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread Change 3651022 by Gil.Gribb UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher. Change 3658331 by Steve.Robb Fix for the parsing of large integer values. Change 3661958 by Gil.Gribb UE4 - Fixed rare hang in task graph. Change 3664021 by Robert.Manuszewski Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html Change 3664254 by Steve.Robb Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports. Change 3664436 by Steve.Robb Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads. Change 3666461 by Graeme.Thornton Improvements to signing/encryption key embedding and runtime access - Changed method of embedding key into the executable to make it more secure - Added FAESKey class to wrap a 32 byte key Change 3666462 by Graeme.Thornton Cut ShooterGame AES key down to 32 characters Change 3677560 by Ben.Marsh PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn) Change 3683534 by Steve.Robb Refactoring of enum/struct lookup during hot reload. Change 3683754 by Steve.Robb Alignment fixes to allow int64 on 32-bit platforms Support for integral types in IsAligned. Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types. Some fixes to existing code. Change 3686670 by Steve.Robb Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS. Change 3687540 by Ben.Marsh Fix all UBT/UAT output going to stderr rather than stdout. Change 3688931 by Gil.Gribb UE4 - Critical fix for a rare race condition in the pak file async IO layer. Change 3690000 by Graeme.Thornton Manual copy of 4.18 CL 3687869 Make UBT include the destination INI file for a given hierarchy if it exists Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name Change 3690030 by Graeme.Thornton VSCode fixes - Source Code Accessor plugin changes. Add new interface method to open a solution at a given path - GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for - Various fixes for vscode project file generation #jira UE-50554 Change 3690885 by Steve.Robb Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>. Change 3691052 by Steve.Robb Free stats thread on shutdown. Change 3695138 by Steve.Robb AsConst helper function added. Change 3696627 by James.Hopkin Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr (review-3606695) Change 3697099 by Steve.Robb GitHub #4105 : Removed redundant class access modifier Change 3697154 by Steve.Robb Removal of deprecated functions in delegates. Mutable lambdas to can now be bound to delegates. Change 3697180 by Steve.Robb GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty Change 3697239 by Steve.Robb Allow TArray::Insert to take an array with any allocator type. Change 3697269 by Steve.Robb RelocateConstructItems instead of MoveConstructItems. Change 3697558 by Steve.Robb New _GetRef functions for TArray, which return a reference to the newly-added element. Unit tests for these functions. Change 3699776 by Steve.Robb TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled. Change 3702397 by Steve.Robb TIsTrivial type trait. Change 3702569 by Steve.Robb Allow a TGuardValue to be assigned to a different type from the one being guarded. Change 3706644 by Robert.Manuszewski Different stack ingore count for development builds for FArchiveStackTrace Change 3709272 by Steve.Robb Removal of redundant UpdateVertices, which causes a race condition on the renderer thread. Change 3709452 by Robert.Manuszewski Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies Change 3709454 by Robert.Manuszewski Added command line option -NOEDL to disable EDL Change 3709487 by Steve.Robb Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1. Change 3709645 by Ben.Marsh Fix race condition between multiple instances of UBT trying to write out the XML config cache. Change 3711193 by Ben.Marsh Add an editor setting for the shared DDC location to use. #jira UE-51487 Change 3713811 by Steve.Robb Update .modules files after a hot reload. Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks. Pass hotreload flags around in UBT instead of relying on global state. This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205. #jira UE-51472 Change 3715654 by Steve.Robb GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy. Change 3718782 by Steve.Robb TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called. Change 3720830 by Steve.Robb Initial import of TAtomic object wrapper, which guarantees atomic access to an object. Change 3720881 by Steve.Robb FCompression ThreadSanitizer data race fixes. Change 3722640 by Graeme.Thornton Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading. #jira UE-51463 Change 3722655 by Steve.Robb Don't null name table because it's already zeroed at startup. Some tidy-ups. Change 3722754 by Steve.Robb Thread sanitizer fix. Small typo fix. Change 3722849 by Graeme.Thornton Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server Change 3723081 by Steve.Robb TAtomic is now aligned to the underlying integer type. TAtomic will now static assert with a better error message when given an unsupported type. Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number. Misc renames. Change 3723270 by Ben.Marsh Include /d2cgsummary argument when running UBT with -Timing. Change 3723683 by Ben.Marsh Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance. Change 3725422 by Robert.Manuszewski When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning. Change 3725735 by Robert.Manuszewski Making all CheckDefaultSubobjects related functions const Change 3726167 by Steve.Robb FMinimalName::IsNone added. Change 3726458 by Steve.Robb TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer. Change 3726542 by Ben.Marsh UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths. Change 3726595 by Ben.Marsh Allow building multiple game targets in the example BuildEditorAndTools.xml script. Change 3726724 by Ben.Marsh Fix ambiguities in calculating root directory. (GitHub #4172) Change 3726959 by Ben.Marsh Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does. Change 3728437 by Steve.Robb VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel. Some improved documentation. NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping. Change 3732262 by Gil.Gribb UE4 - Fixed rare hangs in the task graph. Change 3732755 by Steve.Robb Stats TSAN fixes. Optimizations to FCycleCounter::Start() to only read the stat name once. Change 3735000 by Robert.Manuszewski Always preload the AssetRegistry module on startup. even if EDL is disabled. Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert. Change 3735292 by Robert.Manuszewski Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates. Change 3735332 by Steve.Robb Refactoring of UDelegateProperty::Identical() to clarify logic. Fixed UMulticastDelegateProperty::Identical() to compare the bound function names. PPF_DeltaComparison removed, as it doesn't seem useful. Change 3737960 by Graeme.Thornton VSCode - Add launch task for generating project files for the given folder Change 3738398 by Graeme.Thornton Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor #jira UE-51451 Change 3738405 by Graeme.Thornton VSCode: Format c/cpp settings strings using comment path formatting function Change 3738928 by Steve.Robb Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18) #jira UE-51842 Change 3739135 by Ben.Marsh Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history. #jira UE-51855 Change 3739360 by Ben.Marsh UAT: Fix issue with P4PORT setting not being parsed correctly. Change 3745959 by James.Hopkin #core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types Change 3746125 by Steve.Robb FName ThreadSanitizer fixes. Change 3747274 by Steve.Robb TSAN fix for FMediaTicker::Stopping. Change 3747618 by Steve.Robb ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish. Change 3747720 by Steve.Robb ThreadSanitizer fix for FMessageRouter::Stopping. Change 3749207 by Graeme.Thornton First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys. Change 3749323 by Graeme.Thornton Fix UAT crash when only -targetplatform is specifiied Change 3749349 by Steve.Robb TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer. Change 3749617 by Steve.Robb Logf static_assert for formatting string enabled. Change 3749897 by Steve.Robb FDebug::LogAssertFailedMessage static assert for formatting string enabled. Change 3754011 by Steve.Robb Static asserts that the allocator supports move. Move-enabled our allocators which don't support move. Change 3754227 by Ben.Marsh Fix build command line in generated projects missing a space before the compiler version override. #jira UE-52226 Change 3754562 by Ben.Marsh PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk) Change 3755616 by Graeme.Thornton Runtime code for using the new crypto ini files to define signing/encryption keys #jira UE-46580 Change 3755666 by James.Hopkin Used ImplicitConv to remove Casts being used for up-casts #review-3745965 Change 3755671 by Graeme.Thornton Add log message in unrealpak to say which config file system it is using for crypto keys Change 3755672 by Graeme.Thornton Updating ShooterGame with new CryptoKeys based security setup Change 3756778 by Ben.Marsh Add support for running multiple jobs simultaneously on a single builder. When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used. Change 3758498 by Ben.Marsh Re-throw exceptions when a file cannot be deleted when cleaning a target. Change 3758921 by Steve.Robb ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access. DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory. Change 3760599 by Graeme.Thornton Added missing epic header comment to some new source files Change 3760642 by Steve.Robb ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread. Change 3760669 by Graeme.Thornton Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually. Added a test mode to the cryptokeys commandlet to test signing key generation Change 3760711 by Steve.Robb ThreadSanitizer fixes to GIsRenderingThreadSuspended. Change 3760739 by Steve.Robb ThreadSanitizer fix for FQueuedThread::TimeToDie. Change 3760763 by Steve.Robb ThreadSanitizer fix for GRunRenderingThreadHeartbeat. Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread. Change 3760793 by Steve.Robb Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos. Change 3760817 by Steve.Robb ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos. Change 3761331 by Josh.Engebretson UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj #jira UE-52416 Change 3761521 by Steve.Robb ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId. Change 3763117 by Graeme.Thornton PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL) Change 3763358 by Graeme.Thornton Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path Derived from the content of this PR: PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang) Change 3764058 by Graeme.Thornton Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes #jira UE-52359 Change 3764705 by Steve.Robb Better handling of whitespace in ImportText_Internal() for set and map properties. Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data). Fix to USetProperty's temp buffer size to avoid buffer overruns. Duplicate map keys are now skipped during import, same as USetProperty's behavior. Change 3764731 by Steve.Robb Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that. Change 3765923 by Graeme.Thornton VSCode - "taskName" -> "label" for C# build tasks Change 3766018 by Steve.Robb constexpr constructor for TAtomic. Change 3766037 by Steve.Robb Misc tidyings in HotReload.cpp. Change 3766046 by Steve.Robb ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local. Change 3766288 by Steve.Robb Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects. Change 3766374 by Josh.Engebretson Fix issue with ini quoted value comparison #jira UE-52066 Change 3766532 by Josh.Engebretson PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu) #jira UE-46156 Change 3766740 by Steve.Robb TMultiMap::Append added. Change 3767523 by Steve.Robb ThreadSanitizer fix for UE4Delegates_Private::GNextID. Change 3767601 by Steve.Robb ThreadSanitizer fix for FStats::GameThreadStatsFrame. Change 3770567 by Ben.Marsh Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives. Change 3770826 by Ben.Marsh Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it. Change 3770875 by Steve.Robb Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps. Change 3772167 by Ben.Marsh Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data. Change 3772248 by Steve.Robb ThreadSanitizer fixes to FMalloc call counters. Change 3772383 by Ben.Marsh Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive. Change 3772906 by Graeme.Thornton TextAssetCommandlet - Utility commandlet for testing/converting to text asset format Change 3772932 by Ben.Marsh Fix "String:" prefix not being stripped from escaped string values. Change 3772942 by Graeme.Thornton Add experimental setting to enable in-editor text asset format functionality Add "export to text" option into the content browser asset actions context menu Change 3772955 by Ben.Marsh Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility. Change 3772963 by Ben.Marsh Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries. Change 3773010 by Graeme.Thornton Added CORE_API to FArchiveFromStructuredArchive Gave text asset format experimental option a slightly less random tooltip comment Change 3773057 by Ben.Marsh Add a flag to FArchive to determine whether the archive is text (IsTextFormat()). Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive. Also rename FStructuredArchive::TryEnterSlot() to TryEnterField(). Change 3773118 by Steve.Robb TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size. Change 3773122 by Steve.Robb TAtomic fixes for pointer arithmetic. TSignedIntType used instead of reimplementing its own trait. Change 3773123 by Steve.Robb Unit tests for TAtomic. Change 3773138 by Steve.Robb Run numeric tests on integer types instead of basic tests. Fix for compiler warnings when subtracting from unsigned atomics. Change 3773166 by Steve.Robb Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that. Change 3774216 by Gil.Gribb UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file. Change 3774426 by Ben.Marsh Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all. See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html Change 3774658 by Ben.Marsh Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it. Change 3775141 by Ben.Marsh Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor. Change 3775459 by Ben.Marsh Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically. Change 3775522 by Ben.Marsh UGS: Treat .uproject and .uplugin files as code changes. Change 3775597 by Ben.Marsh Fix post-build steps for plugins not being executed. #jira UE-52754 Change 3777895 by Graeme.Thornton StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive Change 3777931 by Graeme.Thornton Refactored FArchiveUObjects serialization code into some static helpers Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers Change 3777942 by Graeme.Thornton Added missing CORE_API to FStructuredArchive::FStream Added FStructuredArchive::FSlot insertion operator for char Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value Change 3778084 by Graeme.Thornton Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files Change 3778096 by Graeme.Thornton Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class Change 3778389 by Josh.Engebretson Fix an optimization issue with CPU benchmarking Add better support for debugging/testing local rocket builds UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html #jira UE-52192 Change 3778701 by Josh.Engebretson Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html #jira UE-40317 Change 3778832 by Chad.Garyet Adding enterprise path support for PCB's for UGS Change 3780258 by Graeme.Thornton TextAssetCommandlet - Accumulate timings for loading packages and saving packages Change 3780463 by Graeme.Thornton CryptoKeys improvements - Enable CryptoKeys plugin by default - Attempt to inherit settings from the old system by default - Hide ini/index encryption settings from packaging settings and just inherit previous values into new system Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings Change 3780557 by Ben.Marsh Fix LoginFlow module not being precompiled for the binary release. Change 3780846 by Josh.Engebretson Improve filename to long package name resolution when provided a relative path Change 3780863 by Ben.Marsh UAT: Add a better error message when a C# project has an invalid reference. Change 3780911 by Ben.Marsh Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce. The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument. Change 3780956 by Josh.Engebretson Add support for ! (RemoveKey) config command to UBT UDN Link: https://udn.unrealengine.com/questions/397267/index.html #jira UE-52033 Change 3782957 by Robert.Manuszewski UE4 - Fixed a linear search in EDL that caused performance problems for very large maps. Change 3784503 by Ben.Marsh Optimizations for FStructuredArchive: * Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it. * Prevent shrinking of arrays when removing elements. * Add an inline allocator to the scope and container stacks. Change 3784700 by Ben.Marsh Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front. Change 3784989 by Ben.Marsh Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0. Change 3786860 by Gil.Gribb UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely. Change 3787159 by Ben.Marsh Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution. Change 3787493 by Josh.Engebretson Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile Fix for multiple threads parsing ini keys (PR 3995) #PR 3995 #jira 52913 #jira 49503 Change 3787773 by Steve.Robb Fix for missing final values from FOREACH_ENUM_ macros. Change 3788287 by Ben.Marsh TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique. Change 3788678 by Ben.Marsh Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive. Change 3789353 by Graeme.Thornton Removed unused/rotten modes from TextAsset commandlet. Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing. Change 3789396 by Ben.Marsh Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h Change 3789772 by Ben.Marsh Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line. Change 3790003 by Ben.Marsh TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record. Change 3790051 by Steve.Robb PIE is disabled during a hot reload. Hot reload in editor is disabled during PIE. Hot reload from IDE is deferred until after PIE is exited. Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change. #jira UE-20357 #jira UE-52137 Change 3790709 by Steve.Robb Better move support for TVariant. EVariantTypes switched over to using an enum class to aid debugger visualization. Change 3791422 by Ben.Marsh TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time. Change 3791489 by Graeme.Thornton TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record Change 3792344 by Ben.Marsh Improvements to base64 encoding library. * Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations. * Added support for decoding base-64 blobs without padding marks. * Added support for decoding into pre-allocated buffer. * Added constexpr functions for determining the encoded and maximum decoded size of an input buffer. * Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes). Change 3792949 by Ben.Marsh TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter. Change 3794078 by Robert.Manuszewski Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine #jira UE-52392 Change 3794413 by Ben.Marsh TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack. Change 3794731 by Ben.Marsh TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable. Change 3795081 by Ben.Marsh UBT: Move LinuxCommon.cs into Platform/Linux folder. Change 3795137 by Ben.Marsh UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property). Change 3795247 by Ben.Marsh Fix missing header when creating a new interface from the editor new code wizard. #jira UE-53174 Change 3796025 by Graeme.Thornton Fixed some deprecated "Definitions" warnings in OpenCV build files Change 3796103 by Graeme.Thornton Disable experimental text asset option - it does nothing useful yet. Change 3796157 by Graeme.Thornton Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open. #jira UE-53206 Change 3796315 by Ben.Marsh Move Formatter to the correct position for initializer. #jira UE-53208 Change 3797082 by Ben.Marsh UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT. #jira UE-53232 Change 3799050 by Ben.Marsh Make UnrealPak.version files writable for Mac and Linux. Change 3801012 by Graeme.Thornton VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory Change 3801214 by Gil.Gribb UE4 - Remove assert to work around minor problem with lock free lists. #jira UE-49600 Change 3801219 by Steve.Robb WeakObjectPtrs now warn when casting away const. Change 3801299 by Graeme.Thornton Fix quote issue with foreign project build tasks on PC Change 3803292 by Graeme.Thornton Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries Change 3803559 by Steve.Robb TSAN fix for FMalloc::MaxSingleAlloc. Change 3803735 by Graeme.Thornton Last set of cryptokeys changes - Added some comments for editor exposed settings - Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets" Change 3803929 by Ben.Marsh UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog. Change 3624590 by Steve.Robb AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector. Tidy-up of existing calls to AddReferencedObjects. Change 3629473 by Ben.Marsh Build: Rename the option for embedding source server information in PDB files for installed engine builds. Change 3632894 by Steve.Robb VARARG* macros deprecated and usage replaced with variadic templates. Change 3640704 by Steve.Robb MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type. Fix to TWeakObjectPtr's constructor which implicitly removed const. Fixes to everything which didn't compile as a result. Change 3650813 by Graeme.Thornton Removed FStartupPackages and associated code Change 3651000 by Ben.Marsh Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out. #jira UE-49980 Change 3690842 by Steve.Robb FPlatformAtomics::AtomicRead added - needs optimizing. AtomicRead() used in FThreadSafeCounter::GetValue(). Change 3699416 by Steve.Robb Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator. Improved readability of TSparseArray visualization. Change 3720812 by Steve.Robb Atomic functions for 8-bit and 16-bit. Android, Linux and Switch implementations now just use the Clang implementation. AtomicRead64 deprecated in favor of the int64* AtomicRead overload. Change 3722698 by Steve.Robb VS debugger visualizers for TAtomic. Change 3732270 by Steve.Robb Relaxed stores and loads. Change 3749315 by Graeme.Thornton If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform #jira UE-52034 Change 3750657 by Josh.Engebretson Fixed issue when debugging editor cook/package and project launch operations #jira UE-52207 Change 3758514 by Steve.Robb Fixes to FString::Printf having non-literals being passed as its formatting string. Change 3763356 by Steve.Robb ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters. Change 3770549 by Steve.Robb Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES. Tidy up of existing code which uses it. Change 3770553 by Ben.Marsh Adding structured serialization API to Core/CoreUObject for use with text-based assets. * FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types. * Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Maps are string -> value dictionaries where the key names are present regardless of the build type. * Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects. * Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type. * The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0. * Includes implementations of FArchiveFormatter for binary and JSON formats. Change 3771105 by Steve.Robb Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS. Fix for incorrect warning formatting on Clang platforms. Change 3771520 by Steve.Robb Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header. Change 3771564 by Steve.Robb More common macros moved to the Clang pre-setup header. Change 3771613 by Steve.Robb EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h. Change 3772881 by Ben.Marsh Add support for serializing FName and UObject through FStructuredArchive. In order to allow custom linker behavior when serializing objects: * The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer. * The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table) Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix). Change 3772941 by Graeme.Thornton Make build work when including StructuredArchive.h from core container types Added standard header to new files Add structured archive serializer for TArray Fix bug in structured archive where containers weren't being popped from the scope stack Change 3772972 by Ben.Marsh Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot. Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately. When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields. Change 3773006 by Ben.Marsh Rename FStructuredArchive::FRecord::EnterSlot() to EnterField(). Change 3773013 by Steve.Robb bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes. Change 3774499 by Ben.Marsh Minor fixes for FStructuredArchive related classes: * Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0. * Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types. * FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions. Change 3774600 by Ben.Marsh Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data. This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data. Change 3789721 by Ben.Marsh TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing. Change 3789920 by Ben.Marsh TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double. #jira UECORE-364 Change 3789982 by Ben.Marsh TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter. Change 3792466 by Ben.Marsh TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly. In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations. Change 3792935 by Ben.Marsh TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive. Change 3795100 by Ben.Marsh UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer. Change 3795106 by Ben.Marsh Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions. Change 3796275 by Ben.Marsh Fix paths to Version.h includes from resource files. Change 3800683 by Josh.Engebretson Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format #jira UE-50073 Change 3803545 by Steve.Robb TWeakObjPtr const-dropping assignment fix. Fixes to change. [CL 3805231 by Ben Marsh in Main branch]
2017-12-12 18:32:45 -05:00
FIsActionChecked::CreateSP(Viewport.Pin().ToSharedRef(), &SLevelViewport::IsActorLocked, MakeWeakObjectPtr(GenericActor))
);
Section.AddMenuEntry( NAME_None, ActorDisplayName, FText::Format(LOCTEXT("LookThroughCameraActor_ToolTip", "Look through and pilot {0}"), ActorDisplayName), CameraIcon, LookThroughCameraAction, EUserInterfaceActionType::RadioButton );
}
}
void SLevelViewportToolBar::GeneratePlacedCameraMenuEntries(UToolMenu* Menu, TArray<ACameraActor*> Cameras) const
{
FToolMenuSection& Section = Menu->AddSection("Section");
GeneratePlacedCameraMenuEntries(Section, Cameras);
}
void SLevelViewportToolBar::GenerateViewportTypeMenu(FToolMenuSection& Section) const
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
LevelEditorModule.IterateViewportTypes([&](FName ViewportTypeName, const FViewportTypeDefinition& InDefinition)
{
Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 2945541) ========================== MAJOR FEATURES + CHANGES ========================== Change 2837601 on 2016/01/20 by Thomas.Sarkanen Sequencer: Exposed bool, byte, event, fade, float, slomo, and visibility section keys in context menu Change 2840895 on 2016/01/23 by Thomas.Sarkanen Sequencer: Moved key proxy handling from section into key area; added support for grouped keys; exposed color properties in context menu. Change 2901092 on 2016/03/09 by Thomas.Sarkanen Sequencer: Fixed ensure() and crash when exiting PIE & then playing back in editor Made sure that instances that are playing that have active montages can re-connect to a playing montage if it is already active. We dont stop/start preview/non- preview playback when switching modes right now so I've just made the system robust to the switch when playing back animation. Ensured that instances are kept up to date by hooking into EndPlayMapDelegate. This fires slightly later than OnEndPIE, so it allows us to pick up when instances have been deleted from the world. OnEndPIE is fired before the worlds are shutdown so instances can still be bound to valid (but nearly dead) actors at this point. #jira UE-27898 #jira UE-27899 Change 2901159 on 2016/03/09 by Chris.Bunner Allow EXR frames from SaveHighResScreenshot to be uncompressed (r.SaveUncompressedEXRFrames). Change 2903123 on 2016/03/10 by Max.Chen Sequencer: Add snapping for the in/out range. Change 2903126 on 2016/03/10 by Max.Chen Sequencer: Fix split and trim for cinematic shot sections so that the start offset value is set. Change 2903132 on 2016/03/10 by Max.Chen Sequencer: Create camera here and set it as the current camera cut. Change 2903138 on 2016/03/10 by Max.Chen Sequencer: Improve mechanism for adding objects to Sequencer. Hold down shift while dragging from content browser to add as a spawnable. Hold down ctrl while dragging from content browser to add as a possessable. Change 2903143 on 2016/03/10 by Max.Chen Sequencer: Add 4k to movie capture dialog. #jira UE-28147 Change 2903157 on 2016/03/10 by Max.Chen Sequencer: Pop out of locked camera when popping out of the sequence. #jira UE-27662 Change 2908097 on 2016/03/14 by Andrew.Rodham Sequencer: Added default viewport type onto the viewport types menu - The activation command for a given viewport type no longer toggles it if it's already active, it will just do nothing. - Switching back to the default viewport type can be achieved with SHIFT+D Change 2911869 on 2016/03/16 by Max.Preussner Editor: Caching device proxy manager, so the UI doesn't constantly poll for the TargetDeviceServices module Change 2917943 on 2016/03/22 by Thomas.Sarkanen Sequence Recording: Added "Record New Sequence From Current Player" to sub-sequence track menu This option is only available in PIE. When selected it primes a new seciton for recording against the pawn that is currently being controlled by the player. Change 2917946 on 2016/03/22 by Max.Chen Sequencer: Automatically add and attach a cine camera when dropping a crane or rail. Change 2917954 on 2016/03/22 by Thomas.Sarkanen Fix anim dynamics going crazy on time skips Added new API to FAnimNode_Base: NeedsDynamicReset and ResetDynamics. This allows nodes that subscribe to this interface to be reset on teleport/time skips. Call through to ResetDynamics on zero timestep (ie. skips) in the preview path in Sequencer. Change 2917961 on 2016/03/22 by Frank.Fella Sequencer - Sequencer - Update the color track code to match the behavior in matinee, also remove empty light color tracks from the sequence, and add a missing particle parameter track. Change 2917984 on 2016/03/22 by Max.Chen Sequencer: Fix crash on deleting object binding nodes multiple times. Change 2917986 on 2016/03/22 by Max.Chen Sequencer: Fix if adding multiple camera cuts at the same time with the same duration as an existing camera cut. The camera is replaced in this case. Change 2917994 on 2016/03/22 by Jeff.Farris Support for scene depth picker. Used for focus depth sampling in cine cams. Change 2918003 on 2016/03/22 by Max.Chen Sequencer - Fix selection issues related to keying an undo by moving the selection clear on rebuild to after the tree selection state has been cached by path. Change 2920371 on 2016/03/23 by Max.Preussner UnrealEd: Added a file import path that doesn't load the entire file into memory prior to importing UFactory::StaticImport will now call FactoryCreateFile for both text and binary files. The default implementation will load the file into a buffer/string and call FactoryCreateBinary/FactoryCreateText to preserve legacy behavior. New factories may override FactoryCreateFile to perform their own file processing instead. Change 2923359 on 2016/03/25 by Max.Preussner UnrealEd: Refactored out StaticImportObject code into ImportObject Change 2924887 on 2016/03/28 by Jeff.Farris Sequencer: Camera Anim and Camera Shake tracks now support PostProcess changes in the CameraAnim Change 2927283 on 2016/03/30 by Max.Chen Sequencer: Fix crash resetting default in audio track in sequencer. Fix audio track rename when adding another audio. #jira UE-28836, UE-28859 Change 2928290 on 2016/03/30 by Max.Preussner ContentBrowser: Disabling 'Show in Explorer' context menu option for newly created/unsaved asset(s) Change 2928480 on 2016/03/30 by Max.Preussner AssetTools: Added built-in type category for Media assets Change 2928498 on 2016/03/30 by Max.Preussner AssetTools: Sorting asset type categories alphabetically Change 2932326 on 2016/04/04 by Frank.Fella Sequencer - Add "paste from matinee" support for audio tracks, and add volume support to audio sections in sequencer. Change 2933917 on 2016/04/05 by Max.Preussner Core: Added microseconds support to FTimespan Change 2933920 on 2016/04/05 by Max.Preussner Sockets: Simplified socket timeout assignments Change 2935434 on 2016/04/06 by Max.Chen Sequencer: Deselect possessable before converting it to a spawnable and deleting it. Also, make sure the newly converted spawnables are selected. This fixes a bug where the transform gizmo remains after adding a spawnable. Also, consolidate code for adding possessables to sequencer so that the newly added possessable node will be selected in the widget tree. #jira UE-28215 Change 2935590 on 2016/04/06 by Jeff.Farris Made crane rig preview mesh at the tip move as expected and appear in a reasonable place. Change 2936082 on 2016/04/07 by Max.Chen Sequencer: Attach should use default attach component of the actor if it exists. This fixes a bug where trying to attach to a camera crane rig attaches to the proper component. Change 2936118 on 2016/04/07 by Max.Chen Sequencer: Adding crane/rail with shift now adds the crane/rig as a spawnable and the attached cine camera as a spawnable. An attach track is created for the cine camera spawnable. #jira UE-28308 Change 2937226 on 2016/04/07 by Max.Chen Sequencer: Add invalidation when levels are added or removed.This fixes a bug were if you have a level sequence open and then add a sublevel that the level sequence operates on, it correctly updates the actors from the new sub level. #jira UE-27595 Change 2937263 on 2016/04/07 by Frank.Fella Sequencer - Changed the matinee to sequencer conversion tools so that curve keys set to "clamped auto" import as user tangents since we don't support clamped auto in sequencer. Change 2937273 on 2016/04/07 by Max.Chen Sequencer: No longer experimental/betal and now enabled by default. #jira UETOOl-625 Change 2937694 on 2016/04/08 by Max.Chen Curve Editor: Separate out input and output snapping. #jira UE-27209 Change 2937852 on 2016/04/08 by Andrew.Rodham Sequencer: Spawnables no longer use generated classes - Spawnables now store a template actor instance, rather than a generated class - All relevant code has been converted to use this new approach - Spawnable defaults are now harvested directly from any spawned instances when the movie scene is saved, or when the object is de-spawned. We only do this for spawnables *in the currently active sequence instance*. This approach ensures that instance components and other properties persist. - Currently we don't mark the package as dirty when the defaults are changed. This needs to be addressed. - Some fixes have been made to AActor and Actor Iterators to ensure that actors not contained within a level do not crash. - Spawning optimisations to follow Change 2937956 on 2016/04/08 by Max.Preussner Sequencer: Added selection range commands to general toolbar menu Change 2937981 on 2016/04/08 by Max.Preussner Sequencer: Refactored GetKeyHandles to take a time range for filtering keys Change 2938007 on 2016/04/08 by Max.Preussner Sequencer: Implemented selection range key selection Change 2938184 on 2016/04/08 by Max.Chen Sequencer: Find in Content Browser is now in the top level menubar. #jira UE-21598 Change 2938665 on 2016/04/08 by Frank.Fella UMG - Add support for material animation. Change 2939048 on 2016/04/10 by Max.Chen CineCamera: Change current position on rail to normalize position. Change 2939067 on 2016/04/10 by Max.Chen Sequencer: Add paste color from matinee Change 2939587 on 2016/04/11 by Andrew.Rodham Sequencer: Fixes to spawnable rework - Removed commented out code. - Fixed particle system components not disabling auto activate. - Instance Components are now correctly registered on spawn. - Removed ability to set the editable flag on actors in favor of a delegate assigned to SActorDetails to disable property editing on actors spawned from outside of the currently focused sequence. Change 2939666 on 2016/04/11 by Andrew.Rodham Sequencer: Fixed active sequence ID not being set on creation Change 2940663 on 2016/04/12 by Andrew.Rodham Sequencer: Spawnable object templates now always have the RF_ArchetypeObject flag #jira UE-29337, UE-29339 Change 2940742 on 2016/04/12 by Thomas.Sarkanen Improvements to sequence recording API Sequence recording is now more extensible. Moved the majority of recorders into a seperate module. Cleaned up recorder API, removed bRecord that was only really used once. Added factory class as a modular feature that allows users to register and implement their own recorders. Recorders can supply their own settings classes. These are incorporated into the UI via a details customization so they appear to be seamlessly integrated. Exposed components to record as an advanced setting. Users can use this to gate the components and actors that are recorded. #jira UE-28850 - Update sequence recording API for better extensibility Change 2940828 on 2016/04/12 by Max.Chen Level Editor: Clear the camera preview if the level viewport is locked to the same camera. #jira UE-27489 Change 2941090 on 2016/04/12 by Frank.Fella Sequencer - Fix inconsistencies with the level visibility track. + Add an option to update a track instance when it stops playing due to it's parent movie scene being deactivated as a sub-scene. + Reset level visibility state when the section ends, or when it's parent subsection ends. Change 2941427 on 2016/04/12 by Andrew.Rodham Sequencer: Fixes for recorded dynamic components - Dynamic components are now named uniquely within their owner actor, and are no longer re-bound to new object tracks when detached/re-attached - New dynamic components are created every time a new component is detected on an actor, regardless of whether it was once attached before. This affords recording externally managed components from a component pool. - Section recorders for components that are no longer attached to the actor are now disabled correctly. Change 2941760 on 2016/04/12 by Max.Preussner Editor: Setting up correct material expresions when creating material from normal map texture Change 2941819 on 2016/04/13 by Max.Chen Sequencer: Fire named events in all sublevels. #jira UE-28843 Change 2942052 on 2016/04/13 by Andrew.Rodham Sequencer: Fixed not being able to add dynamic material parameter tracks to spawnables when the object is not spawned #jira UE-24287 Change 2942223 on 2016/04/13 by Max.Preussner Editor: Using built-in function to assign sampler format Change 2942833 on 2016/04/13 by Max.Chen Sequencer: More copy matinee helpers. - Make some sections infinite. - Fix FindPossessableObjectId - Expose FindGroupByName Change 2942944 on 2016/04/13 by Max.Chen Sequencer: Fix anim copy so that it doesn't create an animation clip longer than the next clip's start position. Change 2943313 on 2016/04/14 by Max.Chen Sequencer: Initial matinee to level sequence asset converter. Right click on a matinee actor in the level and choose "Convert to Level Sequence" Current supports: - movement tracks - generic property tracks - particle tracks - anim control tracks - event tracks - audio tracks - visibility track - director track (fade, slomo, camera cuts) Possible todos: - Relative scale3D - Option to create spawnables instead of possessables - Create shots per director track camera cut instead of a direct translation to the camera cut track #jira UETOOL-467 Change 2943596 on 2016/04/14 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 Change 2943651 on 2016/04/14 by Max.Chen Sequencer: Invalidate the audio waveform when the source changes. #jira UE-29394 Change 2943674 on 2016/04/14 by Max.Chen Sequencer: Store/restore playback state when rebuilding. #jira UE-29452 Change 2943993 on 2016/04/14 by Max.Chen Sequencer: Convert slot name from matinee to level sequence. Change 2944156 on 2016/04/14 by Frank.Fella Sequencer - Fix undo when moving items into folders, and when deleting folder. #jira UE-27368 Change 2944227 on 2016/04/14 by Max.Chen Sequencer: Show curves in the curve editor if one of the parent nodes is selected. For example, if Location is selected, show Location.X, Location.Y, and Location.Z Change 2945057 on 2016/04/15 by Andrew.Rodham Editor: Fixed placement mode scrollbar visibility not working for custom content #jira UE-27191 #lockdown nick.penwarden [CL 2945551 by Max Chen in Main branch]
2016-04-15 14:50:58 -04:00
if (InDefinition.ActivationCommand.IsValid())
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
Section.AddMenuEntry(*FString::Printf(TEXT("ViewportType_%s"), *ViewportTypeName.ToString()), InDefinition.ActivationCommand);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
});
}
void SLevelViewportToolBar::GenerateViewportTypeMenu(UToolMenu* Menu) const
{
FToolMenuSection& Section = Menu->AddSection("Section");
GenerateViewportTypeMenu(Section);
}
void SLevelViewportToolBar::GenerateCameraSpawnMenu(UToolMenu* Menu) const
{
FToolMenuSection& Section = Menu->AddSection("Section");
const FLevelViewportCommands& Actions = FLevelViewportCommands::Get();
for (TSharedPtr<FUICommandInfo> Camera : Actions.CreateCameras)
{
Section.AddMenuEntry(NAME_None, Camera);
}
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateCameraMenu() const
{
static const FName MenuName("LevelEditor.LevelViewportToolBar.Camera");
if (!UToolMenus::Get()->IsMenuRegistered(MenuName))
{
UToolMenu* Menu = UToolMenus::Get()->RegisterMenu(MenuName);
Menu->AddDynamicSection("DynamicSection", FNewToolMenuDelegate::CreateLambda([](UToolMenu* InMenu)
{
ULevelViewportToolBarContext* Context = InMenu->FindContext<ULevelViewportToolBarContext>();
Context->LevelViewportToolBarWidgetConst.Pin()->FillCameraMenu(InMenu);
}));
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Viewport.Pin()->OnFloatingButtonClicked();
ULevelViewportToolBarContext* ContextObject = NewObject<ULevelViewportToolBarContext>();
ContextObject->LevelViewportToolBarWidgetConst = SharedThis(this);
FToolMenuContext MenuContext(Viewport.Pin()->GetCommandList(), TSharedPtr<FExtender>(), ContextObject);
return UToolMenus::Get()->GenerateWidget(MenuName, MenuContext);
}
void SLevelViewportToolBar::FillCameraMenu(UToolMenu* Menu) const
{
// Camera types
{
FToolMenuSection& Section = Menu->AddSection("CameraTypes");
Section.AddMenuEntry(FEditorViewportCommands::Get().Perspective);
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportCameraType_Ortho", LOCTEXT("CameraTypeHeader_Ortho", "Orthographic"));
Section.AddMenuEntry(FEditorViewportCommands::Get().Top);
Section.AddMenuEntry(FEditorViewportCommands::Get().Bottom);
Section.AddMenuEntry(FEditorViewportCommands::Get().Left);
Section.AddMenuEntry(FEditorViewportCommands::Get().Right);
Section.AddMenuEntry(FEditorViewportCommands::Get().Front);
Section.AddMenuEntry(FEditorViewportCommands::Get().Back);
}
TArray<ACameraActor*> Cameras;
for( TActorIterator<ACameraActor> It(GetWorld().Get()); It; ++It )
{
Cameras.Add( *It );
}
FText CameraActorsHeading = LOCTEXT("CameraActorsHeading", "Placed Cameras");
// Don't add too many cameras to the top level menu or else it becomes too large
const uint32 MaxCamerasInTopLevelMenu = 10;
if( Cameras.Num() > MaxCamerasInTopLevelMenu )
{
FToolMenuSection& Section = Menu->AddSection("CameraActors");
Section.AddSubMenu("CameraActors", CameraActorsHeading, LOCTEXT("LookThroughPlacedCameras_ToolTip", "Look through and pilot placed cameras"), FNewToolMenuDelegate::CreateSP(this, &SLevelViewportToolBar::GeneratePlacedCameraMenuEntries, Cameras ) );
}
else
{
FToolMenuSection& Section = Menu->AddSection("CameraActors", CameraActorsHeading);
GeneratePlacedCameraMenuEntries(Section, Cameras);
}
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
{
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
int32 NumCustomViewportTypes = 0;
LevelEditorModule.IterateViewportTypes([&](FName, const FViewportTypeDefinition&){ ++NumCustomViewportTypes; });
FText ViewportTypesHeading = LOCTEXT("ViewportTypes", "Viewport Type");
const uint32 MaxViewportTypesInTopLevelMenu = 4;
if( NumCustomViewportTypes > MaxViewportTypesInTopLevelMenu )
{
FToolMenuSection& Section = Menu->AddSection("ViewportTypes");
Section.AddSubMenu("ViewportTypes", ViewportTypesHeading, FText(), FNewToolMenuDelegate::CreateSP(this, &SLevelViewportToolBar::GenerateViewportTypeMenu) );
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
else
{
FToolMenuSection& Section = Menu->AddSection("ViewportTypes", ViewportTypesHeading);
GenerateViewportTypeMenu(Section);
Copying //UE4/Dev-Sequencer to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2875025 on 2016/02/20 by Andrew.Rodham Sequencer: Cinematic viewport improvements - Added optional letterbox overlay (defaults to 2.35:1) - Added ability to change safe frame colors - Added selected tracks' keys to the transport range - Added buttons for jumping between selected tracks' keyframes on the transport controls - Removed black padding around the viewport where possible - Added ability to specify whether a combo button/menu anchor should close when its parent receives focus - Separated logic of FGroupedKeyArea into FSequencerKeyCollection, so it can be used independently - Added playback range to the viewport frame numbers - All frame numbers are now spin boxes #jira UE-26429 Change 2875026 on 2016/02/20 by Thomas.Sarkanen Added console commands for recording sequences Changed plugin to a developer plugin so we can load it when the editor is in -game mode. Added Exec commands. Added some more logging to help diagnose problems when using commands. Added loading/saving of config for recorder settings (stored in Editor.ini). Also disabled controls in recorder window when recording. Added auto-saving of assets when in non-editor modes. Moved animation settings from UnrealEd to Engine module. Change 2875036 on 2016/02/20 by Max.Chen Sequencer: Call RedrawAllViewports instead of RedrawLevelEditingViewports. In particular, this fixes some update issues when editing values in the key editors. #jira UE-26960 Change 2875046 on 2016/02/20 by Max.Preussner Sequencer: Fix so that clicking on UMG Animations doesn't dirty the scene. #jira UE-26249 Change 2875047 on 2016/02/20 by Max.Chen Sequencer: Add option to toggle display of channel colors/lines. View->Channel Colors Change 2877138 on 2016/02/23 by Max.Chen Sequencer: Select corresponding track node when selecting key or section. Removed active/inactive selection since it was only being used in deletion and the rules for deletion are now dependent upon what is selected - delete keys and sections before deleting outliner nodes. Change 2877143 on 2016/02/23 by Thomas.Sarkanen Added new math function: WindRelativeAnglesDegrees Given two angles in degrees, 'wind' the angle in Angle1 so that it avoids >180 degree flips. Good for winding rotations previously expressed as quaternions into a euler-angle representation. Change 2877147 on 2016/02/23 by Thomas.Sarkanen Added the ability to import sequencer transforms from the root node of an animation sequence Intended for use after re-importing animations from DCC tools. Available in the right-click menu for transform tracks. Also added FindTrackBinding to UMovieScene so track bindings can be recovered from tracks. Change 2877163 on 2016/02/23 by Max.Chen Sequencer: Add option to create keyframe sections as infinite. Sequencer defaults to true, UMG defaults to false. Change 2877165 on 2016/02/23 by Max.Preussner Sequencer: Drawing vertical position lines when dragging keys Change 2878748 on 2016/02/23 by Max.Chen Curve Editor: Switch curve type to user when flatting or straightening tangents. #jira UE-27277 Change 2878799 on 2016/02/23 by Frank.Fella Sequencer - Add folders support to the outliner. Change 2880769 on 2016/02/24 by Andrew.Rodham Sequencer: Added ability to override runtime spawnable ownership in sequencer - This is exposed as an option on spawnables "Keep Alive Outside Playback Range (In Sequencer)" - Enabling this will stop spawnables from being destroyed when scrubbing outside of the playback range #jira UE-27205 Change 2880770 on 2016/02/24 by Thomas.Sarkanen Sequencer: Added countdown and recording indicator display when recording Also fixed extra popups added post-PIE when animation recordings auto shutdown. Change 2880782 on 2016/02/24 by Max.Chen Sequencer: Snapping now also uses the current time as a possible snap time. #jira UE-26306 Change 2880793 on 2016/02/24 by Max.Chen Sequencer: Add +Animation to Animation track so that it's consistent with all other tracks that have a + button. Change 2880812 on 2016/02/24 by Max.Chen Sequencer: Fix adjusting the leading edge of a shot section so that it cuts into the shot rather than adjusts the start time. #jira UE-26306 Change 2881624 on 2016/02/25 by Andrew.Rodham Changing shader version GUID to fix corrupt shaders in ddc Change 2882408 on 2016/02/25 by Thomas.Sarkanen Asset/actors stored in TLazyObjectPtrs can now reference game content from engine This is a legitimate use case as lazy object ptrs are designed to reference assets/actors cross-domain. Change 2882409 on 2016/02/25 by Thomas.Sarkanen [CL 2899785 by Max Chen in Main branch]
2016-03-08 16:55:04 -05:00
}
}
}
void SLevelViewportToolBar::GenerateViewportConfigsMenu(UToolMenu* Menu) const
{
check (Viewport.IsValid());
TSharedPtr<FUICommandList> CommandList = Viewport.Pin()->GetCommandList();
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportOnePaneConfigs", LOCTEXT("OnePaneConfigHeader", "One Pane"));
FSlimHorizontalToolBarBuilder OnePaneButton(CommandList, FMultiBoxCustomization::None);
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
OnePaneButton.SetLabelVisibility(EVisibility::Collapsed);
OnePaneButton.SetStyle(&FAppStyle::Get(), "ViewportLayoutToolbar");
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
OnePaneButton.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_OnePane);
Section.AddEntry(FToolMenuEntry::InitWidget(
"LevelViewportOnePaneConfigs",
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
SNew(SHorizontalBox)
+ SHorizontalBox::Slot()
.AutoWidth()
[
OnePaneButton.MakeWidget()
]
+ SHorizontalBox::Slot()
.FillWidth(1)
[
SNullWidget::NullWidget
],
FText::GetEmpty(), true
));
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportTwoPaneConfigs", LOCTEXT("TwoPaneConfigHeader", "Two Panes"));
FSlimHorizontalToolBarBuilder TwoPaneButtons(CommandList, FMultiBoxCustomization::None);
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
TwoPaneButtons.SetLabelVisibility(EVisibility::Collapsed);
TwoPaneButtons.SetStyle(&FAppStyle::Get(), "ViewportLayoutToolbar");
TwoPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_TwoPanesH, NAME_None, FText());
TwoPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_TwoPanesV, NAME_None, FText());
Section.AddEntry(FToolMenuEntry::InitWidget(
"LevelViewportTwoPaneConfigs",
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
[
TwoPaneButtons.MakeWidget()
]
+SHorizontalBox::Slot()
.FillWidth(1)
[
SNullWidget::NullWidget
],
FText::GetEmpty(), true
));
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportThreePaneConfigs", LOCTEXT("ThreePaneConfigHeader", "Three Panes"));
FSlimHorizontalToolBarBuilder ThreePaneButtons(CommandList, FMultiBoxCustomization::None);
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
ThreePaneButtons.SetLabelVisibility(EVisibility::Collapsed);
ThreePaneButtons.SetStyle(&FAppStyle::Get(), "ViewportLayoutToolbar");
ThreePaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_ThreePanesLeft, NAME_None, FText());
ThreePaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_ThreePanesRight, NAME_None, FText());
ThreePaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_ThreePanesTop, NAME_None, FText());
ThreePaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_ThreePanesBottom, NAME_None, FText());
Section.AddEntry(FToolMenuEntry::InitWidget(
"LevelViewportThreePaneConfigs",
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
[
ThreePaneButtons.MakeWidget()
]
+SHorizontalBox::Slot()
.FillWidth(1)
[
SNullWidget::NullWidget
],
FText::GetEmpty(), true
));
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportFourPaneConfigs", LOCTEXT("FourPaneConfigHeader", "Four Panes"));
FSlimHorizontalToolBarBuilder FourPaneButtons(CommandList, FMultiBoxCustomization::None);
#ttp 323891 - EDITOR: Viewport Layouts: Please add a 1x1 viewport preset layout option #branch UE4 #proj Editor.LevelEditor #summary Added 1x1 viewport layout and tidied the margins in the layout menu #add Added FLevelViewportLayout::bIsMaximizeSupported and public getter IsMaximizeSupported(). This is set on the new one-pane layout to block the maximize command/button. #add LevelViewportConfigurationNames::OnePane - new named layout config. #add FLevelViewportCommands::ViewportConfig_OnePane - new layout command. #change FLevelViewportLayout::InitCommonLayoutFromString() - will never start a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::SaveCommonLayoutString() - will never save a layout maximised if bIsMaximizeSupported is false. #change FLevelViewportLayout::MaximizeViewport() - checks that bIsMaximizeSupported is true as it should never be called on a layout that doesn't support it. #add SlateEditorStyle - added brushes for one pane option in the viewport layout menu. #add SLevelViewportToolBar::GenerateViewportConfigsMenu() - new section for one pane layouts with the one pane button in it. #change SLevelViewportToolBar::GenerateViewportConfigsMenu() - fixed the layout margins by setting the label visibility to collapsed instead of passing an empty string as the label. #add Binding new ViewportConfig_OnePane command SLevelViewport::BindViewCommands to OnSetViewportConfiguration(). #change SLevelViewport::GetMaximizeToggleVisibility() & OnToggleMaximize - check IsMaximizeSupported() on the parent layout and always collapses the maximize button when it isn't supported. #add FLevelViewportTabContent::ConstructViewportLayoutByTypeName() - added LevelViewportConfigurationNames::OnePane. #add New icon image for one pane button in the menu - ViewportLayout_OnePane.png #add New layout class FLevelViewportLayoutOnePane - based on other layouts but simpler because it only contains one pane and therefore no splitters. reviewedby Thomas.Sarkanen, Max.Preussner [CL 2048729 by Chris Wood in Main branch]
2014-04-23 19:20:45 -04:00
FourPaneButtons.SetLabelVisibility(EVisibility::Collapsed);
FourPaneButtons.SetStyle(&FAppStyle::Get(), "ViewportLayoutToolbar");
FourPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_FourPanes2x2, NAME_None, FText());
FourPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_FourPanesLeft, NAME_None, FText());
FourPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_FourPanesRight, NAME_None, FText());
FourPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_FourPanesTop, NAME_None, FText());
FourPaneButtons.AddToolBarButton(FLevelViewportCommands::Get().ViewportConfig_FourPanesBottom, NAME_None, FText());
Section.AddEntry(FToolMenuEntry::InitWidget(
"LevelViewportFourPaneConfigs",
SNew(SHorizontalBox)
+SHorizontalBox::Slot()
.AutoWidth()
[
FourPaneButtons.MakeWidget()
]
+SHorizontalBox::Slot()
.FillWidth(1)
[
SNullWidget::NullWidget
],
FText::GetEmpty(), true
));
}
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateShowMenu() const
{
static const FName MenuName("LevelEditor.LevelViewportToolbar.Show");
if (!UToolMenus::Get()->IsMenuRegistered(MenuName))
{
UToolMenu* Menu = UToolMenus::Get()->RegisterMenu(MenuName);
Menu->AddDynamicSection("LevelDynamicSection", FNewToolMenuDelegate::CreateLambda([](UToolMenu* InMenu)
{
ULevelViewportToolBarContext* Context = InMenu->FindContext<ULevelViewportToolBarContext>();
Context->LevelViewportToolBarWidgetConst.Pin()->FillShowMenu(InMenu);
}));
}
Simple and Group Stat Exec commands can now be triggered from the level viewport Show menu directly. #ttp 306334 - ROCKET: TASK: PUNTABLE: Stats: FN: Make diagnostic stats discoverable and available in the UI (don't require console to toggle) #branch UE4 #change DECLARE_STATS_GROUP û Added additional param GroupCategory, for subfolder use in the UI. Fixedup all Stats Group usage so the category is now propagated through where it needs to be. Currently all Group stats have the Category æAdvancedÆ, and all engine stats have the Category æSimpleÆ û this is just to differentiate them for now, better categories will come along in future. Modified FindOrAddMetaData as it now broadcasts a delegate (via a TaskGraph) whenever a new stat meta data is added û this was needed as not all the stat groups are æregisteredÆ when the level viewports are created (they are drip loaded), so the viewports need to listen for any additions thereafter... GroupDescription is displayed as a tooltip in the UI for the stat entry and we may want to localize these. RenderStats & RenderGroupedWithHierarchy: Modified so that it now takes the viewport that it should render to as a param (which is also used to determine if each stat should be visible). Removed StatsEnabled delegate in favour of StatCheckEnabled, StatEnabled, StatDisabled, StatDisableAll for more finite usage and feedback when toggling them. Modified FHUDGroupManager HandleCommand It now uses the new delegates to work out whether it needs to enable or disable for the current viewport, so itÆs more involved than a simple toggle, itÆs more ôis the stat enabled for the current viewport, and is it enabled for any viewportö delegate querying so it can react accordingly. Added struct FSimpleStatFuncs: Which contains info on each æSimple StatÆ such as; name, category, description, renderfunc, togglefunc and the side of the viewport it should be rendered to ExecSimpleStat û Calls Exec for a registered Simple Stat, ensuring the correct viewport is set IsSimpleStat û Checks to see if a stat is a registered Simple Stat or not SetSimpleStat û Sets the state of a specified Simple Stats SetSimpleStats - Sets the state of the specified Simple Stats RenderSimpleStats û Renders the Simple Stats if they are enabled, and have Render functions assigned. Each Exec function had the code it executes which itÆs toggled and rendered into functions Added FStatUnitData & FStatHitchesData: Moved all the globals/static variables used when enabling Stat Unit/Hitches into a struct as itÆs now used by multiple viewports and they needed their own copies. Also moved their draw functions here too. FSceneViewport: SwapStatCommands û Exchanges the enabled stats between two viewports, this is so when PIEing the stats which were enabled on the Level Viewport (if playing in active viewport only) get transposed to the Game Viewport, and then restored when PIE ends. SEditorViewport: ToggleStatCommand û Called when a stat is enabled/disabled from the UI IsStatCommandVisible û Checks to see if a stat command should appear as visible in the UI SEditorViewportViewMenu: GenerateViewMenuContent û Made protected and virtual so it could be called externally. FLevelViewportCommands: Added the code needed to generate commands for each of the Stat menu entries, however because not all stats are registered when this happens, it also creates some delegates to listen out for others that are registered later Destructor û Needed to reset delegates HandleNewGroupStat û Creates the new group stat commands HandleNewStat û Creates the new stat command FindStatIndex û Looks for where a stat should be inserted in the menu in order to maintain alphabetical order SLevelViewport: Modified the code so that the states of all the SimpleStats are saved so they can be restored next time the editor is ran (previously just handled FPS). OnFloatingButtonClicked û Called whenever any of the level viewports floating buttons are clicked in order to correctly set the ælastÆ viewport global OnToggleAllStatCommands û Called when the user selects æHide AllÆ from the viewport. ToggleStatCommand û Called when the user selects any other stat option from the viewport. BindStatCommand û Used to bind the menu action to the command name (used by delegate) Added SLevelEditorViewportViewMenu (extends SEditorViewportViewMenu), and overrode GenerateViewMenuContent so that OnFloatingButtonClicked can be called whenever the menu is clicked on. This is also called during GenerateOptionsMenu, GenerateCameraMenu, GenerateShowMenu & OnToggleMaximize Added global ptr GStatProcessingViewportClient (sim to Current, Last) used to keep track of which viewport the stat should be applied too (only valid within the scope of the Exec call). FViewportClient: Moved global ESoundShowFlags enum list into this class. FCommonViewportClient: Destructor û Needed to reset GStatProcessingViewportClient FLevelEditorViewportClient SetCurrentViewport û moved code responsible for setting the global æcurrentÆ viewport ptr into a func SetLastKeyViewport û moved the code responsible for settings the global ælastÆ viewport ptr into a func UGameViewportClient: Destructor û Needed to cleanup delegate usage. FViewportClient & FLevelEditorViewportClient & UGameViewportClient* GetStatUnitData û The viewports copy of the variables needed when running the Stat Unit Exec GetStatHitchesData û The viewports copy of the variables needed when running the Stat Hitches Exec GetEnabledStats û Gets a list of all the stats which are enabled for the viewport SetEnabledStats û Sets a list of all the stats which should be enabled for the viewport IsStatEnabled û Checks to see if a specific stat is enabled for the viewport SetStatEnabled û Sets a specifics stats state to enabled or disabled GetSoundShowFlags û Gets which flags are enabled for the Stat Sounds Exec SetSoundShowFlags û Sets which flags are enabled for the Stat Sounds Exec HandleViewportStatCheckEnabled (delegate) û checks to see if a specific stat is enabled on this viewport HandleViewportStatEnabled (delegate) û enables a specific stat for the viewport HandleViewportStatDisabled (delegate) û disables a specific stat for the viewport HandleViewportStatDisableAll (delegate) û disables all stats for the viewport *FViewportClient has dummy virtual funcs and LevelEditor/Game both have the same implementations, the only differences is the GameViewports member variables are static so that the stat info persists between runs. FLevelEditorViewportInstanceSettings deprecated bShowFPS in favour of an EnabledStats array (so we can track the state of all stats, not just FPS). Added new config var bSaveSimpleStats: if enabled, restores previously enabled level viewport simple stats the next time the editor runs (defaults to false). Modified FillShowFlagMenu so that thereÆs just one func and you specify where (if any) youÆd like a separator to occur. Added FillShowStatsSubMenus so that menus can be generated which have submenus Added the Stats sub menu to the View menu Modified Execs so that the GStatProcessingViewportClient is set to the correct default viewport (if it wasnÆt specified), and clears again after itÆs been processed HandleStatCommand now takes World and ViewportClient as params too û needed when Execs enabled other Execs so the world/viewport persists. SetAverageUnitTimes û Added as a Setter func for GetAverageUnitTimes (moved code out of Stat Unit renderer and modified so that it only updates once per frame). Stripped out all unneeded globals [CL 2058522 by Andrew Brown in Main branch]
2014-04-29 04:04:27 -04:00
Viewport.Pin()->OnFloatingButtonClicked();
TSharedRef<FUICommandList> CommandList = Viewport.Pin()->GetCommandList().ToSharedRef();
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3168749 on 2016/10/20 by Richard.TalbotWatkin Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry. #jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level Change 3169740 on 2016/10/20 by Nick.Darnell Automation - Removing old screenshots, working on new naming convention. Change 3169796 on 2016/10/20 by Nick.Darnell Automation - Adding new screenshots. Change 3169800 on 2016/10/20 by Nick.Darnell Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots. Change 3169901 on 2016/10/20 by Nick.Darnell Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots. Change 3169926 on 2016/10/20 by Cody.Albert Added extension point for level editor viewport's Show and Camera menus Change 3170053 on 2016/10/20 by Cody.Albert Back out changelist 3169926 Change 3170067 on 2016/10/20 by Cody.Albert Added extension point for level editor viewport's Show and Camera menus Change 3170382 on 2016/10/21 by Michael.Dupuis #jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor Change 3170520 on 2016/10/21 by Alex.Delesky #jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint Change 3170522 on 2016/10/21 by Alex.Delesky #jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button. Change 3170524 on 2016/10/21 by Alex.Delesky #jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor. Change 3170530 on 2016/10/21 by Alex.Delesky Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper #jira none Change 3170768 on 2016/10/21 by Cody.Albert Back out changelist 3170067 Change 3170795 on 2016/10/21 by Nick.Darnell JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties. Change 3170797 on 2016/10/21 by Nick.Darnell Automation - Fixing several warnings dealing with fbx testing. Change 3170921 on 2016/10/21 by Nick.Darnell Automation - Fixing more warnings with FBX tests. Change 3171109 on 2016/10/21 by Cody.Albert Added extension point for level editor viewport Show menu Change 3171812 on 2016/10/24 by Jamie.Dale Back out changelist 3163044 This broke wrapping for Japanese and Chinese. Change 3171842 on 2016/10/24 by Michael.Dupuis #jira UE-36400 Name each Parameter uniquely either from copy/paste of any creation menu Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1 Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type When editing a color property update the material expression preview Change 3171958 on 2016/10/24 by Alex.Delesky #jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions. Change 3171969 on 2016/10/24 by Nick.Darnell Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions. Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider) Change 3172035 on 2016/10/24 by Alex.Delesky Fix to build warning for 3171970 #jira none Change 3172078 on 2016/10/24 by Michael.Dupuis #jira UE-37626 Fetch property node from property handle if there is no property editor Change 3172143 on 2016/10/24 by Jamie.Dale Line-break iterators will now avoid breaking words in Hangul The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers. Change 3172418 on 2016/10/24 by Michael.Dupuis Fixed Static Analysis error Change 3173389 on 2016/10/25 by Michael.Dupuis #jira UE-9284 Make the UI appear only on hover and change icons size Change 3173918 on 2016/10/25 by Alex.Delesky #jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created. Change 3173966 on 2016/10/25 by Alex.Delesky #jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse. Change 3174847 on 2016/10/26 by Alex.Delesky #jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen. Change 3174916 on 2016/10/26 by Alexis.Matte When re-importing fbx file, always log to the message log. #jira UE-37639 Change 3174940 on 2016/10/26 by Alex.Delesky Back out changelist 3174847 at request of platforms team. Was fixed on Main. Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt Import commandlet fixes - Fixed crash when source control could not be contacted - Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import Change 3175217 on 2016/10/26 by Alexis.Matte The FBX reimport animation code now return false if there was an error when importing #jira UE-37755 Change 3175728 on 2016/10/26 by Alexis.Matte Log a message when importing a skeletal mesh with more bone influence then the maximum supported #2875 #jira UE-37613 Change 3177997 on 2016/10/28 by Nick.Darnell Editor - Prevent re-entrant calls when EndPlayMap is called. Change 3178429 on 2016/10/28 by Nick.Darnell Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported. Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt Guard against bad render targets in Slate RHI #jira UE-37905 Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt Added logging to track https://jira.it.epicgames.net/browse/UE-37900 #jira UE-37900 Change 3179920 on 2016/10/31 by Alex.Delesky Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591. #jira none Change 3179921 on 2016/10/31 by Alex.Delesky #jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource Change 3180119 on 2016/10/31 by Alexis.Matte fbx importer avoid asset creation name clash #jira UE-35100 Change 3181905 on 2016/11/01 by Alexis.Matte Paint tool now allow users to paint on any vertex if they need it. #jira UE-8372 Change 3182355 on 2016/11/01 by Alexis.Matte We now support FBX LODs export for the asset exporter from the content browser. #jira UE-35302 Change 3183286 on 2016/11/02 by Alexis.Matte Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options. #jira UE-37520 Change 3183567 on 2016/11/02 by Shaun.Kime #jira UE-38019 The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor. The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder. Change 3184002 on 2016/11/02 by Jamie.Dale Fixed crash during TSF IME shutdown #jira UE-38073 Change 3185126 on 2016/11/03 by Shaun.Kime Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins. Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well). #jira UE-38065 #jira UE-37645 Change 3185278 on 2016/11/03 by Nick.Darnell UMG - Fixing some issues with HDPI mode in the widget designer. Change 3185355 on 2016/11/03 by Nick.Darnell UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace. Change 3185510 on 2016/11/03 by Nick.Darnell UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport. Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo. Change 3185514 on 2016/11/03 by Nick.Darnell UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces. Change 3185652 on 2016/11/03 by Nick.Darnell Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing. Change 3185952 on 2016/11/03 by Nick.Darnell UMG - Fixing another build error relating to local widget geometry. Change 3185953 on 2016/11/03 by Nick.Darnell UMG - Fixing a mac compiler warning. Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt Fixed collapse all hiding everything in the settings editors #jira UE-38151 Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt Fixed new assets opening in a minimized window not restoring that window. Change 3187026 on 2016/11/04 by Shaun.Kime UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds. #jira UE-38094 Change 3187073 on 2016/11/04 by Nick.Darnell Automation - Changing the code that writes out json to force no BOM as is the json standard. Change 3187113 on 2016/11/04 by Jamie.Dale Removed double look-up in UTextProperty::SerializeItem Change 3187114 on 2016/11/04 by Jamie.Dale Feedback context now uses culture correct percentage formatting Change 3187273 on 2016/11/04 by Alexis.Matte Fbx importer for static mesh, make sure that we order the materials array to follow the section order. Add also some fbx automation test #jira UE-38242 Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes #jira UE-38268 Change 3187463 on 2016/11/04 by Nick.Darnell Automation - Updating the blessed screenshots, and fixing the BOM issues with the json. Change 3188638 on 2016/11/07 by Shaun.Kime Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background. #jira UE-38240 Change 3189056 on 2016/11/07 by Nick.Darnell Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser. Change 3189147 on 2016/11/07 by Jamie.Dale Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering). #jira UE-38309 Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt Guard against null object when creating details panel Change 3190017 on 2016/11/08 by Alexis.Matte FrontX support for scene importer #jira UETOOL-1061 Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt Fixed misaligned button in the new blueprint class dialog Change 3190086 on 2016/11/08 by Nick.Darnell UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained. Change 3190159 on 2016/11/08 by Nick.Darnell UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user. Change 3190161 on 2016/11/08 by Nick.Darnell UMG - UWidget is now Blueprintable. Improving some doc. Change 3190545 on 2016/11/08 by Alexis.Matte Support scaling when exporting skeleton (bind pose) to FBX #jira UE-36120 Change 3191614 on 2016/11/09 by Simon.Tourangeau Fix cooking crash after fbx import of a scene without meshes #jira UE-38264 Change 3191659 on 2016/11/09 by Simon.Tourangeau Cleanup Persona LOD section button layout #jira UE-38339 Change 3191882 on 2016/11/09 by Jamie.Dale Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter. Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict. Change 3192092 on 2016/11/09 by Jamie.Dale Deleting some test assets that were accidentally checked in, some of which no longer load Change 3192281 on 2016/11/09 by Alex.Delesky #jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints. Change 3192365 on 2016/11/09 by Shaun.Kime Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes. #jira UE-19022 Change 3192494 on 2016/11/09 by Alex.Delesky #jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly. Change 3193183 on 2016/11/10 by Alexis.Matte When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset. #jira UE-38450 Change 3193419 on 2016/11/10 by Alex.Delesky Fixing UnrealTournament build error in SUTChatEditBox #jira none Change 3193456 on 2016/11/10 by Alex.Delesky Fix to build warning C6011 in SWidgetHierarchyItem #jira none Change 3193704 on 2016/11/10 by Simon.Tourangeau Create Cinematic Camera when importing camera from fbx #jira UE-37764 Change 3194593 on 2016/11/11 by Nick.Darnell Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values. Change 3194595 on 2016/11/11 by Nick.Darnell Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area. Change 3194830 on 2016/11/11 by Richard.TalbotWatkin Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude! #jira UE-38524 - Moving many brushes to another level is very slow Change 3194859 on 2016/11/11 by Alexis.Matte Fix fbx skeletal mesh cleanup material crash #jira UE-38525 Change 3195199 on 2016/11/11 by Nick.Darnell UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots. #jira UE-38536 Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt Guard against rendering crashes when a mesh with no lod resources is opened. #jira UE-38520 Change 3196614 on 2016/11/14 by Nick.Darnell Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time. Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist) Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal) #jira UE-38544 Change 3196863 on 2016/11/14 by Nick.Darnell Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor. Change 3196900 on 2016/11/14 by Nick.Darnell Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale. Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel. #jira UE-36499, UE-38497 Change 3197028 on 2016/11/14 by Alexis.Matte Shift Drag is not moving the camera when the user is dragging the 3 axis in same time. #jira UE-38382 Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame Change 3197227 on 2016/11/14 by Nick.Darnell UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema. Change 3197239 on 2016/11/14 by Nick.Darnell UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it. Change 3197538 on 2016/11/14 by Nick.Darnell UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late. Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt Guard against reimport factories being deleted while in use #jira UE-37577 Change 3198589 on 2016/11/15 by Alex.Delesky #jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key. Change 3198783 on 2016/11/15 by Nick.Darnell The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code. Change 3198933 on 2016/11/15 by Jamie.Dale Changing the package localization ID used by a package now marks the package as dirty Change 3198942 on 2016/11/15 by Jamie.Dale Clearing the package localization ID used by a package now marks the package as dirty Change 3200241 on 2016/11/16 by Shaun.Kime Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled. By default, internal only classes will be hidden and you will be limited to your own developer folder. Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use [/Script/ClassViewer.ClassViewerProjectSettings] +InternalOnlyPaths=(Path="/Engine/VREditor") +InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders. The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget. Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management #jira UE-38313 Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt Adding missing change needed post merge from main Change 3200968 on 2016/11/16 by Jamie.Dale Fixed localization gather including texts that were instanced or otherwise unchanged - It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default. - UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances. Change 3201033 on 2016/11/16 by Cody.Albert Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged Change 3201829 on 2016/11/17 by Shaun.Kime Fixing issue where GEngine is null in early game loading, potentially causing a crash. Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt Fix build warning Change 3201835 on 2016/11/17 by Nick.Darnell Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input. Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt Fix streaming pause rendering starting a movie if a movie was already playing Change 3202089 on 2016/11/17 by Nick.Darnell Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name. Change 3202139 on 2016/11/17 by Jamie.Dale Fix for adjusting text spacing when lines are removed from TextLayouts Change 3202398 on 2016/11/17 by Cody.Albert Updated UMG Sequencer to properly fire events once per loop Change 3202591 on 2016/11/17 by Shaun.Kime Fixing coding standards violations. Change 3202744 on 2016/11/17 by Shaun.Kime StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior. #jira UE-38315 Change 3203009 on 2016/11/17 by Alex.Delesky Backing out changelist 3170522 per request #jira UE-33031 Change 3204077 on 2016/11/18 by Nick.Darnell Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images. Change 3204086 on 2016/11/18 by Jamie.Dale Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set Both use FGCObject internally to reference the object and keep it alive. FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer. You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing). Change 3204189 on 2016/11/18 by Alex.Delesky Removing content from dev folder Change 3204205 on 2016/11/18 by Jamie.Dale Fix for being unable to delete folders that still have sub-folders in the Content Browser #jira UE-38752 Change 3204270 on 2016/11/18 by Simon.Tourangeau Fix StaticMesh socket reimports - socket transforms are now updated correctly on reimport - deleted socket from source will be removed on reimport - fix SocketManager refresh after import #jira UE-38195 Change 3204283 on 2016/11/18 by Alex.Delesky #jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself. Change 3205757 on 2016/11/21 by Jamie.Dale PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium) Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist) Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt PR #2956: Add plane to basicshapes (Contributed by tommybear) Change 3205831 on 2016/11/21 by Jamie.Dale Speculative fix for UE-38492 This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel. #jira UE-38492 Change 3205869 on 2016/11/21 by Alex.Delesky #jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor Change 3205873 on 2016/11/21 by Alex.Delesky #jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes. Should also address the issue mentioned in #jira UE-32965 Change 3205954 on 2016/11/21 by Shaun.Kime Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work. #jira UE-38315 Change 3205965 on 2016/11/21 by Alex.Delesky #jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused PR #2942 Change 3207157 on 2016/11/22 by Chris.Wood Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking. [UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds Change 3207344 on 2016/11/22 by Matthew.Griffin Added UnrealWatchdog to the Binary Release Change 3207396 on 2016/11/22 by Ben.Marsh Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion. Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt Redid blur changes from Paragon Dev-General Blur widget updates - Renamed to SBackgroundBlur/UBackgroundBlur - Split SBackgroundBlur out into its own file - Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha - Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set - Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version) - Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image Change 3207443 on 2016/11/22 by Chris.Wood Fix CIS error on Mac from my change CL 3207157 Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt Added missing files Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt Guard against crash clearing scenes from the slate RHI renderer during movie loading code. Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt Actually call correct method of checking for a debugger Change 3209139 on 2016/11/23 by Cody.Albert Adding support for "Show Only Modified Properties" filter to DetailWidgetRow Change 3209206 on 2016/11/23 by Jamie.Dale Moving folders now removes the old folder from disk if it's empty This had already been done for deleting folders, but moving them was missed. #jira UE-11796 Change 3209281 on 2016/11/23 by Jamie.Dale PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung) Change 3210383 on 2016/11/25 by Chris.Wood Documented Crash Report Client analytics events [UE-32787] - Document Crash Report Client analytics events in code Change 3210385 on 2016/11/25 by Alexis.Matte Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not #jira UE-38925 Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt Fix build errors Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts) Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt Fix ATSC texture compression quality tooltip #jira UE-38996 Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt Fix compile errors Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt Fix post process anim blueprints on skeletal meshes not being clearable #jira UE-39017 Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt Added more logging for jira UE-39000 #jira UE-39000 Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt Redid fix for UE-35822 in dev-editor Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt Fix deprecation warning Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt Disable motion blur in editor views by default #jira 38424 Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt Fix PS4 compile errors Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt Details panels changes - Added the ability to create groups within groups in details panel customizations - Added the ability for struct customizations to add categories to the parent Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do. Change 3213158 on 2016/11/29 by Jamie.Dale Updated User Defined Enum display names to use real FText instances so they can have stable keys This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues. User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking). #jira UE-26274 Change 3213172 on 2016/11/29 by Jamie.Dale Adding experimental support for content hot-reloading The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded). The basic workflow for package reloading is as follows: 1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects. 2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed. 3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping). 4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found). 5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't). For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory. In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation. Change 3213428 on 2016/11/29 by Jamie.Dale Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing #jira UE-37746 Change 3213442 on 2016/11/29 by Jamie.Dale Workaround for a bug in TSF based MS IMEs on Windows 8+ They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted. #jira UE-37309 Change 3213603 on 2016/11/29 by Cody.Albert Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget #jira UE-39106 Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt Attempt to fix includetool cis warning Change 3215159 on 2016/11/30 by Jamie.Dale Fixing MakeShared forward declaration Change 3215220 on 2016/11/30 by Alex.Delesky #jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view. Change 3215390 on 2016/11/30 by Jamie.Dale Maps now end a hot-reload batch Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt Updating guard to track down worlds that have no package as an outer #jira UE-35712 Change 3215500 on 2016/11/30 by Alexis.Matte Color grading widget customization #jira UETOOL-1070 Change 3215519 on 2016/11/30 by Jamie.Dale Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode Change 3215556 on 2016/11/30 by Cody.Albert Fixed issue where check-out toast would not disappear #jira UE-39146 Change 3215585 on 2016/11/30 by Jamie.Dale Adding an explicit ESPMode to MakeShared to try and placate Android Change 3215737 on 2016/11/30 by Alexis.Matte Fix build warning Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves #jira UE-35935 Change 3215758 on 2016/11/30 by Ben.Marsh Add a 'Custom...' build type for Dev-Editor. Change 3216183 on 2016/11/30 by Alexis.Matte Fix win32 build error Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt Fix mac build error. Change 3216828 on 2016/12/01 by Jamie.Dale Fixing MakeShared on Android #jira UE-39204 Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel) Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty #jira UE-36496 Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt Fix a number of keybindings problems - Removed editor keybindings from project settings. It should not have been in there (already in editor settings) - Removed duplicate registration of editor keybindings from editor settings - Fixed memory leak regenerating keybinding widgets when ending PIE world. - Cleaned up styling a bit to make keybindings widgets clearer. #jira UE-39211, UE-38718 Change 3216881 on 2016/12/01 by Shaun.Kime Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to. Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs. Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable. Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage. Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count. In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out. #jira UE-6882 Change 3216968 on 2016/12/01 by Jamie.Dale Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk Change 3216970 on 2016/12/01 by Jamie.Dale Reverting files now uses hot-reloading (if enabled) Change 3217233 on 2016/12/01 by Jamie.Dale You can now choose to reload dirty packages via content hot-reloading This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor. Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame. Change 3217466 on 2016/12/01 by Jamie.Dale Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date Change 3217572 on 2016/12/01 by Jamie.Dale Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text Change 3217688 on 2016/12/01 by Jamie.Dale Fixed crash reloading the active world package when it was dirty #jira UE-39250 Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads #jira UE-39243 Change 3218834 on 2016/12/02 by Alexis.Matte move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options #jira UE-38672 Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives #jira UE-39246 Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt Fixed basic cube shape having a convex hull instead of a box for collision Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt Move static mesh collision properties to the collision category Change 3219143 on 2016/12/02 by Michael.Dupuis #jira UE-39124 We can now place single mesh at a time #jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it #jira UE-37452 Change 3219358 on 2016/12/02 by Alexis.Matte Fix fbx automation tests Change 3219362 on 2016/12/02 by Alexis.Matte Support for MAX multisub material #jira UE-38467 #jira UE-38471 Change 3219774 on 2016/12/02 by Jamie.Dale PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN) Change 3219793 on 2016/12/02 by Jamie.Dale SWindow now restores focus back to the widget that last had focus when it was deactivated #jira UE-38965 Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt UI background blur tweaks - Adjust the downsample amount for lower kernel sizes - Flush post process memory used by the blur when switching levels Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt Added guards against accesing scene caching methods of the slate resource manager on the rendering thread Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading Change 3221831 on 2016/12/05 by Jamie.Dale Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name Change 3221986 on 2016/12/05 by Jamie.Dale Added an "Inline" font loading method This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front. The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does. This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded. Change 3222065 on 2016/12/05 by Jamie.Dale Added log warning to detect hitches when lazily loading fonts Change 3222225 on 2016/12/05 by Jamie.Dale Fixing style-set typo #jira UE-39333 Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt Fix autosaving prompting to check out built data if the built data asset was dirty during autosave #jira UE-39295 Change 3223184 on 2016/12/06 by Alexis.Matte Support LOD group and combine mesh #jira UE-1088 Change 3223212 on 2016/12/06 by Alex.Delesky #jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties. Change 3223215 on 2016/12/06 by Alex.Delesky #jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false. Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt Added back in missing code that was lost in a merge Change 3223271 on 2016/12/06 by Alex.Delesky #jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box). Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials Change 3223276 on 2016/12/06 by Alexis.Matte Staticmesh socket fbx import. #jira UE-38284 Change 3223363 on 2016/12/06 by Alexis.Matte Reimport must ask for missing file when re-importing a old asset that has no source files #jira UE-39356 Change 3223423 on 2016/12/06 by Chris.Wood Added option to place canvas panel children in same layer using explicit ZOrder setting. [UETOOL-935] - Figure out a solution for canvas panel batching Change 3223551 on 2016/12/06 by Alexis.Matte UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change #jira UE-39383 Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt Update doc links for maps and sets Change 3224746 on 2016/12/07 by Michael.Dupuis #jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras #jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras Change 3224826 on 2016/12/07 by Michael.Dupuis #jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior Change 3224827 on 2016/12/07 by Simon.Tourangeau Improve search for material match on fbx mesh import - Add option to specify material search locations on mesh import - On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh) - Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes) - If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes) - If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets) - If option is UnderRoot or more, search recursively from root folder (search recursively in /Game) - If option is AllAssets, search in every asset folder (Search recursively everywhere) #jira UE-39020 Change 3224989 on 2016/12/07 by Chris.Wood Fixed black callstack text in CrashReportClient. [UE-38987] - CrashReportClient Callstack text is rendering Black Change 3225142 on 2016/12/07 by Jamie.Dale Added collapsing methods when exporting text for translation You can now choose how to collapse your text for translation from three export modes: - ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior). - ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior). - ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior). The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior). You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource"). Change 3225509 on 2016/12/07 by Simon.Tourangeau Static analysis fix, false positive Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt Fix broken physical surface details customization - Scrolling now works properly - Edit boxes dont change size while editing - properly checks out or makes file writable once an edit has been made #jira UE-39279 Change 3226840 on 2016/12/08 by Jamie.Dale Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself #jira OPP-6485 Change 3226940 on 2016/12/08 by Alexis.Matte Avoid changing the W value when playing with the color grading wheel. #jira UE-39473 Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt Temp disable lazy load font warnings to prevent infinite recursion crashes at startup Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt Fix for iOS compiling Change 3228597 on 2016/12/09 by Jamie.Dale Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL #jira UE-39529 Change 3228607 on 2016/12/09 by Jamie.Dale Fixed infinite recursion caused by logging while the output log font was still being loaded #jira UE-39523 Change 3228770 on 2016/12/09 by Jamie.Dale Fixed UUserDefinedEnum::GetEnumText it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail. #jira UE-39531 Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt Fix static analysis warning [CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
// Get all menu extenders for this context menu from the level editor module
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
TSharedPtr<FExtender> MenuExtender = LevelEditorModule.AssembleExtenders(CommandList, LevelEditorModule.GetAllLevelViewportShowMenuExtenders());
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3228984) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3168749 on 2016/10/20 by Richard.TalbotWatkin Fixed bug in csgRebuild where dynamic brushes from the whole world are rebuilt instead of just those from the current level. csgRebuild is supposed to act only on the current level's geometry. #jira UE-37376 - csgRebuild builds dynamic brushes from the whole world, instead of just the current level Change 3169740 on 2016/10/20 by Nick.Darnell Automation - Removing old screenshots, working on new naming convention. Change 3169796 on 2016/10/20 by Nick.Darnell Automation - Adding new screenshots. Change 3169800 on 2016/10/20 by Nick.Darnell Automation - Working on improvements to screenshot comparions, now using the Unique device id instead of adapter name. Working on better metadata based matching for which screenshot to use, stubbing in support for adding alternative versions of screenshots. Change 3169901 on 2016/10/20 by Nick.Darnell Automation - More fixes / refinements to the way we add alternatives and replace old versions of screenshots. Change 3169926 on 2016/10/20 by Cody.Albert Added extension point for level editor viewport's Show and Camera menus Change 3170053 on 2016/10/20 by Cody.Albert Back out changelist 3169926 Change 3170067 on 2016/10/20 by Cody.Albert Added extension point for level editor viewport's Show and Camera menus Change 3170382 on 2016/10/21 by Michael.Dupuis #jira UE-36585 Added Copy/Paste to Material list/item, section list/item to StaticMeshEditor and Persona Editor Change 3170520 on 2016/10/21 by Alex.Delesky #jira UE-36510 - You can now toggle if combo boxes can receive keyboard focus from the Widget Blueprint Change 3170522 on 2016/10/21 by Alex.Delesky #jira UE-33031 - Buttons will no longer remained in a hovered state on mobile devices if the user drags their finger into a button, and then lifts their finger without dragging it outside of the button. Change 3170524 on 2016/10/21 by Alex.Delesky #jira UE-25591 - Static Mesh LODs can now be removed from the editor without a mesh reduction tool like Simplygon configured for use in the editor. Change 3170530 on 2016/10/21 by Alex.Delesky Moved the HasKey method from UMapProperty to FScriptMapHelper, and moved the HasElement property from USetProperty to FScriptSetHelper #jira none Change 3170768 on 2016/10/21 by Cody.Albert Back out changelist 3170067 Change 3170795 on 2016/10/21 by Nick.Darnell JsonObjectConverter - By default UStructToJsonAttributes now skips transient properties. Change 3170797 on 2016/10/21 by Nick.Darnell Automation - Fixing several warnings dealing with fbx testing. Change 3170921 on 2016/10/21 by Nick.Darnell Automation - Fixing more warnings with FBX tests. Change 3171109 on 2016/10/21 by Cody.Albert Added extension point for level editor viewport Show menu Change 3171812 on 2016/10/24 by Jamie.Dale Back out changelist 3163044 This broke wrapping for Japanese and Chinese. Change 3171842 on 2016/10/24 by Michael.Dupuis #jira UE-36400 Name each Parameter uniquely either from copy/paste of any creation menu Changed the default value for Scalar and Vector Parameter to 1 and 1,1,1,1 Added a Promote To Parameter when clicking on an Input pin that will generate proper node type based on type pin type When editing a color property update the material expression preview Change 3171958 on 2016/10/24 by Alex.Delesky #jira UE-37444 - The Primitive Stats browser (and other statistics browsers) can now sort columns based on singular objects or object types as well as texture dimensions. Change 3171969 on 2016/10/24 by Nick.Darnell Slate - Adding some code to prevent crashes if bogus user indexes are passed into SlateApplications GetUser functions. Change 3171970 on 2016/10/24 by Matt.Kuhlenschmidt PR #2885: Fixed Stretched Landscape Editor Icons (Contributed by teessider) Change 3172035 on 2016/10/24 by Alex.Delesky Fix to build warning for 3171970 #jira none Change 3172078 on 2016/10/24 by Michael.Dupuis #jira UE-37626 Fetch property node from property handle if there is no property editor Change 3172143 on 2016/10/24 by Jamie.Dale Line-break iterators will now avoid breaking words in Hangul The default behavior for wrapping Hangul is to use Western-style wrapping (where words are kept as-is) rather than East Asian-style (where words are broken by syllables). This behavior can be controlled by the Localization.HangulTextWrappingMethod CVar in-case you were dependant on the old behavior, but since modern Hangul uses spaces, the per-word wrapping is preferred by native speakers. Change 3172418 on 2016/10/24 by Michael.Dupuis Fixed Static Analysis error Change 3173389 on 2016/10/25 by Michael.Dupuis #jira UE-9284 Make the UI appear only on hover and change icons size Change 3173918 on 2016/10/25 by Alex.Delesky #jira UE-37753 - WidgetBlueprints saved without a root widget (e.g., by deleting the starting Canvas panel) will no longer set a Canvas panel as the root widget. New WidgetBlueprints will still contain a Canvas Panel when created. Change 3173966 on 2016/10/25 by Alex.Delesky #jira UE-20891 - SpinBox now receives MouseMove events while simulating touch events using the mouse. Change 3174847 on 2016/10/26 by Alex.Delesky #jira UE-36371 - Windowed Fullscreen will now expand to fit the entirety of the current window and will not be displaced when the Windows taskbar is docked on the top or left sides of the screen. Change 3174916 on 2016/10/26 by Alexis.Matte When re-importing fbx file, always log to the message log. #jira UE-37639 Change 3174940 on 2016/10/26 by Alex.Delesky Back out changelist 3174847 at request of platforms team. Was fixed on Main. Change 3174995 on 2016/10/26 by Matt.Kuhlenschmidt Import commandlet fixes - Fixed crash when source control could not be contacted - Fixed assets not importing correctly if they depended on other assets in a previous import group within the automated import Change 3175217 on 2016/10/26 by Alexis.Matte The FBX reimport animation code now return false if there was an error when importing #jira UE-37755 Change 3175728 on 2016/10/26 by Alexis.Matte Log a message when importing a skeletal mesh with more bone influence then the maximum supported #2875 #jira UE-37613 Change 3177997 on 2016/10/28 by Nick.Darnell Editor - Prevent re-entrant calls when EndPlayMap is called. Change 3178429 on 2016/10/28 by Nick.Darnell Engine - Bumping BaseEngine.ini to IOS_8, MinimumiOSVersion, as that is now the minimum allowed to fix an error on startup. Tweaking the location of where some importing files go when they're imported. Change 3179774 on 2016/10/31 by Matt.Kuhlenschmidt Guard against bad render targets in Slate RHI #jira UE-37905 Change 3179900 on 2016/10/31 by Matt.Kuhlenschmidt Added logging to track https://jira.it.epicgames.net/browse/UE-37900 #jira UE-37900 Change 3179920 on 2016/10/31 by Alex.Delesky Removing LODs from skeletal meshes is now a transacted action and can be undone. Related to UE-25591. #jira none Change 3179921 on 2016/10/31 by Alex.Delesky #jira UE-37725 - Adding safeguard against a potential crash in FTextureEditorViewportClient caused by a texture not having a valid texture resource Change 3180119 on 2016/10/31 by Alexis.Matte fbx importer avoid asset creation name clash #jira UE-35100 Change 3181905 on 2016/11/01 by Alexis.Matte Paint tool now allow users to paint on any vertex if they need it. #jira UE-8372 Change 3182355 on 2016/11/01 by Alexis.Matte We now support FBX LODs export for the asset exporter from the content browser. #jira UE-35302 Change 3183286 on 2016/11/02 by Alexis.Matte Make sure static mesh build settings are set properly when we re-import with different options. Specifically the normals, tangents and tangent space are dependent on the import options. #jira UE-37520 Change 3183567 on 2016/11/02 by Shaun.Kime #jira UE-38019 The Content Browser's View Options originally included both Engine and GameProject plugins only when clicking Show Plugin Content. Since there are quite a few Engine plugins, this produces quite a bit of content in the Folders panel. Most of the Engine plugins have classes or content that isn't really meant to be user-facing, so the experience of hunting for a game plugin-in's content is poor. The new behavior is that GameProject plugins are controlled by the "View Plugin Content" option. In order to see the Engine plugins you'll need both Engine Content and Plugin Content checkboxes enabled. By default, the editor should enable the "View Plugin Content" checkbox since it should be limited to just the content in the game's Plugins folder. Change 3184002 on 2016/11/02 by Jamie.Dale Fixed crash during TSF IME shutdown #jira UE-38073 Change 3185126 on 2016/11/03 by Shaun.Kime Some of the plugin templates define Editor specific plugins. If created and a Standalone build is run, the application will attempt to link in editor libraries in game mode and will run into issues when you hit any key. The fix is to specify an Editor module description for these plugins. Additionally, there appears to be a mismatch in pathing types when dealing with plugin path and GameDir. Plugin path is absolute and GameDir is relative by default. We check to see if the gameDir is a subset of the plugin path, but this fails due to the mismatch. The fix is to force both to be absolute (enforcing normalization of both paths as well). #jira UE-38065 #jira UE-37645 Change 3185278 on 2016/11/03 by Nick.Darnell UMG - Fixing some issues with HDPI mode in the widget designer. Change 3185355 on 2016/11/03 by Nick.Darnell UMG - Widget Component's Draw At Desired size now should also work correctly if it's in screenspace. Change 3185510 on 2016/11/03 by Nick.Darnell UMG - Restoring the ability of the Widget Component to directly recieve hardware input. The Widget Interaction Component is great for just about every interaction use case - the one it's not is when you actually want the 3D widgets to take focus, and to be able to be typed directly into by the user. The kind of situation where you might want to use them as a 3D menu, in a non-VR environment. By default - Widget Components will not behave in this manner, but you can now use the option bReceiveHardwareInput to enable the ability for Widget Components to function more like a widget in the screenspace of the viewport. Slate - The scene viewport now correctly takes scale into account when drawing the 'software cursor', this fixes an issue with HDPI mode, and the cursor not being restored to the same location after moving a gizmo. Change 3185514 on 2016/11/03 by Nick.Darnell UMG - Fixing some HDPI mode problems with widget position calculation when projecting world to viewport / screen, absolute spaces. Change 3185652 on 2016/11/03 by Nick.Darnell Slate - Exposing a cached version of the widget geometry that comes in during Tick. Also performed a bit of optimization work on the class to make some space for the geometry object we now cache, by compacting the pointer event delegates we were storing. Change 3185952 on 2016/11/03 by Nick.Darnell UMG - Fixing another build error relating to local widget geometry. Change 3185953 on 2016/11/03 by Nick.Darnell UMG - Fixing a mac compiler warning. Change 3186886 on 2016/11/04 by Matt.Kuhlenschmidt Fixed collapse all hiding everything in the settings editors #jira UE-38151 Change 3187014 on 2016/11/04 by Matt.Kuhlenschmidt Fixed new assets opening in a minimized window not restoring that window. Change 3187026 on 2016/11/04 by Shaun.Kime UUnrealEdEngine::edactDeleteSelected calls out to FBlueprintEditorUtils::FindActorsThatReferenceActor. This checks the entire world for each actor to be deleted. When you have tens of thousands of actors in the world and are deleting tens of thousands of actors, this can take minutes. This change amortizes the cost of finding the actor references once for the world and for each actor to be deleted, we query the cached list of references. This brings the deletion time down to seconds. #jira UE-38094 Change 3187073 on 2016/11/04 by Nick.Darnell Automation - Changing the code that writes out json to force no BOM as is the json standard. Change 3187113 on 2016/11/04 by Jamie.Dale Removed double look-up in UTextProperty::SerializeItem Change 3187114 on 2016/11/04 by Jamie.Dale Feedback context now uses culture correct percentage formatting Change 3187273 on 2016/11/04 by Alexis.Matte Fbx importer for static mesh, make sure that we order the materials array to follow the section order. Add also some fbx automation test #jira UE-38242 Change 3187276 on 2016/11/04 by Matt.Kuhlenschmidt Fix crash when an actor picker shows up in the struct editor. Structs do not have root property nodes #jira UE-38268 Change 3187463 on 2016/11/04 by Nick.Darnell Automation - Updating the blessed screenshots, and fixing the BOM issues with the json. Change 3188638 on 2016/11/07 by Shaun.Kime Making the UI for adding/removing parameters in custom blueprint functions behave similarly to the struct creation dialog in the content browser. There are no longer "New" buttons at the bottom of the panel and the parameter moving controls have been moved onto the main parameter row instead of being nested inside the collapse panel. A tooltip will now let you know the full parameter name and type when you hover over the editable name field. Made the move up/down icons more legible by increasing contrast between the arrow and the light grey background. #jira UE-38240 Change 3189056 on 2016/11/07 by Nick.Darnell Core/Editor - UObject::IsAsset() now returns false if the outermost package is RF_Transient. Also updating the creation of the transient package to be RF_Transient. This makes it so transient packages created by UMG or some other editor for things like previewing a streamed in level instance, no longer show up in the content browser. Change 3189147 on 2016/11/07 by Jamie.Dale Fixed potential race-condition where a UFont object could be GC'd while the loading screen was using the font cache This queues up the pending removal until it's safe to execute it (by a thread that fully owns Slate rendering). #jira UE-38309 Change 3189344 on 2016/11/07 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3189380 on 2016/11/07 by Matt.Kuhlenschmidt Guard against null object when creating details panel Change 3190017 on 2016/11/08 by Alexis.Matte FrontX support for scene importer #jira UETOOL-1061 Change 3190058 on 2016/11/08 by Matt.Kuhlenschmidt Fixed misaligned button in the new blueprint class dialog Change 3190086 on 2016/11/08 by Nick.Darnell UMG - Fixing the calculation for widget componets screen position if the camera aspect is constrained. Change 3190159 on 2016/11/08 by Nick.Darnell UMG - We no longer also take the platform DPI scale into account when applying UMG's UI scale. Since UMG already provides a DPI scaling system, compounding it with the native OSes produces undesirable results, since the DPI scale curve does not take into account some unknown platform scale set by a user. Change 3190161 on 2016/11/08 by Nick.Darnell UMG - UWidget is now Blueprintable. Improving some doc. Change 3190545 on 2016/11/08 by Alexis.Matte Support scaling when exporting skeleton (bind pose) to FBX #jira UE-36120 Change 3191614 on 2016/11/09 by Simon.Tourangeau Fix cooking crash after fbx import of a scene without meshes #jira UE-38264 Change 3191659 on 2016/11/09 by Simon.Tourangeau Cleanup Persona LOD section button layout #jira UE-38339 Change 3191882 on 2016/11/09 by Jamie.Dale Changed FBlackboardKeySelector::AddObjectFilter to use MakeUniqueObjectName so it generates more stable names, rather than relying on a static counter. Also updated FBlackboardKeySelector::AddClassFilter, FBlackboardKeySelector::AddEnumFilter, and FBlackboardKeySelector::AddNativeEnumFilter to use MakeUniqueObjectName to ensure they don't conflict. Change 3192092 on 2016/11/09 by Jamie.Dale Deleting some test assets that were accidentally checked in, some of which no longer load Change 3192281 on 2016/11/09 by Alex.Delesky #jira UE-31866 - Widget Blueprints will no longer experience compile issues when dragging widgets between the hierarchy views of different Widget Blueprints. Change 3192365 on 2016/11/09 by Shaun.Kime Adding support for MaterialParameterCollections to Slate UI objects. For reasons of Blueprint controls amongst other things, MPC's are owned by individual UWorlds and transferred over to their respective Scenes. Since we want the latest values from those in-UWorld representations, Slate needs to know about the Scene on the render thread to properly map the materials to their MPC inputs. This involved keeping Scene arrays synchronized between the game logic thread and render thread, and adding a Scene index field to each batched draw element in Slate. SceneViewports are now responsible for registering their associated Scenes with the SlateRenderer. Since RetainerBoxes also draw their content as well, they too need to register their Scenes. #jira UE-19022 Change 3192494 on 2016/11/09 by Alex.Delesky #jira UE-37829 - Dynamically changing an option in the style for an Editable Text Box or Multiline Editable Text Box will now update it correctly. Change 3193183 on 2016/11/10 by Alexis.Matte When doing FBX scene re-import, the new staticmesh asset was not mark as dirty. So the system was not saving the new asset. #jira UE-38450 Change 3193419 on 2016/11/10 by Alex.Delesky Fixing UnrealTournament build error in SUTChatEditBox #jira none Change 3193456 on 2016/11/10 by Alex.Delesky Fix to build warning C6011 in SWidgetHierarchyItem #jira none Change 3193704 on 2016/11/10 by Simon.Tourangeau Create Cinematic Camera when importing camera from fbx #jira UE-37764 Change 3194593 on 2016/11/11 by Nick.Darnell Slate - Fixing the window reshaping logic to avoid work if we don't need to do it, rather than external calls attempting to do the check (poorly). This appears to fix the problem with popup menus being slightly off in size, creating scrollbars. This also prevents constant reshaping of windows, due to people performing the wrong checks over and over, because they were comparing against non-truncated or rounded values against truncated/rounded values. Change 3194595 on 2016/11/11 by Nick.Darnell Slate - Simplifying the Menu Anchor popup code for new Windows, and correcting it so that it does not take non-DPI scale into account when calculating the size of the window. Otherwise, popup menus on say, the blueprint editor change size depending upon the scale of the area. Change 3194830 on 2016/11/11 by Richard.TalbotWatkin Optimized pasting brushes, so geometry is not constantly rebuilt for every brush that's added. This improves performance by a couple of orders of magnitude! #jira UE-38524 - Moving many brushes to another level is very slow Change 3194859 on 2016/11/11 by Alexis.Matte Fix fbx skeletal mesh cleanup material crash #jira UE-38525 Change 3195199 on 2016/11/11 by Nick.Darnell UMG - Updating the bindable widget searching code in sequencer to use the WidgetTree traversing code, instead of something custom. This fixes the issue where it wasn't finding widgets inside of named slots. #jira UE-38536 Change 3196579 on 2016/11/14 by Matt.Kuhlenschmidt Guard against rendering crashes when a mesh with no lod resources is opened. #jira UE-38520 Change 3196614 on 2016/11/14 by Nick.Darnell Slate - The ignore incoming scale option for the scale box should now behave as expected in more cases. It required modifying the GetRelativeLayoutScale function to also pass down the prepass scale, otherwise it can't extract out the incoming scale ahead of time before text is measured ahead of time. Change 3196624 on 2016/11/14 by Matt.Kuhlenschmidt PR #2927: UE-38473: Shadow outline color uses shadow color (Contributed by projectgheist) Change 3196770 on 2016/11/14 by Matt.Kuhlenschmidt Ensure instead of crash when updating the selection pivot if a component's actor is not selected (this is non fatal) #jira UE-38544 Change 3196863 on 2016/11/14 by Nick.Darnell Slate - Allowing font outline settings to be specified in native code when constructing a SlateFontInfo via a ctor. Change 3196900 on 2016/11/14 by Nick.Darnell Slate - Upgrading some cases that were using the older version of GetRelativeLayoutScale. Change 3196947 on 2016/11/14 by Matt.Kuhlenschmidt Guard against crashes in the details panel when an OS message causes the tree to refresh when a previous event has invalidate the contents of the details panel. #jira UE-36499, UE-38497 Change 3197028 on 2016/11/14 by Alexis.Matte Shift Drag is not moving the camera when the user is dragging the 3 axis in same time. #jira UE-38382 Change 3197167 on 2016/11/14 by Matt.Kuhlenschmidt Removed pivot updating code per frame for now. It changes on selection so I cant see a reason why it is needed every frame Change 3197227 on 2016/11/14 by Nick.Darnell UMG/Blueprint - Exposing a way to set the default schema a blueprint editor derivation uses. Updating all widget blueprints to finally use the WidgetGraphSchema. Change 3197239 on 2016/11/14 by Nick.Darnell UMG - Improving the ReceiveHardwareInput option to limit exposure of widgets to hit testing that did not register for it. Change 3197538 on 2016/11/14 by Nick.Darnell UMG - Making some progress on converting the schema over on load, now appear to correctly be loading it in time to be able to perform node conversions to convert older nodes to newer nodes. Required changing the UBlueprint interface to have a virtual for upgrading nodes, that could be overriden in WidgetBlueprint to make sure the schemas have all been updated, as Serialize is too early, and PostLoad is too late. Change 3198211 on 2016/11/15 by Matt.Kuhlenschmidt Guard against reimport factories being deleted while in use #jira UE-37577 Change 3198589 on 2016/11/15 by Alex.Delesky #jira UE-38527 - Curves editors will no longer crash when trying to scale to fit after resetting the curve to its default values. This also fixes an issue where selecting a key before resetting the curve to default would sometimes cause the timestamp to display for a now-invalid key. Change 3198783 on 2016/11/15 by Nick.Darnell The Widget Component's Allow Hardware Input should now correctly convert coordinates coming from a viewport scaled up by the OS DPI scaling code. Change 3198933 on 2016/11/15 by Jamie.Dale Changing the package localization ID used by a package now marks the package as dirty Change 3198942 on 2016/11/15 by Jamie.Dale Clearing the package localization ID used by a package now marks the package as dirty Change 3200241 on 2016/11/16 by Shaun.Kime Now allowing users to customize the Class Browser/Picker to filter out developer folders as well as hide internal use classes via INI settings. A ViewOptions button has been added to allow users to choose whether or not these filters are enabled. By default, internal only classes will be hidden and you will be limited to your own developer folder. Example change to DefaultEngine.ini or BaseEngine.ini to hide some classes as internal use [/Script/ClassViewer.ClassViewerProjectSettings] +InternalOnlyPaths=(Path="/Engine/VREditor") +InternalOnlyClasses=/Script/VREditor.VREditorBaseUserWidget The InternalOnlyPaths example will hide any classes in the VREditor folder or subfolders. The InternalOnlyClasses example will hide any classes that derive from VREditorBaseUserWidget. Both can be edited by the project settings UI so no manual INI tweaking is required. Please go to Project Settings->Class Viewer->Class Visibility Management #jira UE-38313 Change 3200621 on 2016/11/16 by Matt.Kuhlenschmidt Adding missing change needed post merge from main Change 3200968 on 2016/11/16 by Jamie.Dale Fixed localization gather including texts that were instanced or otherwise unchanged - It now uses the archetype when exporting to diff against the default property value, and will only gather text that has changed from the default. - UMG widgets that are instanced from another UMG asset now only gather overridden values, and skip all child instances. Change 3201033 on 2016/11/16 by Cody.Albert Fixed source control to properly notify when files need to be checked out if a blueprint node is dragged Change 3201829 on 2016/11/17 by Shaun.Kime Fixing issue where GEngine is null in early game loading, potentially causing a crash. Change 3201832 on 2016/11/17 by Matt.Kuhlenschmidt Fix build warning Change 3201835 on 2016/11/17 by Nick.Darnell Slate - Making it so explictly focusing a slate user that does not yet exist, creates the slate user so that the state is properly maintained in prepartion for that user's arrival / input. Change 3201947 on 2016/11/17 by Matt.Kuhlenschmidt Fix streaming pause rendering starting a movie if a movie was already playing Change 3202089 on 2016/11/17 by Nick.Darnell Editor - When replacing references, code that was added in 2729702, was allowing redirectors to be created that then might be abandoned and not renamed later if there was a collision on object name. There's no problem if two objects have the same name, as long as they have different paths (except for classes). So now the code records object paths in a seperate set, and avoids reprocessing / and creating multiple redirectors for the same objects, instead of just using object name. Change 3202139 on 2016/11/17 by Jamie.Dale Fix for adjusting text spacing when lines are removed from TextLayouts Change 3202398 on 2016/11/17 by Cody.Albert Updated UMG Sequencer to properly fire events once per loop Change 3202591 on 2016/11/17 by Shaun.Kime Fixing coding standards violations. Change 3202744 on 2016/11/17 by Shaun.Kime StaticMeshComponent's OverriddenLightMapRes current displays the value it was set to, even when the bOverrideLightMapRes is false. The behavior within UStaticMeshComponent::GetLightMapResolution is to use the LightMapResolution on the StaticMesh member instead when bOverrideLightMapRes is false. The UI was adjusted to reflect the more accurate behavior. #jira UE-38315 Change 3203009 on 2016/11/17 by Alex.Delesky Backing out changelist 3170522 per request #jira UE-33031 Change 3204077 on 2016/11/18 by Nick.Darnell Automation - Updating several bits of the screenshot automation piece to work a bit better, show names if we have them, and show preview dialogs for images. Change 3204086 on 2016/11/18 by Jamie.Dale Added FGCObjectScopeGuard and TStrongObjectPtr as a convenient way to keep a UObject alive without having to add it to the root-set Both use FGCObject internally to reference the object and keep it alive. FGCObjectScopeGuard is designed to be lean and used as a guard for an existing pointer, whereas TStrongObjectPtr is more "full-fat" and designed to be a replacement for a raw-pointer. You should prefer FGCObjectScopeGuard where possible. Also note that TStrongObjectPtr isn't supported by UHT/UPROPERTY as you should just use a raw-pointer in that case (it would do the same thing). Change 3204189 on 2016/11/18 by Alex.Delesky Removing content from dev folder Change 3204205 on 2016/11/18 by Jamie.Dale Fix for being unable to delete folders that still have sub-folders in the Content Browser #jira UE-38752 Change 3204270 on 2016/11/18 by Simon.Tourangeau Fix StaticMesh socket reimports - socket transforms are now updated correctly on reimport - deleted socket from source will be removed on reimport - fix SocketManager refresh after import #jira UE-38195 Change 3204283 on 2016/11/18 by Alex.Delesky #jira UE-38314 - Undoing a change in the Preview Scene Viewer in Static Mesh Editor will now properly update changes within the scene itself. Change 3205757 on 2016/11/21 by Jamie.Dale PR #2923: Slate: Fixed bug where NumCharactersInGlyph was set incorrectly for TAB characters (Contributed by pluranium) Change 3205759 on 2016/11/21 by Matt.Kuhlenschmidt PR #2958: Handle legacy Windows exe icon location (Contributed by projectgheist) Change 3205816 on 2016/11/21 by Matt.Kuhlenschmidt PR #2956: Add plane to basicshapes (Contributed by tommybear) Change 3205831 on 2016/11/21 by Jamie.Dale Speculative fix for UE-38492 This guards against null objects being passed to FAssetDeleteModel, as well as objects that become null due to the GC that happens in FAssetDeleteModel. #jira UE-38492 Change 3205869 on 2016/11/21 by Alex.Delesky #jira UE-38227 - Trying to transform a component on a blueprint while a spline mesh actor has the transform gizmo active in the editor will no longer modify the spline mesh actor Change 3205873 on 2016/11/21 by Alex.Delesky #jira UE-38379 - When editing a row in the data table, clicking on a different row before committing changes will now switch to that row. This also fixes the issue of data tables constantly regenerating cell widgets on data changes. Should also address the issue mentioned in #jira UE-32965 Change 3205954 on 2016/11/21 by Shaun.Kime Reverting changes from 3202744 that allowed override properties to show up as real properties in the list. There are several detail panel customizations that don't deal with this properly and rather than force everyone to upgrade, we'll just modify the static mesh detail customization to do the work. #jira UE-38315 Change 3205965 on 2016/11/21 by Alex.Delesky #jira UE-38749, UE-38755 - Space and Enter should now fire button OnClicked events when a button is focused PR #2942 Change 3207157 on 2016/11/22 by Chris.Wood Added UnrealWatchdog tool, run by the Editor, to improve abnormal shutdown tracking. [UE-32952] - Watchdog - Show CRC when reporting abnormal shutdowns in internal builds Change 3207344 on 2016/11/22 by Matthew.Griffin Added UnrealWatchdog to the Binary Release Change 3207396 on 2016/11/22 by Ben.Marsh Add UnrealWatchdog to UGS precompiled binaries for Odin and Orion. Change 3207418 on 2016/11/22 by Matt.Kuhlenschmidt Redid blur changes from Paragon Dev-General Blur widget updates - Renamed to SBackgroundBlur/UBackgroundBlur - Split SBackgroundBlur out into its own file - Added bApplyAlphaToBlur - when true, the strength of the blur is modulated by the widget alpha - Updated BlurRadius to be TOptional, so we auto-calculate radius when it isn't set - Added a UBackgroundBlurSlot, but left it unattached so it can be done in dev-editor (and update based on the engine version) - Updated OrionBlurWidget to export dll symbols and set up default low quality fallback image Change 3207443 on 2016/11/22 by Chris.Wood Fix CIS error on Mac from my change CL 3207157 Change 3207702 on 2016/11/22 by Matt.Kuhlenschmidt Added missing files Change 3207958 on 2016/11/22 by Matt.Kuhlenschmidt Guard against crash clearing scenes from the slate RHI renderer during movie loading code. Change 3207962 on 2016/11/22 by Matt.Kuhlenschmidt Added a guard against the rendering thread timing out while on a breakpoint by checking if the debugger is present before performing the timeout check Change 3208194 on 2016/11/22 by Matt.Kuhlenschmidt Actually call correct method of checking for a debugger Change 3209139 on 2016/11/23 by Cody.Albert Adding support for "Show Only Modified Properties" filter to DetailWidgetRow Change 3209206 on 2016/11/23 by Jamie.Dale Moving folders now removes the old folder from disk if it's empty This had already been done for deleting folders, but moving them was missed. #jira UE-11796 Change 3209281 on 2016/11/23 by Jamie.Dale PR #2932: Fix crash while updating cursor highlight (Contributed by nakosung) Change 3210383 on 2016/11/25 by Chris.Wood Documented Crash Report Client analytics events [UE-32787] - Document Crash Report Client analytics events in code Change 3210385 on 2016/11/25 by Alexis.Matte Make sure the combine mesh option of the staticmesh import is stored in staticmeshimportdata so the re-import know if it must re-import in combined or not #jira UE-38925 Change 3210983 on 2016/11/28 by Matt.Kuhlenschmidt Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor) Change 3211001 on 2016/11/28 by Matt.Kuhlenschmidt Fix build errors Change 3211009 on 2016/11/28 by Matt.Kuhlenschmidt PR #2960: Git plugin: multiline initial commit message and other connect screen cleanup (Contributed by SRombauts) Change 3211017 on 2016/11/28 by Matt.Kuhlenschmidt Fix ATSC texture compression quality tooltip #jira UE-38996 Change 3211045 on 2016/11/28 by Matt.Kuhlenschmidt Fix compile errors Change 3211081 on 2016/11/28 by Matt.Kuhlenschmidt Fix post process anim blueprints on skeletal meshes not being clearable #jira UE-39017 Change 3211094 on 2016/11/28 by Matt.Kuhlenschmidt Added more logging for jira UE-39000 #jira UE-39000 Change 3211284 on 2016/11/28 by Matt.Kuhlenschmidt Redid fix for UE-35822 in dev-editor Change 3211544 on 2016/11/28 by Matt.Kuhlenschmidt Fix deprecation warning Change 3211769 on 2016/11/28 by Matt.Kuhlenschmidt Disable motion blur in editor views by default #jira 38424 Change 3211776 on 2016/11/28 by Matt.Kuhlenschmidt Fix PS4 compile errors Change 3211949 on 2016/11/28 by Matt.Kuhlenschmidt Details panels changes - Added the ability to create groups within groups in details panel customizations - Added the ability for struct customizations to add categories to the parent Change 3211954 on 2016/11/28 by Matt.Kuhlenschmidt Reorganized the post process settings so they appear as categories in the parent and so that they have better categories to make it clear what all the settings do. Change 3213158 on 2016/11/29 by Jamie.Dale Updated User Defined Enum display names to use real FText instances so they can have stable keys This avoids the issue where the FText display names were cached from an FString, resulting in them having a different identity each time they were re-cached, which lead to localization and deterministic cooking issues. User Defined Enums no longer use meta-data to store their display names, and instead use a TMap in UUserDefinedEnum to map the raw enum entry name to its friendly display name. In addition to this, the enum editor has been updated to use STextPropertyEditableTextBox, which will keep the keys used by the display names stable where possible (allowing for delta-localization and historic tracking). #jira UE-26274 Change 3213172 on 2016/11/29 by Jamie.Dale Adding experimental support for content hot-reloading The underlying support for this is in CoreUObject (see ReloadPackage and ReloadPackages in UObjectGlobals.h/.cpp), with editor specific support being added via PackageTools::ReloadPackages, and also hooks registered with FCoreUObjectDelegates::OnPackageReloaded (eg, UEditorEngine::HandlePackageReloaded). The basic workflow for package reloading is as follows: 1) The current package is renamed, and the RF_NewerVersionExists flag is added to it and all its sub-objects. 2) The new package is loaded. Should this fail the old package is renamed back, and the RF_NewerVersionExists flag is removed. 3) We generate a mapping between objects in the old package and objects in the new package (see UObject::BuildSubobjectMapping). 4) We enumerate every object in memory, and fix-up any serialized or ARO object pointers referencing something from the old package, to reference the equivalent object from the new package (or null if no object could be found). 5) We run a GC, and verify that the old package was purged (printing any lingering references if it wasn't). For efficiency reasons package reloading may be run in batches (the editor uses batches of 500), as this allows package reloading to happen faster (as the reference fix-up and GC only happens once per-batch) at the cost of consuming more memory. In-editor there is an experimental setting to enable content hot-reloading. When this is enabled the SCC operations in the Content Browser will use content hot-reloading, rather than attempt to unload the reload the package as separate operations (which often fails). In order to allow the external SCC program to overwrite the files on disk, the linkers are detached from any packages that will be replaced prior to invoking the internal SCC operation. Change 3213428 on 2016/11/29 by Jamie.Dale Implemented clamping on FTextInputMethodContext::SetSelectionRange to fix an issue where composition could provide an invalid range if the text was changed while composing #jira UE-37746 Change 3213442 on 2016/11/29 by Jamie.Dale Workaround for a bug in TSF based MS IMEs on Windows 8+ They omit calling GetSelection and instead expect QueryInsert to return the current selection range. This also seems to fix an issue where composition no longer worked once some text had been deleted. #jira UE-37309 Change 3213603 on 2016/11/29 by Cody.Albert Changed PanelWidget::RemoveChildAt to not release slate resources if the child is a UserWidget #jira UE-39106 Change 3213633 on 2016/11/29 by Matt.Kuhlenschmidt Attempt to fix includetool cis warning Change 3215159 on 2016/11/30 by Jamie.Dale Fixing MakeShared forward declaration Change 3215220 on 2016/11/30 by Alex.Delesky #jira UE-38698 - Deleting a widget from the Widget Blueprint Hierarchy (or adding a new widget to the hierarchy directly) will no longer cause the scroll bar to return to the top of the hierarchy view. Change 3215390 on 2016/11/30 by Jamie.Dale Maps now end a hot-reload batch Change 3215394 on 2016/11/30 by Matt.Kuhlenschmidt Updating guard to track down worlds that have no package as an outer #jira UE-35712 Change 3215500 on 2016/11/30 by Alexis.Matte Color grading widget customization #jira UETOOL-1070 Change 3215519 on 2016/11/30 by Jamie.Dale Fixed crash caused by using TextNamespaceUtil::EnsurePackageNamespace in 'game' mode Change 3215556 on 2016/11/30 by Cody.Albert Fixed issue where check-out toast would not disappear #jira UE-39146 Change 3215585 on 2016/11/30 by Jamie.Dale Adding an explicit ESPMode to MakeShared to try and placate Android Change 3215737 on 2016/11/30 by Alexis.Matte Fix build warning Change 3215748 on 2016/11/30 by Matt.Kuhlenschmidt Guard against crashes due to duplicate items in the scene outliner if actors somehow end up attached to themselves #jira UE-35935 Change 3215758 on 2016/11/30 by Ben.Marsh Add a 'Custom...' build type for Dev-Editor. Change 3216183 on 2016/11/30 by Alexis.Matte Fix win32 build error Change 3216362 on 2016/11/30 by Matt.Kuhlenschmidt Fix mac build error. Change 3216828 on 2016/12/01 by Jamie.Dale Fixing MakeShared on Android #jira UE-39204 Change 3216839 on 2016/12/01 by Matt.Kuhlenschmidt PR #2997: Spelling fix for Actor.h's description of bEnableAutoLODGeneration. (Contributed by hgamiel) Change 3216842 on 2016/12/01 by Matt.Kuhlenschmidt Remove the ensure when pushing absolute transforms onto a canvas matrix stack. We can handle this properly now by just adding the transform to the stack if the stack is empty #jira UE-36496 Change 3216874 on 2016/12/01 by Matt.Kuhlenschmidt Fix a number of keybindings problems - Removed editor keybindings from project settings. It should not have been in there (already in editor settings) - Removed duplicate registration of editor keybindings from editor settings - Fixed memory leak regenerating keybinding widgets when ending PIE world. - Cleaned up styling a bit to make keybindings widgets clearer. #jira UE-39211, UE-38718 Change 3216881 on 2016/12/01 by Shaun.Kime Added support for reroute nodes to the material editor. These nodes should function identically to their counterparts in Blueprints. A new UMaterialExpression, UMaterialExpressionReroute has been added. It inserts no HLSL code, and instead just moves along its input to find the real UMaterialExpression that it is ultimately bound to. Since the material system serializes its data as UMaterialExpressions, a more generalized approach across graph types isn't available as only the visual UI layer is shared between blueprints and material graphs. Also modified the material palette and popup material expression menu to allow for c++ based material name and description customization. If we choose to expand this, it would make the C++ material nodes more discoverable and understandable. Manually pulled in CL 3200823 and 3208490 to get bugfixes around material attribute usage. Adding an reroute node should function identically to Blueprints (ie double-click on connection to add or Utility\Add Reroute Node from palette). You should be able to add as many reroute nodes as you want in a chain. A reroute node that only has a connected output and not an input should behave as if there were no reroute node present (i.e. triggering constants on Add). It should be possible to use reroute nodes between any two supported node types if they are connectable in isolation. Where possible, we should show the same type mismatch errors that you'd see if connecting nodes directly (ie dragging a boolean constant into a reroute node connected to an Add should result in a Float/Bool mismatch). A reroute node is purely visual, it should have no impact on the final instruction count. In the event that an incomplete reroute input was completed by dragging to an invalid type, I tried to guarantee that the compiler would generate the appropriate errors. This can happen because we only know the inputs to a given node in code. If a reroute node doesn't have an input, it does not know what type it should be. However, the compiler should still detect these bad cases and error out. #jira UE-6882 Change 3216968 on 2016/12/01 by Jamie.Dale Syncing via source control now unloads (rather than reloads) packages that have been deleted from disk Change 3216970 on 2016/12/01 by Jamie.Dale Reverting files now uses hot-reloading (if enabled) Change 3217233 on 2016/12/01 by Jamie.Dale You can now choose to reload dirty packages via content hot-reloading This will revert any in-memory changes to the asset, which may be useful when you want to roll it back to its initial state without restarting the editor. Change 3217244 on 2016/12/01 by Matt.Kuhlenschmidt WindowsMoviePlayer: Initialize the movie player texture on first frame regardless of whether or not the decoder has a sample ready. This prevents a white texture from showing up for a frame. Change 3217466 on 2016/12/01 by Jamie.Dale Fixed a bug where FTextFormatData::ConditionalCompile_NoLock would always compile the text even if it was up-to-date Change 3217572 on 2016/12/01 by Jamie.Dale Using FText::Format with an invalid argument no longer strips any associated argument modifier data from the resultant formatted text Change 3217688 on 2016/12/01 by Jamie.Dale Fixed crash reloading the active world package when it was dirty #jira UE-39250 Change 3217978 on 2016/12/01 by Matt.Kuhlenschmidt Fixed crash where the slate renderer holds into scenes during maps are loaded causing access to deleted data after the load is complete. We clean up cached scenes each frame but if slate doesnt tick the scenes are not cleaned up. This change moves the CleanupScenes code to a location that is called each tick and during map loads #jira UE-39243 Change 3218834 on 2016/12/02 by Alexis.Matte move some scene conversion import fbx options to staticmesh, skeletalmesh and animation import data so the re-import will have acces to those import options #jira UE-38672 Change 3218838 on 2016/12/02 by Matt.Kuhlenschmidt Fixed editing static mesh settings manually in the details panel not visually refreshing the collision primitives #jira UE-39246 Change 3218864 on 2016/12/02 by Matt.Kuhlenschmidt Fixed basic cube shape having a convex hull instead of a box for collision Change 3218900 on 2016/12/02 by Matt.Kuhlenschmidt Move static mesh collision properties to the collision category Change 3219143 on 2016/12/02 by Michael.Dupuis #jira UE-39124 We can now place single mesh at a time #jira UE-39125 We can paint on the current level of the level containing the mesh we're painting on Change the way GetRandomVectorInBrush generate the Start/end position to use the BrushNormal instead of the BrushDirection Change 3219199 on 2016/12/02 by Matt.Kuhlenschmidt Fixed a crash when changing Physical Surface Name and reassigning it on a physical material that uses it #jira UE-37452 Change 3219358 on 2016/12/02 by Alexis.Matte Fix fbx automation tests Change 3219362 on 2016/12/02 by Alexis.Matte Support for MAX multisub material #jira UE-38467 #jira UE-38471 Change 3219774 on 2016/12/02 by Jamie.Dale PR #2888: Add a setting to allow the Sources Panel to expand by default (Contributed by BhaaLseN) Change 3219793 on 2016/12/02 by Jamie.Dale SWindow now restores focus back to the widget that last had focus when it was deactivated #jira UE-38965 Change 3221272 on 2016/12/05 by Matt.Kuhlenschmidt UI background blur tweaks - Adjust the downsample amount for lower kernel sizes - Flush post process memory used by the blur when switching levels Change 3221273 on 2016/12/05 by Matt.Kuhlenschmidt Added guards against accesing scene caching methods of the slate resource manager on the rendering thread Change 3221392 on 2016/12/05 by Matt.Kuhlenschmidt Added basic support for playing safe movies very early in the engine startup sequence. A movie is considered safe to play very early if it is just a movie file and not some complex slate based UI loading screen no platform actually supports this yet as none of the movie streamer modules are loaded early enough and many platforms cant render this early Set PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK to 1 for your platform if it supports early loading Change 3221831 on 2016/12/05 by Jamie.Dale Fixed UNumericProperty::ReadEnumAsUint8 not considering enum redirects when resolving the name Change 3221986 on 2016/12/05 by Jamie.Dale Added an "Inline" font loading method This can be used in a cooked build to store the font data within the Font Face asset itself (rather than a separate .ufont file) in order to guarantee a hitch free load, at the cost of potentially using more memory up-front. The existing "PreLoad" loading method has been renamed to "LazyLoad" to better reflect what it actually does. This also fixes a bug where FFontData::Serialize could try and use the referenced Font Face asset before it had been fully loaded. Change 3222065 on 2016/12/05 by Jamie.Dale Added log warning to detect hitches when lazily loading fonts Change 3222225 on 2016/12/05 by Jamie.Dale Fixing style-set typo #jira UE-39333 Change 3223169 on 2016/12/06 by Matt.Kuhlenschmidt Fix autosaving prompting to check out built data if the built data asset was dirty during autosave #jira UE-39295 Change 3223184 on 2016/12/06 by Alexis.Matte Support LOD group and combine mesh #jira UE-1088 Change 3223212 on 2016/12/06 by Alex.Delesky #jira UE-39260 - TMap and TSet struct values should now be editable when editing a component's properties. Change 3223215 on 2016/12/06 by Alex.Delesky #jira UE-38594 - The Widget Interaction Component will now default to tick while paused. Widget Components now contain a flag that will either allow or disallow interacting with them while the game is paused, which defaults to false. Change 3223249 on 2016/12/06 by Matt.Kuhlenschmidt Added back in missing code that was lost in a merge Change 3223271 on 2016/12/06 by Alex.Delesky #jira UE-38786 - The Color Picker will no longer stretch across the screen when exceptionally long strings are either entered or pasted inside one of the spin boxes. This also fixes an issue with editable text fields not validating string input on paste and will now prevent invalid data from being pasted inside a editable text block (e.g., pasting the string "I am a float" inside a spin box). Change 3223275 on 2016/12/06 by Matt.Kuhlenschmidt Fixed a race condition in WEX where the loading screen would render an external UI window that was referencing deleted materials Change 3223276 on 2016/12/06 by Alexis.Matte Staticmesh socket fbx import. #jira UE-38284 Change 3223363 on 2016/12/06 by Alexis.Matte Reimport must ask for missing file when re-importing a old asset that has no source files #jira UE-39356 Change 3223423 on 2016/12/06 by Chris.Wood Added option to place canvas panel children in same layer using explicit ZOrder setting. [UETOOL-935] - Figure out a solution for canvas panel batching Change 3223551 on 2016/12/06 by Alexis.Matte UI mesh paint optimization, the slider now do not destroy the paint geometry adapter if the painted LOD has not change #jira UE-39383 Change 3223844 on 2016/12/06 by Matt.Kuhlenschmidt Back out change to change the defaults on vector and scalar expressions because this affects existing expressions that have not overridden the default Change 3223880 on 2016/12/06 by Matt.Kuhlenschmidt Update doc links for maps and sets Change 3224746 on 2016/12/07 by Michael.Dupuis #jira UE-39409 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras #jira UE-39410 : Was'nt calling EndFoliageBrushTrace causing the transaction to never finish causing both jiras Change 3224826 on 2016/12/07 by Michael.Dupuis #jira UE-39095 : If a tool is active we simply consider inputs as handled to prevent this kind of behavior Change 3224827 on 2016/12/07 by Simon.Tourangeau Improve search for material match on fbx mesh import - Add option to specify material search locations on mesh import - On Import it will now perform a first match material search in the following order (suppose we are importing into /Game/Content/Assets/Meshes/MyMesh) - Using Local as a search location will provide same behavior as before (search non recursively in /Game/Content/Assets/Meshes) - If option is UnderParent or more, search recursively in destination folder (search recursively in /Game/Content/Assets/Meshes) - If option is UnderParent or more, then recursively from parent folder (search recursively in /Game/Content/Assets) - If option is UnderRoot or more, search recursively from root folder (search recursively in /Game) - If option is AllAssets, search in every asset folder (Search recursively everywhere) #jira UE-39020 Change 3224989 on 2016/12/07 by Chris.Wood Fixed black callstack text in CrashReportClient. [UE-38987] - CrashReportClient Callstack text is rendering Black Change 3225142 on 2016/12/07 by Jamie.Dale Added collapsing methods when exporting text for translation You can now choose how to collapse your text for translation from three export modes: - ELocalizedTextCollapseMode::IdenticalTextIdAndSource - Collapse texts with the same text identity (namespace + key) and source text (default 4.15+ behavior). - ELocalizedTextCollapseMode::IdenticalPackageIdTextIdAndSource - Collapse texts with the same package ID, text identity (namespace + key), and source text (4.14 behavior). - ELocalizedTextCollapseMode::IdenticalNamespaceAndSource - Collapse texts with the same namespace and source text (legacy pre-4.14 behavior). The new default allows you to re-use the same text identity in different packages without having to translate the same text multiple times, and you can also now opt to get back to the legacy pre-4.14 behavior of collapsing all identical texts within the same namespace (in case you were reliant on that behavior). You can change this setting via the Localization Dashboard, or add it to your gather configs as "LocalizedTextCollapseMode" (this needs to go into any configs that deal with exporting or importing PO files - the default if nothing is specified is "ELocalizedTextCollapseMode::IdenticalTextIdAndSource"). Change 3225509 on 2016/12/07 by Simon.Tourangeau Static analysis fix, false positive Change 3225859 on 2016/12/07 by Matt.Kuhlenschmidt Fix broken physical surface details customization - Scrolling now works properly - Edit boxes dont change size while editing - properly checks out or makes file writable once an edit has been made #jira UE-39279 Change 3226840 on 2016/12/08 by Jamie.Dale Fixing a bug in FText formatting where it would ignore the rebuild and Rebuild as Source arguments for the format string itself #jira OPP-6485 Change 3226940 on 2016/12/08 by Alexis.Matte Avoid changing the W value when playing with the color grading wheel. #jira UE-39473 Change 3227814 on 2016/12/08 by Matt.Kuhlenschmidt Temp disable lazy load font warnings to prevent infinite recursion crashes at startup Change 3228010 on 2016/12/08 by Matt.Kuhlenschmidt Fix for iOS compiling Change 3228597 on 2016/12/09 by Jamie.Dale Removed hard dependency between UFont and UFontFace during struct serialization as it doesn't work with the EDL #jira UE-39529 Change 3228607 on 2016/12/09 by Jamie.Dale Fixed infinite recursion caused by logging while the output log font was still being loaded #jira UE-39523 Change 3228770 on 2016/12/09 by Jamie.Dale Fixed UUserDefinedEnum::GetEnumText it was using GetNameByIndex (which includes C++ scoping), rather than GetEnumName (which doesn't). This was causing all name look-ups to fail. #jira UE-39531 Change 3228785 on 2016/12/09 by Matt.Kuhlenschmidt Fix static analysis warning [CL 3229477 by Matt Kuhlenschmidt in Main branch]
2016-12-09 15:05:28 -05:00
ULevelViewportToolBarContext* ContextObject = NewObject<ULevelViewportToolBarContext>();
ContextObject->LevelViewportToolBarWidgetConst = SharedThis(this);
FToolMenuContext MenuContext(CommandList, MenuExtender, ContextObject);
return UToolMenus::Get()->GenerateWidget(MenuName, MenuContext);
}
void SLevelViewportToolBar::FillShowMenu(UToolMenu* Menu) const
{
const FLevelViewportCommands& Actions = FLevelViewportCommands::Get();
{
{
FToolMenuSection& Section = Menu->AddSection("UseDefaultShowFlags");
Section.AddMenuEntry(Actions.UseDefaultShowFlags);
}
FShowFlagMenuCommands::Get().BuildShowFlagsMenu(Menu);
FText ShowAllLabel = LOCTEXT("ShowAllLabel", "Show All");
FText HideAllLabel = LOCTEXT("HideAllLabel", "Hide All");
FLevelEditorViewportClient& ViewClient = Viewport.Pin()->GetLevelViewportClient();
const UWorld* World = ViewClient.GetWorld();
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportEditorShow", LOCTEXT("EditorShowHeader", "Editor"));
// Show Volumes sub-menu
{
TArray< FLevelViewportCommands::FShowMenuCommand > ShowVolumesMenu;
// 'Show All' and 'Hide All' buttons
ShowVolumesMenu.Add(FLevelViewportCommands::FShowMenuCommand(Actions.ShowAllVolumes, ShowAllLabel));
ShowVolumesMenu.Add(FLevelViewportCommands::FShowMenuCommand(Actions.HideAllVolumes, HideAllLabel));
// Get each show flag command and put them in their corresponding groups
ShowVolumesMenu += Actions.ShowVolumeCommands;
Section.AddSubMenu("ShowVolumes", LOCTEXT("ShowVolumesMenu", "Volumes"), LOCTEXT("ShowVolumesMenu_ToolTip", "Show volumes flags"),
FNewToolMenuDelegate::CreateStatic(&FillShowMenuStatic, ShowVolumesMenu, 2), false, FSlateIcon(FAppStyle::Get().GetStyleSetName(), "ShowFlagsMenu.SubMenu.Volumes"));
}
// Show Layers sub-menu is dynamically generated when the user enters 'show' menu
if (!UWorld::IsPartitionedWorld(World))
{
Section.AddSubMenu("ShowLayers", LOCTEXT("ShowLayersMenu", "Layers"), LOCTEXT("ShowLayersMenu_ToolTip", "Show layers flags"),
FNewToolMenuDelegate::CreateStatic(&SLevelViewportToolBar::FillShowLayersMenu, Viewport), false, FSlateIcon(FAppStyle::Get().GetStyleSetName(), "ShowFlagsMenu.SubMenu.Layers"));
}
// Show Sprites sub-menu
{
TArray< FLevelViewportCommands::FShowMenuCommand > ShowSpritesMenu;
// 'Show All' and 'Hide All' buttons
ShowSpritesMenu.Add(FLevelViewportCommands::FShowMenuCommand(Actions.ShowAllSprites, ShowAllLabel));
ShowSpritesMenu.Add(FLevelViewportCommands::FShowMenuCommand(Actions.HideAllSprites, HideAllLabel));
// Get each show flag command and put them in their corresponding groups
ShowSpritesMenu += Actions.ShowSpriteCommands;
Section.AddSubMenu("ShowSprites", LOCTEXT("ShowSpritesMenu", "Sprites"), LOCTEXT("ShowSpritesMenu_ToolTip", "Show sprites flags"),
FNewToolMenuDelegate::CreateStatic(&FillShowMenuStatic, ShowSpritesMenu, 2), false, FSlateIcon(FAppStyle::Get().GetStyleSetName(), "ShowFlagsMenu.SubMenu.Sprites"));
}
// Show 'Foliage types' sub-menu is dynamically generated when the user enters 'show' menu
{
Section.AddSubMenu("ShowFoliageTypes", LOCTEXT("ShowFoliageTypesMenu", "Foliage Types"), LOCTEXT("ShowFoliageTypesMenu_ToolTip", "Show/hide specific foliage types"),
FNewToolMenuDelegate::CreateStatic(&SLevelViewportToolBar::FillShowFoliageTypesMenu, Viewport), false, FSlateIcon(FAppStyle::Get().GetStyleSetName(), "ShowFlagsMenu.SubMenu.FoliageTypes"));
}
}
}
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
EVisibility SLevelViewportToolBar::GetViewModeOptionsVisibility() const
{
const FLevelEditorViewportClient& ViewClient = Viewport.Pin()->GetLevelViewportClient();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
if (ViewClient.GetViewMode() == VMI_MeshUVDensityAccuracy || ViewClient.GetViewMode() == VMI_MaterialTextureScaleAccuracy || ViewClient.GetViewMode() == VMI_RequiredTextureResolution)
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
{
return EVisibility::SelfHitTestInvisible;
}
else
{
return EVisibility::Collapsed;
}
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3169859) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3154832 on 2016/10/07 by Rolando.Caloca DR - vk - Fix crash on framebuffers with missing textures Change 3154838 on 2016/10/07 by Rolando.Caloca DR - vk - Enable clip distance Change 3154840 on 2016/10/07 by Rolando.Caloca DR - Remove branch per codereview Change 3155118 on 2016/10/07 by Rolando.Caloca DR - vk - Compute pipeline fixes Change 3155129 on 2016/10/07 by Rolando.Caloca DR - Added draw events for reflection captures Change 3155167 on 2016/10/07 by Rolando.Caloca DR - Use shader clear for platforms that can't use viewport or scissor Change 3155168 on 2016/10/07 by Rolando.Caloca DR - vk - Added submit gpu - Some fixes for Geometry and Compute Change 3155595 on 2016/10/07 by Rolando.Caloca DR - vk - Use new render pass system Change 3155720 on 2016/10/07 by Rolando.Caloca DR - vk - static analysis fix Change 3155732 on 2016/10/07 by Rolando.Caloca DR - Fix clears for platforms that can't use viewports, excluderects or scissor on clear Change 3156787 on 2016/10/10 by Rolando.Caloca DR - Fix mem leaks Change 3156805 on 2016/10/10 by Rolando.Caloca DR - Improve check msg per licensee Change 3156815 on 2016/10/10 by Rolando.Caloca DR - Fix infinite recursion Change 3157041 on 2016/10/10 by Rolando.Caloca DR - vk - Fix key access from multiple threads Change 3158253 on 2016/10/11 by Rolando.Caloca DR - Fix comment #jira UE-37128 PR #2852 Change 3158606 on 2016/10/11 by Rolando.Caloca DR - vk - Accessors Change 3160418 on 2016/10/12 by Daniel.Wright Lightmap textures are now outered to UMapBuildDataRegistry so that the UMapBuildDataRegistry can be moved in the content browser Change 3160644 on 2016/10/12 by Arne.Schober DR - [UE-32613] - OpenGL used to have custom code in the compiler to modify the source so that the same data and matricies can be used as DirectX, unfortunately that causes precission problem. Fortunately there is an extension available (glClipControl) which enables DirectX behaviour in OpenGL and it is widely supported. We only tested Linux and Windows and therfore only default enable on those platforms. Change 3161219 on 2016/10/13 by Luke.Thatcher [RENDERING] [!] Fix incorrect shader used in GPU Benchmark causing crash in OpenGL. Change 3161838 on 2016/10/13 by Daniel.Wright Fixed level getting added to the dirty list twice when legacy lightmaps are present Change 3161884 on 2016/10/13 by Arne.Schober DR - Fix Mac and DCC build Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3162491 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3162397: More fixed type-casting on material attributes. Swapped compiler::forcecast booleans to flags (and fixed a regression). Change 3163266 on 2016/10/14 by Daniel.Wright Fixed sublevels with legacy lighting data being added to the dirty packages list redundantly Change 3163524 on 2016/10/14 by Mark.Satterthwaite Bring over specific changes from Unicorn branch that increases the size of shader optional data so that it is considerably more useful. Change 3163529 on 2016/10/14 by Mark.Satterthwaite Move the Metal shader source code and compilation path into the newly enlarged shader optional data. Change 3163553 on 2016/10/14 by Mark.Satterthwaite Speculative fix for FORT-31590 also seen by a licensee - the Metal command buffer handler will be called from a dispatch queue thread that won't be registered with the stats system. #jira FORT-31590 Change 3163562 on 2016/10/14 by Mark.Satterthwaite Tidy up and extend the Metal debugging options: - Added rhi.Metal.BufferScribble which when enabled will fill freed buffer regions with 0xCD to help identify any areas where we are writing to a buffer while it is still being processed on the GPU. - Added rhi.Metal.BufferZeroFill which will zero-fill newly allocated buffer regions before any other data is read/written. Useful for catching cases where we might be reading uninitialised memory. - Added rhi.Metal.ResourcePurgeOnDelete which will purge the backing store of resources prior to releasing them back to the system or the respective pool. This will make any use-after-free conditions much more likely. - Added rhi.Metal.ResourceDeferDeleteNumFrames to defer releasing resources to the system or the resource pool by the specified number of frames (in addition to the current policy of waiting for the current end of frame & command-buffer completion). Useful for tracking down resource lifetime errors. - Fixed a number of bugs related to the modifications to vertex stream handling and addition of the SetShaderBytes API. - Track the start & end of FRingBuffer ranges - it appeared that the ring-buffer usage was invalid but it was in fact only my assumptions about the range that needed to be scribbled for rhi.Metal.BufferScribble. There is still the possibility that command-buffers that are implicitly parallelised by the driver may cause the ring-buffer range tracking to go awry - but with our data dependencies and the separation of the async. compute context I don't believe this is likely. - Fix up the "nometalv2" flag so that we can disable the features only available on iOS/tvOS-10/macOS-10.12 on newer devices to save having to reboot all the time. - Fixed the flickering geometry when enabling rhi.Metal.RuntimeDebugLevel=4 which breaks render passes into separate command-buffers - the occlusion query was waiting on the wrong command buffer in this case. Change 3163752 on 2016/10/14 by Mark.Satterthwaite Add missing parenthesis to fix compile error on iOS. Change 3164151 on 2016/10/16 by Benjamin.Hyder Submitting TM-AutoLOD level to QAGame #jira UE-29618 Change 3164190 on 2016/10/16 by Uriel.Doyon Materials now hold texture streaming data in the form of (UV scale X UV channel) for each texture. This data can be disabled through "r.Streaming.UseMaterialData" Defined a common framework in MeshComponent for texture streaming, used by both StaticMeshes and SkeletalMeshes. Simplified component interface for using the texture streaming build framework. Removed intermediate texture streaming build data from the static mesh components. Fixed shader compilation errors with the decals (from merge with main). Change 3164636 on 2016/10/17 by Rolando.Caloca DR - vk - Fix validation spam Change 3164679 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part1, Scene View Refactoring - Removed Previous VewMatrices from SceneInfo and pass in Previous and Current ViewMatrices into Uniform Buffer creation to uniform UseCase for Shadows and CustomDepth, Fixed a Bug in Shadows with help of Daniel where the SceneView was copied unnecessary copied again. Also simplified the code in that area. Change 3164705 on 2016/10/17 by Daniel.Wright When new levels are loaded, only the Indirect Lighting Cache Allocations intersecting the level's light probes are updated to minimize hitches. This optimization requires a lighting build to compute PrecomputedLightVolume bounds. Change 3164834 on 2016/10/17 by Daniel.Wright Support directional light dynamic shadows in any channel with forward shading, which can happen with multiple shadow casting stationary directional lights (even though only the lighting of one will appear) Change 3164870 on 2016/10/17 by Arne.Schober DR - [OR-28457] Part2, Custom Depth Jitter - Allowed to overwite the viewconstant buffer in the custom depth pass. There ia also a new Project Setting available. The default constructor of the ContextDataType has been explicitly deleted to enforce compile errors when the templated code like the StaticMeshDrawList accidently tries to create a context without ViewUniformBuffer. Change 3164949 on 2016/10/17 by Rolando.Caloca DR - vk - First version of pooled occlusion queries Change 3165100 on 2016/10/17 by Rolando.Caloca DR - vk - Added driver version for Nvidia. AMD doesn't have one yet. Change 3165160 on 2016/10/17 by Rolando.Caloca DR - vk - Fix for queries not ready Change 3165230 on 2016/10/17 by Rolando.Caloca DR - vk - More fixes for occlusion queries Change 3165839 on 2016/10/18 by Rolando.Caloca DR - hlslcc - Fix default parameters getting wrong values Change 3166029 on 2016/10/18 by Rolando.Caloca DR - Switch some clears to DrawClearQuad() Change 3166066 on 2016/10/18 by Mark.Satterthwaite Update ShaderVersion due to CL #3163524 Change 3166067 on 2016/10/18 by Mark.Satterthwaite Update Mac hlslcc for RCO's 3165839. Change 3166370 on 2016/10/18 by Brian.Karis Improved hair AA Change 3166389 on 2016/10/18 by Uriel.Doyon Fixed lightmap having bigger resolutions than the engine can handle #jira UE-34737 #review-3166193 @daniel.wright Change 3166495 on 2016/10/18 by Rolando.Caloca DR - vk - Fix occlusion queries Change 3166516 on 2016/10/18 by Arne.Schober DR - Fix shaderbuild issue Change 3166650 on 2016/10/18 by Rolando.Caloca DR - vk - Enable GRHISupportsFirstInstance Change 3166799 on 2016/10/18 by Arne.Schober DR - [OR-28508] - The velocity Rendering pass was missing the adjustment for the PDO Change 3167855 on 2016/10/19 by Rolando.Caloca DR - vk - Implemented texture streaming Change 3168365 on 2016/10/19 by Rolando.Caloca DR - Fix static analysis Change 3168405 on 2016/10/19 by Mark.Satterthwaite Fix the optional shader data changes from Unicorn to prevent FindOptionalData from erronesouly testing against the trailing optional data size, which can match the tag for optional data entries if you are unlucky. #jira UE-37489 Change 3169467 on 2016/10/20 by Arne.Schober DR - UE-28039 - Fixed flickering cached shadows on dynamic objects: Adding preshadows whose depths are cached so that GatherDynamicMeshElements will still happen, which is necessary for preshadow receiver stenciling. Change 3169478 on 2016/10/20 by Arne.Schober DR - UE-28039 - missing comment Change 3169845 on 2016/10/20 by Arne.Schober DR - UE-35937 - readd Merged out check Change 3169859 on 2016/10/20 by Rolando.Caloca DR - vk - Stop popping up dialog on every run as the device name in the API doesn't match our driver database [CL 3170066 by Marcus Wassmer in Main branch]
2016-10-20 20:09:22 -04:00
FText SLevelViewportToolBar::GetViewModeOptionsMenuLabel() const
{
Viewport.Pin()->OnFloatingButtonClicked();
const FLevelEditorViewportClient& ViewClient = Viewport.Pin()->GetLevelViewportClient();
return ::GetViewModeOptionsMenuLabel(ViewClient.GetViewMode());
}
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
TSharedRef<SWidget> SLevelViewportToolBar::GenerateViewModeOptionsMenu() const
{
Viewport.Pin()->OnFloatingButtonClicked();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3219450) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3162206 on 2016/10/13 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593: Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal. Added CustomEyeTangent to material attributes. Resolved some hard-coded attribute typing and other minor fixes. Change 3186067 on 2016/11/03 by Daniel.Wright Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved Change 3186069 on 2016/11/03 by Daniel.Wright Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high Change 3186084 on 2016/11/03 by Mark.Satterthwaite Duplicate 3172511: Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them. #jira UE-37481 Change 3186089 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3169764: Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627. #jira FORT-27627 Change 3186113 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183807: Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649: - Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS. - Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version. #jira FORT-31649 Change 3186116 on 2016/11/03 by Mark.Satterthwaite Duplicate CL #3183823: Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects. Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations. #jira FORT-31649 Change 3186818 on 2016/11/04 by Chris.Bunner PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii). Change 3186979 on 2016/11/04 by Rolando.Caloca DR - Misc minor cleanup Change 3187169 on 2016/11/04 by Uriel.Doyon Incremental insertion of level data between PostLoad and AddToWorld Change 3187205 on 2016/11/04 by Mark.Satterthwaite Compile fixes for iOS. Change 3187389 on 2016/11/04 by Uriel.Doyon Fix for possible stall when loading hidden level Change 3187598 on 2016/11/04 by Michael.Trepka MetalViewport compile fix Change 3187678 on 2016/11/04 by Uriel.Doyon Fix for landscape grass textures not being streamed in correctly. Change 3187731 on 2016/11/04 by Rolando.Caloca DR - Start making type safe some cross compiler enums Change 3187824 on 2016/11/04 by Rolando.Caloca DR - clang compile fix Change 3187953 on 2016/11/04 by Rolando.Caloca DR - vk - Mac compile fix Change 3188696 on 2016/11/07 by Mark.Satterthwaite Another iOS compile fix for new MetalViewport validation code. Change 3188906 on 2016/11/07 by Rolando.Caloca DR - Show permutation of LUTBlender Change 3189094 on 2016/11/07 by Chris.Bunner Fix RemoveAAJitter from projection matrix. #jira UE-37701, UE-38003 Change 3189134 on 2016/11/07 by Daniel.Wright Fix for CreateRenderTarget2D called in construction script during cooking Change 3189145 on 2016/11/07 by Chris.Bunner Follow-up to CL 3186818, export UMaterialExpressionVectorNoise. Change 3189239 on 2016/11/07 by Daniel.Wright Added show flag for Contact Shadows, disabled in planar reflections Change 3189252 on 2016/11/07 by Daniel.Wright Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading Change 3189406 on 2016/11/07 by Mark.Satterthwaite Really fix the last of the iOS compile errors from changes to the MetalViewport code. Change 3190854 on 2016/11/08 by Ben.Woodhouse XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash) #jira UE-34264 #fyi james.golding #fyi keith.judge Change 3190962 on 2016/11/08 by Olaf.Piesche Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues Change 3191959 on 2016/11/09 by Uriel.Doyon Removed some static primitives from the dynamic primitive handler for texture streaming. Change 3193122 on 2016/11/10 by Chris.Bunner Always update non-preview material resources for use in code preview. #jira UE-38223 Change 3193190 on 2016/11/10 by Gil.Gribb UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame. #jira UE-36379 Change 3193523 on 2016/11/10 by Uriel.Doyon Fixed incorrect section bounds used for texture streaming. Change 3193962 on 2016/11/10 by Uriel.Doyon Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time. Change 3193974 on 2016/11/10 by Uriel.Doyon New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU. Change 3194109 on 2016/11/10 by Uriel.Doyon Another patch on material bounds used for texture streaming. Change 3194665 on 2016/11/11 by Chris.Bunner Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles. Change 3194734 on 2016/11/11 by Rolando.Caloca DR - vk - Simplified some texture casting Change 3194867 on 2016/11/11 by Rolando.Caloca DR - vk - SM5 fixes Change 3195176 on 2016/11/11 by Chris.Bunner Fixed incorrectly updated NVAPI error. Change 3195425 on 2016/11/11 by Uriel.Doyon Fixed possible invalid level reference in the texture streamer Change 3196512 on 2016/11/14 by Gil.Gribb Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering) Change 3196750 on 2016/11/14 by Marcus.Wassmer Fix ordering problem with GPU cache transitions Change 3196815 on 2016/11/14 by Daniel.Wright Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS Change 3196818 on 2016/11/14 by Daniel.Wright Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory Change 3196819 on 2016/11/14 by Daniel.Wright Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes. Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers Change 3197243 on 2016/11/14 by Uriel.Doyon Async Task For Updating static component LastRender time #jira UE-24268 Change 3197359 on 2016/11/14 by Daniel.Wright Added Inscattering Texture controls to ExponentialHeightFog * When InscatteringColorCubemap is specified, directional light inscattering is disabled * Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance * Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match) * Fog shader permutations based on what feature is enabled Change 3198419 on 2016/11/15 by Chris.Bunner PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls. HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions. Exposed RHICreateTargetableShaderResource3D. Moved some (translucent) volume rendering helpers to allow access in Slate. Change 3198822 on 2016/11/15 by Daniel.Wright Mac compile fix Change 3199509 on 2016/11/15 by Uriel.Doyon Added support for viewmode param asset name (and note just param value). Used to investigate texture streamer behavior. Change 3199578 on 2016/11/15 by Rolando.Caloca DR - Add some shader resource tables to SCW when running with -directcompile Change 3199698 on 2016/11/15 by Rolando.Caloca DR - vk - Refactor shader & descriptor bindings Change 3199712 on 2016/11/15 by Rolando.Caloca DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader Change 3199717 on 2016/11/15 by Rolando.Caloca DR - vk - Show hitching PSO info again Change 3199750 on 2016/11/15 by Rolando.Caloca DR - SCW clang compile fixes Change 3200353 on 2016/11/16 by Rolando.Caloca DR - vk - Mac fix Change 3200358 on 2016/11/16 by Chris.Bunner Only allow UI composition on platforms we currently use it. Change 3200823 on 2016/11/16 by Chris.Bunner Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing. #jira UE-38699 Change 3200947 on 2016/11/16 by Mark.Satterthwaite Fix UE-38695 by not trying to resize the viewport on the wrong thread. #jira UE-38695 Change 3201069 on 2016/11/16 by Daniel.Wright Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors Change 3201346 on 2016/11/16 by Brian.Karis Temporal AA fix for correct edge gradients. Filtering now combined with importance sampling. Enabled Catmull-Rom resolve filter. Results are now slightly sharper. Fixed antighosting. Will yet require a dilation to be perfect. Optimized bicubic filtering to 5 taps instead of 9. Cleaned out unused code. Change 3201369 on 2016/11/16 by Brian.Karis Bicubic texture sample Change 3201522 on 2016/11/16 by Rolando.Caloca DR - vk - Fix static analysis issues Change 3201878 on 2016/11/17 by Chris.Bunner Temporarily disable Nvapi HDR error logging. #jira UE-38529 Change 3202108 on 2016/11/17 by Simon.Tovey Assets with easy repro for flickering particles bug Change 3202181 on 2016/11/17 by Rolando.Caloca DR - vk - CIS android fix Change 3202325 on 2016/11/17 by Ben.Woodhouse Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850) Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash) #jira UE-34264 Change 3204394 on 2016/11/18 by Guillaume.Abadie PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke) #br Ben.Woodhouse Change 3204428 on 2016/11/18 by Guillaume.Abadie Fixes a couple of issues in decals: * Crash in FDecalDrawingPolicyFactory::DrawMesh() * ActorPostion material expression * PixelNormalWS material expression * Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE #jira UE-38327, UE-38158, UE-37818, UE-37350 Change 3204429 on 2016/11/18 by Uriel.Doyon Darker default undefined accuracy. Reenabled the texture streaming build in the build all. Change 3204458 on 2016/11/18 by Chris.Bunner Shader truncation warnings fix. Change 3204459 on 2016/11/18 by Chris.Bunner Engine 'Passthrough' material fuction fix. V4 is now actually a V4. Change 3204460 on 2016/11/18 by Chris.Bunner Correctly handle some known Nvapi warnings. #jira UE-38529 Change 3204653 on 2016/11/18 by Marc.Olano Helper functions for tiled textures Checking in for Ryan Brucks Change 3204863 on 2016/11/18 by Arne.Schober DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation Change 3204939 on 2016/11/18 by Arne.Schober DR - Make clang happy Change 3204968 on 2016/11/18 by Arne.Schober DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset. Change 3206293 on 2016/11/21 by Uriel.Doyon New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields. Set to true when the streamer can possibly load a mip in the near future. #jira UE-37787 Change 3206551 on 2016/11/21 by Chris.Bunner Added material update context when forcing all shaders to recompile. #jira UE-38481 Change 3206644 on 2016/11/21 by Benjamin.Hyder Updating Planar Reflection example in TM-Shadermodels. Change 3206899 on 2016/11/21 by Rolando.Caloca DR - vk - SM5 fixes Change 3206900 on 2016/11/21 by Rolando.Caloca DR - Added missing strings for shader formats Change 3206983 on 2016/11/21 by Rolando.Caloca DR - vk - Support for SV_Coverage Change 3207237 on 2016/11/22 by Simon.Tovey Exporting particle module base and a couple of child classes as it's commonly requested. #test compiles Change 3207241 on 2016/11/22 by Gil.Gribb Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering) Change 3207520 on 2016/11/22 by Ben.Woodhouse Cherry picked from //Fortnite/Main@3206301 Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes. #jira FORT-31616 #code_review keith.judge Change 3207541 on 2016/11/22 by Ben.Woodhouse Cherry picked from //fortnite/Main@3207422 * Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases) * Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees) * Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory #jira UE-38609 Change 3207654 on 2016/11/22 by Chris.Bunner Don't flag 16-bit PNG/JPG textures as sRGB on import. #jira UE-30279 Change 3208434 on 2016/11/22 by Rolando.Caloca DR - vk - UAV transitions Change 3208490 on 2016/11/22 by Chris.Bunner Break material code sharing when we detect an unresolvable loop. By default change IsResultMA loop detection to stop on functions as we can determine type definitively. Unified IsResultMA detection across switch nodes. Change 3208860 on 2016/11/23 by Rolando.Caloca DR - vk - Fix some format issues Change 3209265 on 2016/11/23 by Arne.Schober DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface, We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object. One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType. And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState. Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface. Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now) Change 3209305 on 2016/11/23 by Guillaume.Abadie Fix contact shadow's assemption on objects thickness Change 3209334 on 2016/11/23 by Brian.Karis Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense. Change 3209903 on 2016/11/24 by Guillaume.Abadie Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL Change 3209973 on 2016/11/24 by Ben.Woodhouse Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/) Change 3210023 on 2016/11/24 by Uriel.Doyon Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate. #jira UE-37210 Change 3210026 on 2016/11/24 by Ben.Woodhouse Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing Change 3210049 on 2016/11/24 by Ben.Woodhouse Fix mac build Change 3210071 on 2016/11/24 by Uriel.Doyon Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled. #jira UE-37542 Change 3210374 on 2016/11/25 by Ben.Woodhouse * Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled) * Move Decal rendertarget manager function implementations out of the header. #jira UE-38879 Change 3210390 on 2016/11/25 by Uriel.Doyon Fixed cubemap resourcesize not taking into account mipgen settings #jira UE-37045 Change 3210407 on 2016/11/25 by Uriel.Doyon "resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data. That can be used in combination with -buildlighting. Change 3210563 on 2016/11/27 by Rolando.Caloca DR - vk - Integrate cached memory fixes and PF_D24 format fix #jira UE-39025 PR #2974 Change 3210564 on 2016/11/27 by Rolando.Caloca DR - Fix for GL linker PR #2975 #jira UE-39029 Change 3210592 on 2016/11/27 by Rolando.Caloca DR - vk - SM5 fixes Change 3210597 on 2016/11/27 by Rolando.Caloca DR - vk - Prep for staging UB copies to GPU memory Change 3210600 on 2016/11/27 by Rolando.Caloca DR - vk - Extract generic range code Change 3210613 on 2016/11/27 by Rolando.Caloca DR - vk - Added r.Vulkan.SubmitOnDispatch Change 3211054 on 2016/11/28 by Rolando.Caloca DR - vk - Missing reference Change 3211330 on 2016/11/28 by Chris.Bunner Shader compile error for max texture coordinate count on skinned meshes. Change 3211384 on 2016/11/28 by Arne.Schober DR - Enforce move on EnqueueRenderCommand Lambda Change 3211431 on 2016/11/28 by Gil.Gribb Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering) Change 3211738 on 2016/11/28 by Gil.Gribb IWYU fixes after merge Change 3212231 on 2016/11/28 by Richard.Wallis Fix build errors Change 3212253 on 2016/11/28 by Richard.Wallis Remove MacGraphicsSwitching plugin. #jira UE-37640 Change 3212310 on 2016/11/28 by Rolando.Caloca DR - vk - Update glslang to 1.0.33.0 Change 3212446 on 2016/11/28 by Guillaume.Abadie Implements PreviousFrameSwitch material expression Change 3212594 on 2016/11/28 by Arne.Schober DR - Fix missing include Change 3212681 on 2016/11/29 by Rolando.Caloca DR - vk - Auto flush for compute shader Change 3213000 on 2016/11/29 by Gil.Gribb temp fix for PF_MAX Change 3213161 on 2016/11/29 by Ben.Woodhouse Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714 Using: - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/... - p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/... Changes from UE4-DX12: *** CL 3183818 *** Update D3D12 RHI to 4.14: - Merged changes from Epic up until 10/20/16 - Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win. I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time. I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory. -Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared. -Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones. -Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch. -Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this. -Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call. I improved and cleaned up high freqency call stacks like: - RHISetShaderTexture - RHISetShaderResourceViewParameter - RHISetShaderParameter - RHISetUAVParameter In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc. -Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early. This work involved a couple changes: 1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count 2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed). -Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call. -Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12. -Delay load D3D12.dll and add root signature 1.1 support. -Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members. *** CL 3183824 *** Fix the D3D12 RHI after integrating UE 4.14 updates: - Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list. - Fixed a spelling error - Removed the need for bForceState, we use dirty bits now *** CL 3183830 *** - GetDebugFlags RHI extension, needed by XB1 movie player. - Only query memory info if stats are enabled - Add support for the engine's new RHISubmitCommandsAndFlushGPU function - Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter. *** CL 3183837 *** Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects. *** CL 3183931 *** Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0) *** CL 3183978 *** Update UBT Windows build settings: - Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events. -Delay load D3D12.dll and add root signature 1.1 support. *** CL 3184132 *** Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837. *** Changelist 3211714 *** Update D3D12 RHI with fixes: - Check if we can reserve slots in GatherUniqueSamplerTables - DirtyState more often in StateCache - Remove InternalSetSamplerState. The alternate function isn't used. - Allow MRTClear for arrays with holes in them - Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range - Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily. - Resource transitions: go through Common between queues (3D <--> Compute) - Fix initial state for placed resources. - Merging epic Change 3213250 on 2016/11/29 by Chris.Bunner GBufferHints tooltip fix. #jira UE-39103 Change 3213345 on 2016/11/29 by Gil.Gribb more IWYU fallout Change 3213676 on 2016/11/29 by Rolando.Caloca DR - Fix incorrect texture getting cleared Change 3213728 on 2016/11/29 by Rolando.Caloca DR - Lambda-ize Change 3214461 on 2016/11/29 by Ben.Woodhouse Rollout August QFE4 XDK (required for latest DX12 changes on XB1) Change 3215317 on 2016/11/30 by Daniel.Wright PS4 compile fix Change 3216343 on 2016/11/30 by Arne.Schober DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals. Change 3216844 on 2016/12/01 by Ben.Woodhouse Fix for static analysis warnings after discussion with Microsoft Change 3216916 on 2016/12/01 by Gil.Gribb Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering) Change 3217385 on 2016/12/01 by Arne.Schober DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass Change 3217464 on 2016/12/01 by Ben.Woodhouse Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor #jira UE-39225 Change 3217534 on 2016/12/01 by Arne.Schober DR - Fix Merge conflict Change 3217581 on 2016/12/01 by Rolando.Caloca DR - Fix assert on debug Change 3217741 on 2016/12/01 by Benjamin.Hyder Duplicate audio fix. Change 3217890 on 2016/12/01 by Rolando.Caloca DR - Fix widget not rendering properly when hidden #jira UE-39221 Change 3218129 on 2016/12/01 by Arne.Schober DR - UE-39214 - Lod dither value as accidently cached accross the static draw list. Change 3218759 on 2016/12/02 by Guillaume.Abadie Fixes editor compositing bug caused by alpha through post processing change 3209903 #jira UE-39221 [CL 3219854 by Marcus Wassmer in Main branch]
2016-12-02 16:43:04 -05:00
FLevelEditorViewportClient& ViewClient = Viewport.Pin()->GetLevelViewportClient();
const UWorld* World = ViewClient.GetWorld();
return BuildViewModeOptionsMenu(Viewport.Pin()->GetCommandList(), ViewClient.GetViewMode(), World ? World->FeatureLevel.GetValue() : GMaxRHIFeatureLevel, ViewClient.GetViewModeParamNameMap());
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3154632) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3122543 on 2016/09/13 by Ben.Woodhouse Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled. #jira UE-35878 Change 3122544 on 2016/09/13 by Ben.Woodhouse Shadow stencil optimisation with cvar (enabled by default) Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN. This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX) Shadow projection GPU time profiling : Test map with 35 characters, stationary directional light - 4ms-2ms on XB1 - 2.5ms to 0.9ms on PC (r9-390X) - 3ms-2ms on PS4 Paragon PS4 (roughly 20% reduced - from ~0.39ms) Change 3122687 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES31 crash Change 3122691 on 2016/09/13 by Rolando.Caloca DR - vk - Fixes for SDK 1.0.26.0 Change 3122778 on 2016/09/13 by Rolando.Caloca DR - vk - Fix number of layers on barrier Change 3122921 on 2016/09/13 by Rolando.Caloca DR - vk - Fix ES3.1 Change 3122925 on 2016/09/13 by Ben.Woodhouse Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor) #jira UE-35904 Change 3123016 on 2016/09/13 by Chris.Bunner Fixed adaptive tessellation, broken by CL 3089208 refactor. #jira UE-35341 Change 3123079 on 2016/09/13 by Rolando.Caloca DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily) Change 3123503 on 2016/09/13 by David.Hill #jira UE-25623 converted a check() to checkf() to include better diagnostic information. Change 3123617 on 2016/09/13 by Guillaume.Abadie Fixes artifact when the camera direction is almost parallel to a wide plane with SSR. #jira UE-35128 Change 3123743 on 2016/09/13 by Brian.Karis Separate mesh reduction interfaces for static and skeletal. Zero bad tangents from input mesh. Change 3125378 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them. Change 3125527 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix UT build and mac Change 3125741 on 2016/09/14 by Rolando.Caloca DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1) Change 3125763 on 2016/09/14 by Rolando.Caloca DR - vk - Added new Renderpass cache - Fix buffer barrier warning Change 3125769 on 2016/09/14 by Rolando.Caloca DR - Renamed cvar to r.DumpSCWQueuedJobs Change 3125771 on 2016/09/14 by Rolando.Caloca DR - Added support for SV_ClipDistance on GL3 & 4 Change 3125792 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Odin and PS4 Change 3125880 on 2016/09/14 by Arne.Schober DR - [UE-34481] - Fix Fortnite Change 3125968 on 2016/09/14 by Brian.Karis Removed comment Change 3126315 on 2016/09/15 by Ben.Woodhouse GPU profiler robustness - Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly - Simplify gathering logic - Fix race condition where we could read back queries before they're submitted on the RHI thread. - Fix for movie player stat gathering - disable gathering outside of the main engine tick #jira UE-35975 Change 3126792 on 2016/09/15 by Rolando.Caloca DR - vk - Release render pass cache Change 3126804 on 2016/09/15 by Rolando.Caloca DR - vk - Fix UpdateTexture2D() #jira UE-34151 Change 3126884 on 2016/09/15 by Rolando.Caloca DR - vk - Compile fix Change 3126953 on 2016/09/15 by Rolando.Caloca DR - Enable GPU capture when running OpenGL under RenderDoc - Will also set the memory mode to non coherent so not to kill performance on RenderDoc Change 3126966 on 2016/09/15 by Rolando.Caloca DR - Allow cooking for Vulkan SM4 to help with packaging Change 3127082 on 2016/09/15 by Guillaume.Abadie Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length. #jira UE-35367, UE-33602, UE-33603, UE-33604 #review-3125887 @brian.karis Change 3127130 on 2016/09/15 by Mark.Satterthwaite Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3127475 on 2016/09/15 by Rolando.Caloca DR - vk - Debug dump Change 3128131 on 2016/09/16 by Ben.Woodhouse (Integrated from //UE4/Private-Partner-NREAL/...) Alpha output support for postprocess materials (optional via a parameter) Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection) Change 3128135 on 2016/09/16 by Ben.Woodhouse GPU profiler (PS4) - remove bubbles between commandlist submissions from query times Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on) Also fixes some potential precision issues with unit GPU timing Change 3128247 on 2016/09/16 by Rolando.Caloca DR - vk - Cache framebuffers Change 3128593 on 2016/09/16 by Rolando.Caloca DR - vk - Fix for crash loading map #jira UE-36072 Change 3128759 on 2016/09/16 by Mark.Satterthwaite Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload. Change 3130236 on 2016/09/19 by Chris.Bunner Exposed full SceneCaptureComponent classes instead of select methods. #jira UE-35996 Change 3130388 on 2016/09/19 by Rolando.Caloca DR - Avoid crash when adding dynamic primitives #jira UE-35327 Change 3130393 on 2016/09/19 by Marc.Olano Improve vector noise tooltips & documentation Change 3130547 on 2016/09/19 by Ben.Woodhouse Fix for ensure fail when initializing point light shadowmaps. This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters. I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix. #jira UE-35837 Change 3130578 on 2016/09/19 by Daniel.Wright Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL Change 3130682 on 2016/09/19 by Rolando.Caloca DR - Better fix for UE-35327 #jira UE-35327 Change 3130767 on 2016/09/19 by Uriel.Doyon Better handling of color array in VisualizeComplexity code to prevent assert. #jira UE-29332 Change 3130965 on 2016/09/19 by Arne.Schober DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking. Change 3130967 on 2016/09/19 by Chris.Bunner Hid redundant texture sampler properties from texture object parameter. Hid redundant texture property input on texture parameter nodes. Fixed copy-paste error in expression texture parameter docs. #jira UE-32724 Change 3131118 on 2016/09/19 by Mark.Satterthwaite Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts. #jira FORT-25869 #jira UE-34263 Change 3131153 on 2016/09/19 by Rolando.Caloca DR - Fix recompute normals when triangles have a LHS tangent basis Integrate from 3028634 - Also make meshes that don't have morphs be able to run through the recompute normals path #jira UE-35472 Change 3131228 on 2016/09/19 by Mark.Satterthwaite Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early. #jira UE-35240 Change 3131246 on 2016/09/19 by Rolando.Caloca DR - Shrink gpu skinning permutations Change 3131261 on 2016/09/19 by Mark.Satterthwaite Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader. ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer. Change 3131265 on 2016/09/19 by Mark.Satterthwaite Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS. Change 3131271 on 2016/09/19 by Mark.Satterthwaite Use private memory for the Metal stencil SRV workaround needed on El Capitan. Change 3131273 on 2016/09/19 by Mark.Satterthwaite Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly. Change 3131280 on 2016/09/19 by Mark.Satterthwaite For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode. Change 3131283 on 2016/09/19 by Mark.Satterthwaite Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache. Change 3131402 on 2016/09/19 by Rolando.Caloca DR - Disambiguate callstack #jira UE-34415 Change 3131469 on 2016/09/19 by Rolando.Caloca DR - vk - Check if we can allocate descriptors off a pool Change 3131482 on 2016/09/19 by Rolando.Caloca DR - vk - Remove unused var Change 3131506 on 2016/09/19 by Mark.Satterthwaite With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS. Change 3131536 on 2016/09/19 by Rolando.Caloca DR - vk - Compile fix Change 3131564 on 2016/09/19 by Rolando.Caloca DR - vk - Submit Hint - Disable framebuffer recycling as its causing a hang Change 3131625 on 2016/09/19 by Mark.Satterthwaite Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required. Change 3131630 on 2016/09/19 by Mark.Satterthwaite More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful. Change 3131955 on 2016/09/20 by Gil.Gribb Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering) Change 3131978 on 2016/09/20 by Gil.Gribb CIS fix Change 3132584 on 2016/09/20 by Ben.Woodhouse Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling #jira UE-35937 Change 3132696 on 2016/09/20 by Mark.Satterthwaite Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it. Change 3132772 on 2016/09/20 by Mark.Satterthwaite Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient. Change 3132870 on 2016/09/20 by Ben.Woodhouse Fix mac compile error Change 3133049 on 2016/09/20 by Brian.Karis Changed light source shapes in reflection captures to use alpha Change 3133057 on 2016/09/20 by Brian.Karis Alphaed out on spot light cone as well. Change 3133263 on 2016/09/20 by Rolando.Caloca DR - vk - Debug names for objects Change 3133292 on 2016/09/20 by Rolando.Caloca DR - vk - Fix SRGB upload/formats Change 3133395 on 2016/09/20 by Rolando.Caloca DR - vk - SM5 fixes Change 3134026 on 2016/09/21 by Gil.Gribb Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering) Change 3134663 on 2016/09/21 by Chris.Bunner Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes. #jira UE-34347 Change 3134730 on 2016/09/21 by Arne.Schober DR - [UE-34481] - Fix minor brokenness found by Gil Change 3134792 on 2016/09/21 by Chris.Bunner Fixed compile errors for non-editor builds. Change 3135214 on 2016/09/21 by Rolando.Caloca DR - vk - Fix visualize texture - Dump memory when OOM (to track leaks) Change 3135225 on 2016/09/21 by Rolando.Caloca DR - vk - Ensure on exit if mem leak - Update fences if running wait for idle Change 3135672 on 2016/09/22 by Gil.Gribb Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering) Change 3135793 on 2016/09/22 by Rolando.Caloca DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer Change 3135816 on 2016/09/22 by Rolando.Caloca DR - Add names for d3d on renderdoc Change 3135894 on 2016/09/22 by Chris.Bunner Fixed initialization order warning. Change 3136024 on 2016/09/22 by Rolando.Caloca DR - vk - Fix stencil faces Change 3136042 on 2016/09/22 by Marcus.Wassmer Fix compile error Change 3136046 on 2016/09/22 by Chris.Bunner Renamed material for PostTonemapHDRColor visualization to reflect actual usage. Change 3136308 on 2016/09/22 by Uriel.Doyon Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript. #jira UE-36094 Change 3136798 on 2016/09/22 by Chris.Bunner Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer. Change 3137092 on 2016/09/22 by Rolando.Caloca DR - vk - Rename pipeline to gfx pipeline Change 3137263 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135157: Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access. #jira FORT-30061 Change 3137265 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135169: Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled). Change 3137266 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3135237: Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer. Change 3137268 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3136033: To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra. Fix GPU selection code in MetalRHI to confirm everything is working. #jira FORT-30385 Change 3137269 on 2016/09/22 by Mark.Satterthwaite Duplicate CL #3137164: Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails. #jira FORT-30377 Change 3137606 on 2016/09/23 by Gil.Gribb Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering) Change 3137936 on 2016/09/23 by Rolando.Caloca DR - Split RHICmdList clear into color & ds in prep for changes Change 3138346 on 2016/09/23 by Rolando.Caloca DR - vk - Some renaming and splitting classes in prep for compute Change 3138628 on 2016/09/23 by Rolando.Caloca DR - vk - Fix mem leak on framebuffers Change 3138721 on 2016/09/23 by Daniel.Wright Better comment for r.DefaultFeature.AntiAliasing Change 3138722 on 2016/09/23 by Daniel.Wright Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface Change 3138723 on 2016/09/23 by Daniel.Wright Corrected GC doc Change 3138892 on 2016/09/23 by Daniel.Wright Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build Change 3138905 on 2016/09/23 by Daniel.Wright "Optimizations" -> "Optimization Viewmodes" Change 3138939 on 2016/09/23 by Daniel.Wright Disabled the stationary light overlap viewmode with forward shading Change 3139710 on 2016/09/26 by Rolando.Caloca DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture Change 3139820 on 2016/09/26 by Rolando.Caloca DR - Remove prefix from shader frequency strings Change 3139828 on 2016/09/26 by Marcus.Wassmer Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization. Change 3139840 on 2016/09/26 by Benjamin.Hyder Adding VectorNoise Examples to TM-Noise map Change 3139862 on 2016/09/26 by Rolando.Caloca DR - Better log to track down crash #jira UE-36271 Change 3140142 on 2016/09/26 by Rolando.Caloca DR - Fix clang warning Change 3140145 on 2016/09/26 by Rolando.Caloca DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters Change 3140360 on 2016/09/26 by Daniel.Wright Lighting Scenarios and lightmaps moved to separate package * Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world. * Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds. * If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it. * For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load. * Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times. Change 3140361 on 2016/09/26 by Daniel.Wright Lighting Scenarios UI Change 3140582 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140166 Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one. #jira FORT-30551 Change 3140584 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140131: Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU. #jira FORT-30622 Change 3140586 on 2016/09/26 by Mark.Satterthwaite Duplicate CL #3140450: Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly. #jira FORT-30649 Change 3140594 on 2016/09/26 by Zabir.Hoque Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error. Change 3140601 on 2016/09/26 by Marcus.Wassmer New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR Change 3140602 on 2016/09/26 by Zabir.Hoque CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it. #Tests: Fix was tested by licensee (GearBox). Change 3140622 on 2016/09/26 by Rolando.Caloca DR - vk - More prep for sm5 Change 3140765 on 2016/09/26 by Rolando.Caloca DR - Fix ensure from bad clear depth surface Change 3141251 on 2016/09/27 by Rolando.Caloca DR - vk - Rename & cleanup Change 3141394 on 2016/09/27 by Rolando.Caloca DR - vk - Compute pipeline state Change 3141463 on 2016/09/27 by Mark.Satterthwaite Fix the include order to avoid compile errors on Mac. Change 3141529 on 2016/09/27 by Gil.Gribb Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering) Change 3141830 on 2016/09/27 by zachary.wilson Adding testing content for lighting scenarios to collaborate with Ben Change 3141941 on 2016/09/27 by Olaf.Piesche Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer. Change 3142035 on 2016/09/27 by Olaf.Piesche Fix compiler error from silly leftover bit of code. Change 3142065 on 2016/09/27 by Benjamin.Hyder Updating Lighting Scenario map Change 3142262 on 2016/09/27 by Mark.Satterthwaite Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform: On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications. On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2 #jira UE-35749 Change 3142292 on 2016/09/27 by Rolando.Caloca DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error #jira UE-31438 Change 3142397 on 2016/09/27 by Mark.Satterthwaite Update hlslcc for Mac including RCO's changes in CL #3142292. #jira UE-31438 Change 3142438 on 2016/09/27 by Daniel.Wright UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking Change 3142452 on 2016/09/27 by Rolando.Caloca DR - Proper support for int defines Change 3142519 on 2016/09/27 by Arne.Schober DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available. Change 3142537 on 2016/09/27 by Daniel.Wright Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset Change 3142691 on 2016/09/27 by Daniel.Wright Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content Change 3142711 on 2016/09/27 by Daniel.Wright GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser Change 3142712 on 2016/09/27 by Daniel.Wright Separate category for ParticleCutout properties Change 3142762 on 2016/09/27 by Uriel.Doyon Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds. The density are computed by the engine but can be overridden by the user in the material tabs. Texture streaming intermediate component data is now per material instead of per lod-section. New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode. This is currently used to show which UV channel and which texture index is being shown in the texture streaming accuracy viewmodes. This replaces r.Streaming.AnalysisIndex Renamed texture streaming viewmodes: MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales Improved UV density computation and viewmode. LightmapUVDensity is now computed separately from UVChannel Density. Fixed texture streaming for instanced static mesh component and derived types. Change 3143464 on 2016/09/28 by Daniel.Wright Removed 'experimental' from forward shading setting Change 3143508 on 2016/09/28 by Chris.Bunner Added component type handling to FoldedMath and Length material expressions. #jira UE-36304 Change 3143557 on 2016/09/28 by Rolando.Caloca DR - Back out changelist 3142292 Change 3143563 on 2016/09/28 by Rolando.Caloca DR - vk - Force hlslcc re-link Change 3143648 on 2016/09/28 by Daniel.Wright Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already. Change 3143661 on 2016/09/28 by Chris.Bunner Warning fix. Change 3143723 on 2016/09/28 by Daniel.Wright DumpUnbuiltLightIteractions after lighting build for debugging Change 3143822 on 2016/09/28 by Arne.Schober DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows. Change 3143860 on 2016/09/28 by Benjamin.Hyder Updating TM-Noise map to include 3d noise examples Change 3143939 on 2016/09/28 by Rolando.Caloca DR - vk - Better debugging of submissions - Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs Change 3144006 on 2016/09/28 by Brian.Karis Fixed PixelError not being set correctly with LOD groups. Removed unneeded Simplygon references. Mesh reduction module can now be chosen by name with r.MeshReductionModule Change 3144026 on 2016/09/28 by Benjamin.Hyder Updating QA-Effects map to correct numbering issue Change 3144098 on 2016/09/28 by Arne.Schober DR - ViewMatrices Refactoring - Fix UT Change 3144158 on 2016/09/28 by Rolando.Caloca DR - Undo splitting RHI command context Change 3144952 on 2016/09/29 by Rolando.Caloca DR - vk - Missing swapchain flag Change 3145064 on 2016/09/29 by Olaf.Piesche #jira UE-36091 Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly. Change 3145354 on 2016/09/29 by Benjamin.Hyder Updating Tm-ContactShadows Change 3145485 on 2016/09/29 by Daniel.Wright Made SeamlessTravelLoadCallback handle legacy lightmaps Change 3145527 on 2016/09/29 by Daniel.Wright Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel Change 3145530 on 2016/09/29 by Simon.Tovey UE-36188 - Editor crash when updating hierarchical instance static mesh component Dirtied render state rather than unsafe update of bounds. Change 3145608 on 2016/09/29 by Gil.Gribb Attempt to fix a random compiler error under win32 Change 3145749 on 2016/09/29 by Uriel.Doyon Fix for static analysis warning Change 3146091 on 2016/09/29 by Zabir.Hoque RHI Interface changes to support PSO based APIs Change 3146092 on 2016/09/29 by Zabir.Hoque D3D12 RHI support for PSO based APIs. Change 3146590 on 2016/09/30 by Gil.Gribb Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering) Change 3146731 on 2016/09/30 by Rolando.Caloca DR - Fix merge conflicts Change 3146778 on 2016/09/30 by Rolando.Caloca DR - More integration compile fixes Change 3146790 on 2016/09/30 by Rolando.Caloca DR - Integration fix Change 3146849 on 2016/09/30 by Rolando.Caloca DR - Final integration fix Change 3146899 on 2016/09/30 by Daniel.Wright Static analysis fix for dereferencing World Change 3147020 on 2016/09/30 by Rolando.Caloca DR - vk - Fix depth issue on AMD cards - Added VULKAN_KEEP_CREATE_INFO to help debugging creation - Added num color attachments to pipeline key Change 3147034 on 2016/09/30 by Rolando.Caloca DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines #jira UE-36277 #jira UE-36500 Change 3147080 on 2016/09/30 by Rolando.Caloca DR - vk - Disable debug info by default Change 3147082 on 2016/09/30 by Chris.Bunner Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list. #jira UE-36491 Change 3147388 on 2016/09/30 by Chris.Bunner Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers. #jira UE-35288 Change 3147394 on 2016/09/30 by Chris.Bunner Additional logging for rare error. #jira UE-35812 Change 3147459 on 2016/09/30 by Rolando.Caloca DR - vk - Some more srgb formats Change 3147537 on 2016/09/30 by Rolando.Caloca DR - vk - Standarize srgb flag like D3D11 - Minor FVulkanShader cleanup Change 3147620 on 2016/09/30 by Olaf.Piesche #jira UE=34486 particle component tick function task can be invalid during pause; add check Change 3148028 on 2016/10/01 by Daniel.Wright Renamed RenderingSettings.cpp to match header Change 3148059 on 2016/10/01 by Daniel.Wright Disabled reparenting in the profiler which is disorienting Change 3148067 on 2016/10/01 by Daniel.Wright Support for ReflectionEnvironment and light type show flags with ForwardShading Change 3148069 on 2016/10/01 by Daniel.Wright Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars Change 3148072 on 2016/10/01 by Daniel.Wright Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness Change 3148073 on 2016/10/01 by Daniel.Wright r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream Change 3148074 on 2016/10/01 by Daniel.Wright Enabled planar reflection receiving on the material used for the preview of a APlanarReflection Change 3148084 on 2016/10/01 by Daniel.Wright Fixed reflections on Surface TranslucencyVolume in deferred Change 3148085 on 2016/10/01 by Daniel.Wright Fixed planar reflection composite being done too many times in stereo deferred Change 3148086 on 2016/10/01 by Daniel.Wright Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10. Change 3148107 on 2016/10/01 by Daniel.Wright CIS fix Change 3148113 on 2016/10/01 by Daniel.Wright Translucency lighting modes for forward shading * Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway Change 3148306 on 2016/10/02 by Rolando.Caloca DR - vk - Fix for some NV drivers on Win10 Change 3148307 on 2016/10/02 by Rolando.Caloca DR - vk - Compute pipeline Change 3148358 on 2016/10/02 by Rolando.Caloca DR - vk - Consolidate and renumber enum for binding types Change 3148396 on 2016/10/03 by Rolando.Caloca DR - vk - Warning fix Change 3148697 on 2016/10/03 by Benjamin.Hyder Submitting M_Chromebal after enabling planar reflectionsl Change 3148799 on 2016/10/03 by Rolando.Caloca DR - vk - static analysis fix Change 3148934 on 2016/10/03 by Chris.Bunner Added pre-skinned local position material graph node, vertex shader only. Change 3148994 on 2016/10/03 by Chris.Bunner Added missing header file. Change 3149085 on 2016/10/03 by Daniel.Wright Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead Change 3149095 on 2016/10/03 by Rolando.Caloca DR - vk - Disable new render passes Change 3149125 on 2016/10/03 by Rolando.Caloca DR - vk - Fix for multiple memory types Change 3149181 on 2016/10/03 by Rolando.Caloca DR - Better message when missing pipelines Change 3149215 on 2016/10/03 by Rolando.Caloca DR - RHIClearColor -> RHIClearColorTexture #tests Orion Editor run match on Agora_P Change 3149288 on 2016/10/03 by Chris.Bunner Added PreTonemapHDRColor for buffer visualization and target output. #jira UE-36333 Change 3149402 on 2016/10/03 by Daniel.Wright Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res) Change 3149403 on 2016/10/03 by Daniel.Wright Forward lighting supports lighting channels Change 3149574 on 2016/10/03 by Marcus.Wassmer PR #2817: Ansel/Photography system (Contributed by adamnv) Modified to become a plugin Change 3149615 on 2016/10/03 by Rolando.Caloca DR - vk - Fix PF_G16R16 which fixes reflections Change 3149639 on 2016/10/03 by Olaf.Piesche Adding more ensures to catch NaNs occasionally appearing in particle locations early Change 3149745 on 2016/10/03 by Uriel.Doyon Moved UVDensity computation in the staticmesh DDC. Change 3149749 on 2016/10/03 by Daniel.Wright Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility Change 3149755 on 2016/10/03 by Benjamin.Hyder Checking in built lighting for QA-postprocessing Change 3149758 on 2016/10/03 by Benjamin.Hyder re-submitting built lighting for QA-PostProcessing Change 3149940 on 2016/10/04 by Gil.Gribb Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering) Change 3150098 on 2016/10/04 by Marcus.Wassmer Fix some clang and win32 errors Change 3150323 on 2016/10/04 by Rolando.Caloca DR - vk - Static analysis fix Change 3150456 on 2016/10/04 by Daniel.Wright Revert temp logs Change 3150731 on 2016/10/04 by Daniel.Wright Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid Change 3150795 on 2016/10/04 by Marcus.Wassmer Fix RHIClearUAV and Drawindirect bugs on PS4. Also fix PS4 compile error from bad merge. Change 3151065 on 2016/10/04 by Ben.Marsh Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering) Change 3151134 on 2016/10/04 by Brian.Karis Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array. Change 3151201 on 2016/10/04 by Marcus.Wassmer Nvidia approved icon for ansel plugin. Change 3151240 on 2016/10/04 by Marcus.Wassmer Fix string concat build error. Change 3151258 on 2016/10/04 by Ben.Marsh Fix compile error. Change 3151290 on 2016/10/04 by Marcus.Wassmer Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix. Change 3152104 on 2016/10/05 by Chris.Bunner Workaround for legacy BreakMA material node invalid component masks. #jira UE-36832 Change 3152130 on 2016/10/05 by Ben.Woodhouse Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling #jira UE-35890 Change 3152240 on 2016/10/05 by Rolando.Caloca DR - Fix for missing gizmo colors #jira UE-36515 Change 3152338 on 2016/10/05 by Daniel.Wright Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker Change 3152833 on 2016/10/05 by Brian.Karis Improved precision of quadrics. Fixes bad triangles on large meshes Change 3153376 on 2016/10/06 by Rolando.Caloca DR - Fix for SM4 missing pipelines fallout Change 3153650 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering) Change 3153656 on 2016/10/06 by Uriel.Doyon Fixed main integration compilation issues. Some of the Mesh UVDensity UI is temporary disabled. Change 3153725 on 2016/10/06 by Uriel.Doyon Fixed crash when source data is missing for lightmaps #jira UE-36157 Change 3153998 on 2016/10/06 by Gil.Gribb Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering) Change 3154056 on 2016/10/06 by Marcus.Wassmer Fix compile errors from merge. Also restore some light scencario code Change 3154176 on 2016/10/06 by Marcus.Wassmer Fix deprecation warning Change 3154252 on 2016/10/06 by Marcus.Wassmer Fix more deprecation warnings Change 3154632 on 2016/10/07 by Chris.Bunner Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function. #jira UE-37002 [CL 3154728 by Gil Gribb in Main branch]
2016-10-07 10:20:36 -04:00
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateFOVMenu() const
{
const float FOVMin = 5.f;
const float FOVMax = 170.f;
return
SNew( SBox )
.HAlign( HAlign_Right )
[
SNew( SBox )
.Padding( FMargin(4.0f, 0.0f, 0.0f, 0.0f) )
.WidthOverride( 100.0f )
[
SNew ( SBorder )
.BorderImage(FAppStyle::Get().GetBrush("Menu.WidgetBorder"))
.Padding(FMargin(1.0f))
[
SNew(SSpinBox<float>)
.Style(&FAppStyle::Get(), "Menu.SpinBox")
.Font( FAppStyle::GetFontStyle( TEXT( "MenuItem.Font" ) ) )
.MinValue(FOVMin)
.MaxValue(FOVMax)
.Value( this, &SLevelViewportToolBar::OnGetFOVValue )
.OnValueChanged( const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::OnFOVValueChanged )
]
]
];
}
float SLevelViewportToolBar::OnGetFOVValue( ) const
{
return Viewport.Pin()->GetLevelViewportClient().ViewFOV;
}
void SLevelViewportToolBar::OnFOVValueChanged( float NewValue )
{
bool bUpdateStoredFOV = true;
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
if (ViewportClient.GetActiveActorLock().IsValid())
{
ACameraActor* CameraActor = Cast< ACameraActor >( ViewportClient.GetActiveActorLock().Get() );
if( CameraActor != NULL )
{
CameraActor->GetCameraComponent()->FieldOfView = NewValue;
bUpdateStoredFOV = false;
}
}
if ( bUpdateStoredFOV )
{
ViewportClient.FOVAngle = NewValue;
}
ViewportClient.ViewFOV = NewValue;
ViewportClient.Invalidate();
}
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
TSharedRef<SWidget> SLevelViewportToolBar::GenerateScreenPercentageMenu() const
{
Changes default screen percentage behavior in editor to take more advantage of TSR's upscaling behavior already enabled by default 1) Editor viewports now display at high DPI by default for better Gen5-console feeling in editor on high DPI monitors. 2) Realtime editor viewports now display at screen percentage based on the display pixel count. Fix screen percentage independent of the pixel range could either render not enough pixel at low display resolution or be too slow at high display resolution. Given the level editor viewport can scale in size based on editor user layout preference, monitor, the screen percentage automatically scalling based on display pixel count gives a better experience of quality consistency/GPU cost for rendering frame, especially when going level editor fullscreen with F11 or not. The curve to compute rendering resolution from display resolution is in BaseEngine.ini 3) Non-realtime editor viewports still display at a screen percentage based on OS DPI scale, independent of the display pixel count because use spatial upscaler and therefore need consistent sharpness not worst than editor fonts, but keep same rendering resolution as before to not increase out of GPU memory errors. The performance of potentially rendering at high resolution than a realtime viewport is ignored given the non real-time viewports are not rendering every frame. 4) PIE viewports now override r.ScreenPercentage by default to have consistent resolution quality and performance between realtime editor viewport and gameplay viewport by default without risk of introducing out of GPU memory errors loosing possibly unsaved editor work if the game's graphic settings default to a screen percentage higher. To advertise discoverability of this change, any update to the r.ScreenPercentage cvar will lead to a message display in console/log if overriden by editor settings or dynamic resolution settings. 5) As much as a project can change the default anti-aliasing method, can also configure on a per project basis the default screen percentage behavior in project preference that the editor user can then override locally for his/her own use with his editor settings. For instance mobile only or forward renderer MSAA only video games. 6) When working very high end work-in progress rendering tech project in a econemic context where lattest GPUs are hard to get, the range of GPU performance can vary greatly between contributor of the same projects. To provide more robustness for lowerend GPU of collegues with tech not yet scaling, the project settings now offer a MaxRenderingResolution for editor viewports that can also be overriden on a per user basis. 7) Automated screenshot already takes care of forcing r.ScreenPercentage. #rb none #preflight 61e58d4a873f2ea48f33facd #ROBOMERGE-AUTHOR: guillaume.abadie #ROBOMERGE-SOURCE: CL 18633512 in //UE5/Release-5.0/... via CL 18633532 via CL 18633538 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669) [CL 18637384 by guillaume abadie in ue5-main branch]
2022-01-18 04:31:45 -05:00
const int32 PreviewScreenPercentageMin = ISceneViewFamilyScreenPercentage::kMinTSRResolutionFraction * 100.0f;
const int32 PreviewScreenPercentageMax = ISceneViewFamilyScreenPercentage::kMaxTSRResolutionFraction * 100.0f;
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
return
SNew(SBox)
.HAlign(HAlign_Right)
.IsEnabled(this, &SLevelViewportToolBar::OnScreenPercentageIsEnabled)
[
SNew(SBox)
.Padding(FMargin(4.0f, 0.0f, 0.0f, 0.0f))
.WidthOverride(100.0f)
[
SNew ( SBorder )
.BorderImage(FAppStyle::Get().GetBrush("Menu.WidgetBorder"))
.Padding(FMargin(1.0f))
[
SNew(SSpinBox<int32>)
.Style(&FAppStyle::Get(), "Menu.SpinBox")
.Font(FAppStyle::GetFontStyle(TEXT("MenuItem.Font")))
Changes default screen percentage behavior in editor to take more advantage of TSR's upscaling behavior already enabled by default 1) Editor viewports now display at high DPI by default for better Gen5-console feeling in editor on high DPI monitors. 2) Realtime editor viewports now display at screen percentage based on the display pixel count. Fix screen percentage independent of the pixel range could either render not enough pixel at low display resolution or be too slow at high display resolution. Given the level editor viewport can scale in size based on editor user layout preference, monitor, the screen percentage automatically scalling based on display pixel count gives a better experience of quality consistency/GPU cost for rendering frame, especially when going level editor fullscreen with F11 or not. The curve to compute rendering resolution from display resolution is in BaseEngine.ini 3) Non-realtime editor viewports still display at a screen percentage based on OS DPI scale, independent of the display pixel count because use spatial upscaler and therefore need consistent sharpness not worst than editor fonts, but keep same rendering resolution as before to not increase out of GPU memory errors. The performance of potentially rendering at high resolution than a realtime viewport is ignored given the non real-time viewports are not rendering every frame. 4) PIE viewports now override r.ScreenPercentage by default to have consistent resolution quality and performance between realtime editor viewport and gameplay viewport by default without risk of introducing out of GPU memory errors loosing possibly unsaved editor work if the game's graphic settings default to a screen percentage higher. To advertise discoverability of this change, any update to the r.ScreenPercentage cvar will lead to a message display in console/log if overriden by editor settings or dynamic resolution settings. 5) As much as a project can change the default anti-aliasing method, can also configure on a per project basis the default screen percentage behavior in project preference that the editor user can then override locally for his/her own use with his editor settings. For instance mobile only or forward renderer MSAA only video games. 6) When working very high end work-in progress rendering tech project in a econemic context where lattest GPUs are hard to get, the range of GPU performance can vary greatly between contributor of the same projects. To provide more robustness for lowerend GPU of collegues with tech not yet scaling, the project settings now offer a MaxRenderingResolution for editor viewports that can also be overriden on a per user basis. 7) Automated screenshot already takes care of forcing r.ScreenPercentage. #rb none #preflight 61e58d4a873f2ea48f33facd #ROBOMERGE-AUTHOR: guillaume.abadie #ROBOMERGE-SOURCE: CL 18633512 in //UE5/Release-5.0/... via CL 18633532 via CL 18633538 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669) [CL 18637384 by guillaume abadie in ue5-main branch]
2022-01-18 04:31:45 -05:00
.MinSliderValue(PreviewScreenPercentageMin)
.MaxSliderValue(PreviewScreenPercentageMax)
.Value(this, &SLevelViewportToolBar::OnGetScreenPercentageValue)
.OnValueChanged(const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::OnScreenPercentageValueChanged)
]
]
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
];
}
int32 SLevelViewportToolBar::OnGetScreenPercentageValue() const
{
return Viewport.Pin()->GetLevelViewportClient().GetPreviewScreenPercentage();
}
bool SLevelViewportToolBar::OnScreenPercentageIsEnabled() const
{
return Viewport.Pin()->GetLevelViewportClient().SupportsPreviewResolutionFraction();
}
void SLevelViewportToolBar::OnScreenPercentageValueChanged(int32 NewValue)
{
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
ViewportClient.SetPreviewScreenPercentage(NewValue);
ViewportClient.Invalidate();
}
TSharedRef<SWidget> SLevelViewportToolBar::GenerateFarViewPlaneMenu() const
{
return
SNew(SBox)
.HAlign(HAlign_Right)
[
SNew(SBox)
.Padding(FMargin(4.0f, 0.0f, 0.0f, 0.0f))
.WidthOverride(100.0f)
[
SNew ( SBorder )
.BorderImage(FAppStyle::Get().GetBrush("Menu.WidgetBorder"))
.Padding(FMargin(1.0f))
[
SNew(SSpinBox<float>)
.Style(&FAppStyle::Get(), "Menu.SpinBox")
.ToolTipText(LOCTEXT("FarViewPlaneTooltip", "Distance to use as the far view plane, or zero to enable an infinite far view plane"))
.MinValue(0.0f)
.MaxValue(100000.0f)
.Font(FAppStyle::GetFontStyle(TEXT("MenuItem.Font")))
.Value(this, &SLevelViewportToolBar::OnGetFarViewPlaneValue)
.OnValueChanged(const_cast<SLevelViewportToolBar*>(this), &SLevelViewportToolBar::OnFarViewPlaneValueChanged)
]
]
];
}
float SLevelViewportToolBar::OnGetFarViewPlaneValue() const
{
return Viewport.Pin()->GetLevelViewportClient().GetFarClipPlaneOverride();
}
void SLevelViewportToolBar::OnFarViewPlaneValueChanged( float NewValue )
{
Viewport.Pin()->GetLevelViewportClient().OverrideFarClipPlane(NewValue);
}
void SLevelViewportToolBar::FillShowLayersMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
{
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportLayers");
Section.AddMenuEntry(FLevelViewportCommands::Get().ShowAllLayers, LOCTEXT("ShowAllLabel", "Show All"));
Section.AddMenuEntry(FLevelViewportCommands::Get().HideAllLayers, LOCTEXT("HideAllLabel", "Hide All"));
}
if( Viewport.IsValid() )
{
TSharedRef<SLevelViewport> ViewportRef = Viewport.Pin().ToSharedRef();
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportLayers2");
// Get all the layers and create an entry for each of them
TArray<FName> AllLayerNames;
ULayersSubsystem* Layers = GEditor->GetEditorSubsystem<ULayersSubsystem>();
Layers->AddAllLayerNamesTo(AllLayerNames);
for( int32 LayerIndex = 0; LayerIndex < AllLayerNames.Num(); ++LayerIndex )
{
const FName LayerName = AllLayerNames[LayerIndex];
//const FString LayerNameString = LayerName;
FUIAction Action( FExecuteAction::CreateSP( ViewportRef, &SLevelViewport::ToggleShowLayer, LayerName ),
FCanExecuteAction(),
FIsActionChecked::CreateSP( ViewportRef, &SLevelViewport::IsLayerVisible, LayerName ) );
Section.AddMenuEntry(NAME_None, FText::FromName( LayerName ), FText::GetEmpty(), FSlateIcon(), Action, EUserInterfaceActionType::ToggleButton);
}
}
}
}
static TMap<FName, TArray<UFoliageType*>> GroupFoliageByOuter(const TArray<UFoliageType*> FoliageList)
{
TMap<FName, TArray<UFoliageType*>> Result;
for (UFoliageType* FoliageType : FoliageList)
{
if (FoliageType->IsAsset())
{
Result.FindOrAdd(NAME_None).Add(FoliageType);
}
else
{
FName LevelName = FoliageType->GetOutermost()->GetFName();
Result.FindOrAdd(LevelName).Add(FoliageType);
}
}
Result.KeySort([](const FName& A, const FName& B) { return (A.LexicalLess(B) && B != NAME_None); });
return Result;
}
void SLevelViewportToolBar::FillShowFoliageTypesMenu(UToolMenu* Menu, TWeakPtr<class SLevelViewport> Viewport)
{
auto ViewportPtr = Viewport.Pin();
if (!ViewportPtr.IsValid())
{
return;
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportFoliageMeshes");
// Map 'Show All' and 'Hide All' commands
FUIAction ShowAllFoliage(FExecuteAction::CreateSP(ViewportPtr.ToSharedRef(), &SLevelViewport::ToggleAllFoliageTypes, true));
FUIAction HideAllFoliage(FExecuteAction::CreateSP(ViewportPtr.ToSharedRef(), &SLevelViewport::ToggleAllFoliageTypes, false));
Section.AddMenuEntry("ShowAll", LOCTEXT("ShowAllLabel", "Show All"), FText::GetEmpty(), FSlateIcon(), ShowAllFoliage);
Section.AddMenuEntry("HideAll", LOCTEXT("HideAllLabel", "Hide All"), FText::GetEmpty(), FSlateIcon(), HideAllFoliage);
}
// Gather all foliage types used in this world and group them by sub-levels
auto AllFoliageMap = GroupFoliageByOuter(GEditor->GetFoliageTypesInWorld(ViewportPtr->GetWorld()));
for (auto& FoliagePair : AllFoliageMap)
{
// Name foliage group by an outer sub-level name, or empty if foliage type is an asset
FText EntryName = (FoliagePair.Key == NAME_None ? FText::GetEmpty() : FText::FromName(FPackageName::GetShortFName(FoliagePair.Key)));
FToolMenuSection& Section = Menu->AddSection(NAME_None, EntryName);
TArray<UFoliageType*>& FoliageList = FoliagePair.Value;
for (UFoliageType* FoliageType : FoliageList)
{
FName MeshName = FoliageType->GetDisplayFName();
TWeakObjectPtr<UFoliageType> FoliageTypePtr = FoliageType;
FUIAction Action(
FExecuteAction::CreateSP(ViewportPtr.ToSharedRef(), &SLevelViewport::ToggleShowFoliageType, FoliageTypePtr),
FCanExecuteAction(),
FIsActionChecked::CreateSP(ViewportPtr.ToSharedRef(), &SLevelViewport::IsFoliageTypeVisible, FoliageTypePtr));
Section.AddMenuEntry(NAME_None, FText::FromName(MeshName), FText::GetEmpty(), FSlateIcon(), Action, EUserInterfaceActionType::ToggleButton);
}
}
}
TWeakObjectPtr<UWorld> SLevelViewportToolBar::GetWorld() const
{
if (Viewport.IsValid())
{
return Viewport.Pin()->GetWorld();
}
return NULL;
}
TSharedPtr<FExtender> SLevelViewportToolBar::GetViewMenuExtender()
{
FLevelEditorModule& LevelEditorModule = FModuleManager::GetModuleChecked<FLevelEditorModule>(TEXT("LevelEditor"));
return LevelEditorModule.GetMenuExtensibilityManager()->GetAllExtenders();
}
void SLevelViewportToolBar::FillViewMenu(UToolMenu* Menu)
{
FToolMenuInsert InsertPosition("ViewMode", EToolMenuInsertType::After);
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportDeferredRendering", LOCTEXT("DeferredRenderingHeader", "Deferred Rendering"), InsertPosition);
}
{
FToolMenuSection& Section = Menu->FindOrAddSection("ViewMode");
Section.AddSubMenu(
"VisualizeBufferViewMode",
LOCTEXT("VisualizeBufferViewModeDisplayName", "Buffer Visualization"),
LOCTEXT("BufferVisualizationMenu_ToolTip", "Select a mode for buffer visualization"),
FNewMenuDelegate::CreateStatic(&FBufferVisualizationMenuCommands::BuildVisualisationSubMenu),
FUIAction(
FExecuteAction(),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([this]()
{
const TSharedRef<SEditorViewport> ViewportRef = Viewport.Pin().ToSharedRef();
const TSharedPtr<FEditorViewportClient> ViewportClient = ViewportRef->GetViewportClient();
check(ViewportClient.IsValid());
return ViewportClient->IsViewModeEnabled(VMI_VisualizeBuffer);
})
),
EUserInterfaceActionType::RadioButton,
/* bInOpenSubMenuOnClick = */ false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), "EditorViewport.VisualizeBufferMode")
);
}
{
FToolMenuSection& Section = Menu->FindOrAddSection("ViewMode");
Section.AddSubMenu(
"VisualizeNaniteViewMode",
LOCTEXT("VisualizeNaniteViewModeDisplayName", "Nanite Visualization"),
LOCTEXT("NaniteVisualizationMenu_ToolTip", "Select a mode for Nanite visualization"),
FNewMenuDelegate::CreateStatic(&FNaniteVisualizationMenuCommands::BuildVisualisationSubMenu),
FUIAction(
FExecuteAction(),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([this]()
{
const TSharedRef<SEditorViewport> ViewportRef = Viewport.Pin().ToSharedRef();
const TSharedPtr<FEditorViewportClient> ViewportClient = ViewportRef->GetViewportClient();
check(ViewportClient.IsValid());
return ViewportClient->IsViewModeEnabled(VMI_VisualizeNanite);
})
),
EUserInterfaceActionType::RadioButton,
/* bInOpenSubMenuOnClick = */ false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), "EditorViewport.VisualizeNaniteMode")
);
}
Refactored Lumen visualization views and show flag in order to improve user experience. All Lumen visualization modes and show flags were moved into Lumen submenus for easier discovery. View modes were made exclusive (only one may be active at a time). Additonally exposed new view modes and show flags in order to easier debug and understand Lumen. Lit->Lumen Added Lit->Lumen submenu with 4 view modes - Lumen Scene, Lumen Reflection View, Lumen Surface Cache and Overview: * Lumen Scene - same as ShowFlags->VisualizeLumenScene. Visualizes Lumen scene representation in highest possible quality, with highest possible view distance * Lumen Reflection View - Lumen Scene, but with current reflections settings. Basically represents how things look in the reflections * Lumen Surface Cache - visualizes surface cache and marks with pink missing surface cache coverage * Overview - 3 Lumen view mode tiles, overlaid on top of normal view Show->Lumen Added Show->Lumen submenu with 6 flags, which allow to disable specific trace types (screen space, detail, global, far field), disable secondary bounces (radiosity) and disable Screen Space Directional Occlusion. Show->Visualize Removed �Lumen Scene� (replaced by Lit->Lumen->Lumen Scene view mode) and �Lumen Global Illumination� (replaced by r.Lumen.Visualize.IndirectDiffuse) from Advanced visualization modes are accessible through r.Lumen.Visualize.Mode, which overrides current Lit->Lumen-> settings. Misc changes: * Renamed VisualizeLumenScene* to LumenVisualize* * Moved shared visualize parameters to LumenVisualize.h * Lumen HWRT visualize now uses same ray footprint as SWRT visualize * Replaced HALF_WORLD_MAX with Lumen::MaxTracingEndDistanceFromCamera and Lumen::MaxTraceDistance in preparation for the LWC WORLD_MAX changes #rb Patrick.Kelly, Daniel.Wright #preflight 61e73339b56c33b8ecf753b2 #ROBOMERGE-AUTHOR: krzysztof.narkowicz #ROBOMERGE-SOURCE: CL 18658215 in //UE5/Release-5.0/... via CL 18658227 via CL 18658249 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592) [CL 18658268 by krzysztof narkowicz in ue5-main branch]
2022-01-19 10:11:35 -05:00
{
FToolMenuSection& Section = Menu->FindOrAddSection("ViewMode");
Section.AddSubMenu(
"VisualizeLumenViewMode",
LOCTEXT("VisualizeLumenViewModeDisplayName", "Lumen"),
Refactored Lumen visualization views and show flag in order to improve user experience. All Lumen visualization modes and show flags were moved into Lumen submenus for easier discovery. View modes were made exclusive (only one may be active at a time). Additonally exposed new view modes and show flags in order to easier debug and understand Lumen. Lit->Lumen Added Lit->Lumen submenu with 4 view modes - Lumen Scene, Lumen Reflection View, Lumen Surface Cache and Overview: * Lumen Scene - same as ShowFlags->VisualizeLumenScene. Visualizes Lumen scene representation in highest possible quality, with highest possible view distance * Lumen Reflection View - Lumen Scene, but with current reflections settings. Basically represents how things look in the reflections * Lumen Surface Cache - visualizes surface cache and marks with pink missing surface cache coverage * Overview - 3 Lumen view mode tiles, overlaid on top of normal view Show->Lumen Added Show->Lumen submenu with 6 flags, which allow to disable specific trace types (screen space, detail, global, far field), disable secondary bounces (radiosity) and disable Screen Space Directional Occlusion. Show->Visualize Removed �Lumen Scene� (replaced by Lit->Lumen->Lumen Scene view mode) and �Lumen Global Illumination� (replaced by r.Lumen.Visualize.IndirectDiffuse) from Advanced visualization modes are accessible through r.Lumen.Visualize.Mode, which overrides current Lit->Lumen-> settings. Misc changes: * Renamed VisualizeLumenScene* to LumenVisualize* * Moved shared visualize parameters to LumenVisualize.h * Lumen HWRT visualize now uses same ray footprint as SWRT visualize * Replaced HALF_WORLD_MAX with Lumen::MaxTracingEndDistanceFromCamera and Lumen::MaxTraceDistance in preparation for the LWC WORLD_MAX changes #rb Patrick.Kelly, Daniel.Wright #preflight 61e73339b56c33b8ecf753b2 #ROBOMERGE-AUTHOR: krzysztof.narkowicz #ROBOMERGE-SOURCE: CL 18658215 in //UE5/Release-5.0/... via CL 18658227 via CL 18658249 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592) [CL 18658268 by krzysztof narkowicz in ue5-main branch]
2022-01-19 10:11:35 -05:00
LOCTEXT("LumenVisualizationMenu_ToolTip", "Select a mode for Lumen visualization"),
FNewMenuDelegate::CreateStatic(&FLumenVisualizationMenuCommands::BuildVisualisationSubMenu),
FUIAction(
FExecuteAction(),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([this]()
{
const TSharedRef<SEditorViewport> ViewportRef = Viewport.Pin().ToSharedRef();
const TSharedPtr<FEditorViewportClient> ViewportClient = ViewportRef->GetViewportClient();
check(ViewportClient.IsValid());
return ViewportClient->IsViewModeEnabled(VMI_VisualizeLumen);
})
),
EUserInterfaceActionType::RadioButton,
/* bInOpenSubMenuOnClick = */ false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), "EditorViewport.VisualizeLumenMode")
Refactored Lumen visualization views and show flag in order to improve user experience. All Lumen visualization modes and show flags were moved into Lumen submenus for easier discovery. View modes were made exclusive (only one may be active at a time). Additonally exposed new view modes and show flags in order to easier debug and understand Lumen. Lit->Lumen Added Lit->Lumen submenu with 4 view modes - Lumen Scene, Lumen Reflection View, Lumen Surface Cache and Overview: * Lumen Scene - same as ShowFlags->VisualizeLumenScene. Visualizes Lumen scene representation in highest possible quality, with highest possible view distance * Lumen Reflection View - Lumen Scene, but with current reflections settings. Basically represents how things look in the reflections * Lumen Surface Cache - visualizes surface cache and marks with pink missing surface cache coverage * Overview - 3 Lumen view mode tiles, overlaid on top of normal view Show->Lumen Added Show->Lumen submenu with 6 flags, which allow to disable specific trace types (screen space, detail, global, far field), disable secondary bounces (radiosity) and disable Screen Space Directional Occlusion. Show->Visualize Removed �Lumen Scene� (replaced by Lit->Lumen->Lumen Scene view mode) and �Lumen Global Illumination� (replaced by r.Lumen.Visualize.IndirectDiffuse) from Advanced visualization modes are accessible through r.Lumen.Visualize.Mode, which overrides current Lit->Lumen-> settings. Misc changes: * Renamed VisualizeLumenScene* to LumenVisualize* * Moved shared visualize parameters to LumenVisualize.h * Lumen HWRT visualize now uses same ray footprint as SWRT visualize * Replaced HALF_WORLD_MAX with Lumen::MaxTracingEndDistanceFromCamera and Lumen::MaxTraceDistance in preparation for the LWC WORLD_MAX changes #rb Patrick.Kelly, Daniel.Wright #preflight 61e73339b56c33b8ecf753b2 #ROBOMERGE-AUTHOR: krzysztof.narkowicz #ROBOMERGE-SOURCE: CL 18658215 in //UE5/Release-5.0/... via CL 18658227 via CL 18658249 #ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592) [CL 18658268 by krzysztof narkowicz in ue5-main branch]
2022-01-19 10:11:35 -05:00
);
}
{
FToolMenuSection& Section = Menu->FindOrAddSection("ViewMode");
Section.AddSubMenu(
"VisualizeVirtualShadowMapViewMode",
LOCTEXT("VisualizeVirtualShadowMapViewModeDisplayName", "Virtual Shadow Map"),
LOCTEXT("VirtualShadowMapVisualizationMenu_ToolTip", "Select a mode for virtual shadow map visualization. Select a light component in the world outliner to visualize that light."),
FNewMenuDelegate::CreateStatic(&FVirtualShadowMapVisualizationMenuCommands::BuildVisualisationSubMenu),
FUIAction(
FExecuteAction(),
FCanExecuteAction(),
FIsActionChecked::CreateLambda([this]()
{
const TSharedRef<SEditorViewport> ViewportRef = Viewport.Pin().ToSharedRef();
const TSharedPtr<FEditorViewportClient> ViewportClient = ViewportRef->GetViewportClient();
check(ViewportClient.IsValid());
return ViewportClient->IsViewModeEnabled(VMI_VisualizeVirtualShadowMap);
})
),
EUserInterfaceActionType::RadioButton,
/* bInOpenSubMenuOnClick = */ false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), "EditorViewport.VisualizeVirtualShadowMapMode")
);
}
{
FToolMenuSection& Section = Menu->AddSection("LevelViewportLandscape", LOCTEXT("LandscapeHeader", "Landscape"), InsertPosition);
struct Local
{
static void BuildLandscapeLODMenu(UToolMenu* Menu, SLevelViewportToolBar* Toolbar)
{
{
FToolMenuSection& SubMenuSection = Menu->AddSection("LevelViewportLandScapeLOD", LOCTEXT("LandscapeLODHeader", "Landscape LOD"));
SubMenuSection.AddMenuEntry(
"LandscapeLODAuto",
LOCTEXT("LandscapeLODAuto", "Auto"),
FText(),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP(Toolbar, &SLevelViewportToolBar::OnLandscapeLODChanged, -1),
FCanExecuteAction(),
FIsActionChecked::CreateSP(Toolbar, &SLevelViewportToolBar::IsLandscapeLODSettingChecked, -1)
),
EUserInterfaceActionType::RadioButton
);
SubMenuSection.AddSeparator("LandscapeLODSeparator");
static const FText FormatString = LOCTEXT("LandscapeLODFixed", "Fixed at {0}");
for (int32 i = 0; i < 8; ++i)
{
SubMenuSection.AddMenuEntry(
NAME_None,
FText::Format(FormatString, FText::AsNumber(i)),
FText(),
FSlateIcon(),
FUIAction(
FExecuteAction::CreateSP(Toolbar, &SLevelViewportToolBar::OnLandscapeLODChanged, i),
FCanExecuteAction(),
FIsActionChecked::CreateSP(Toolbar, &SLevelViewportToolBar::IsLandscapeLODSettingChecked, i)
),
EUserInterfaceActionType::RadioButton
);
}
}
}
};
Section.AddSubMenu(
"LandscapeLOD",
LOCTEXT("LandscapeLODDisplayName", "LOD"),
LOCTEXT("LandscapeLODMenu_ToolTip", "Override Landscape LOD in this viewport"),
FNewToolMenuDelegate::CreateStatic(&Local::BuildLandscapeLODMenu, this),
/*bInOpenSubMenuOnClick=*/ false,
FSlateIcon(FAppStyle::GetAppStyleSetName(), "EditorViewport.LOD")
);
}
}
void SLevelViewportToolBar::OnDisableRealtimeOverride()
{
if (TSharedPtr<SLevelViewport> ViewportPinned = Viewport.Pin())
{
ViewportPinned->GetLevelViewportClient().PopRealtimeOverride();
}
}
bool SLevelViewportToolBar::IsRealtimeOverrideToggleVisible() const
{
if (TSharedPtr<SLevelViewport> ViewportPinned = Viewport.Pin())
{
return ViewportPinned->GetLevelViewportClient().IsRealtimeOverrideSet();
}
return false;
}
FText SLevelViewportToolBar::GetRealtimeOverrideTooltip() const
{
if (TSharedPtr<SLevelViewport> ViewportPinned = Viewport.Pin())
{
return FText::Format(LOCTEXT("DisableRealtimeOverrideToolTip", "Realtime is currently overridden by \"{0}\". Click to remove that override"), ViewportPinned->GetLevelViewportClient().GetRealtimeOverrideMessage());
}
return FText::GetEmpty();
}
bool SLevelViewportToolBar::IsLandscapeLODSettingChecked(int32 Value) const
{
return Viewport.Pin()->GetLevelViewportClient().LandscapeLODOverride == Value;
}
void SLevelViewportToolBar::OnLandscapeLODChanged(int32 NewValue)
{
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
ViewportClient.LandscapeLODOverride = NewValue;
ViewportClient.Invalidate();
}
FReply SLevelViewportToolBar::OnRealtimeWarningClicked()
{
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
ViewportClient.SetRealtime(true);
return FReply::Handled();
}
EVisibility SLevelViewportToolBar::GetRealtimeWarningVisibility() const
{
FLevelEditorViewportClient& ViewportClient = Viewport.Pin()->GetLevelViewportClient();
// If the viewport is not realtime and there is no override then realtime is off
return !ViewportClient.IsRealtime() && !ViewportClient.IsRealtimeOverrideSet() && ViewportClient.IsPerspective() ? EVisibility::Visible : EVisibility::Collapsed;
}
FText SLevelViewportToolBar::GetScalabilityWarningLabel() const
{
const int32 QualityLevel = Scalability::GetQualityLevels().GetMinQualityLevel();
if (QualityLevel >= 0)
{
return FText::Format(LOCTEXT("ScalabilityWarning", "Scalability: {0}"), Scalability::GetScalabilityNameFromQualityLevel(QualityLevel));
}
return FText::GetEmpty();
}
EVisibility SLevelViewportToolBar::GetScalabilityWarningVisibility() const
{
//This method returns magic numbers. 3 means epic
return GetDefault<UEditorPerformanceSettings>()->bEnableScalabilityWarningIndicator && Scalability::GetQualityLevels().GetMinQualityLevel() != 3 ? EVisibility::Visible : EVisibility::Collapsed;
}
TSharedRef<SWidget> SLevelViewportToolBar::GetScalabilityWarningMenuContent() const
{
return
SNew(SBorder)
.BorderImage(FAppStyle::GetBrush("Menu.Background"))
[
SNew(SScalabilitySettings)
];
}
FLevelEditorViewportClient* ULevelViewportToolBarContext::GetLevelViewportClient()
{
if (LevelViewportToolBarWidget.IsValid())
{
return LevelViewportToolBarWidget.Pin()->GetLevelViewportClient();
}
return nullptr;
}
#undef LOCTEXT_NAMESPACE