2018-12-17 06:31:16 -05:00
|
|
|
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
2017-06-21 10:25:35 -04:00
|
|
|
|
|
|
|
|
#include "MaterialBakingModule.h"
|
|
|
|
|
#include "MaterialRenderItem.h"
|
|
|
|
|
#include "Engine/TextureRenderTarget2D.h"
|
|
|
|
|
#include "ExportMaterialProxy.h"
|
|
|
|
|
#include "Interfaces/IMainFrameModule.h"
|
|
|
|
|
#include "MaterialOptionsWindow.h"
|
|
|
|
|
#include "MaterialOptions.h"
|
|
|
|
|
#include "PropertyEditorModule.h"
|
|
|
|
|
#include "MaterialOptionsCustomization.h"
|
|
|
|
|
#include "UObject/UObjectGlobals.h"
|
|
|
|
|
#include "MaterialBakingStructures.h"
|
|
|
|
|
#include "Framework/Application/SlateApplication.h"
|
|
|
|
|
#include "MaterialBakingHelpers.h"
|
|
|
|
|
#include "Async/ParallelFor.h"
|
2019-08-21 10:14:22 -04:00
|
|
|
#include "Materials/MaterialInstance.h"
|
2017-06-21 10:25:35 -04:00
|
|
|
|
|
|
|
|
#if WITH_EDITOR
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
|
|
|
#include "Misc/FileHelper.h"
|
2017-06-21 10:25:35 -04:00
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_MODULE(FMaterialBakingModule, MaterialBaking);
|
|
|
|
|
|
|
|
|
|
#define LOCTEXT_NAMESPACE "MaterialBakingModule"
|
|
|
|
|
|
|
|
|
|
/** Cvars for advanced features */
|
|
|
|
|
static TAutoConsoleVariable<int32> CVarUseMaterialProxyCaching(
|
|
|
|
|
TEXT("MaterialBaking.UseMaterialProxyCaching"),
|
|
|
|
|
1,
|
|
|
|
|
TEXT("Determines whether or not Material Proxies should be cached to speed up material baking.\n")
|
|
|
|
|
TEXT("0: Turned Off\n")
|
|
|
|
|
TEXT("1: Turned On"),
|
|
|
|
|
ECVF_Default);
|
|
|
|
|
|
|
|
|
|
static TAutoConsoleVariable<int32> CVarSaveIntermediateTextures(
|
|
|
|
|
TEXT("MaterialBaking.SaveIntermediateTextures"),
|
|
|
|
|
0,
|
|
|
|
|
TEXT("Determines whether or not to save out intermediate BMP images for each flattened material property.\n")
|
|
|
|
|
TEXT("0: Turned Off\n")
|
|
|
|
|
TEXT("1: Turned On"),
|
|
|
|
|
ECVF_Default);
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::StartupModule()
|
|
|
|
|
{
|
|
|
|
|
// Set which properties should enforce gamme correction
|
|
|
|
|
FMemory::Memset(PerPropertyGamma, (uint8)false);
|
|
|
|
|
PerPropertyGamma[MP_Normal] = true;
|
|
|
|
|
PerPropertyGamma[MP_Opacity] = true;
|
|
|
|
|
PerPropertyGamma[MP_OpacityMask] = true;
|
|
|
|
|
|
|
|
|
|
// Set which pixel format should be used for the possible baked out material properties
|
|
|
|
|
FMemory::Memset(PerPropertyFormat, (uint8)PF_Unknown);
|
|
|
|
|
PerPropertyFormat[MP_EmissiveColor] = PF_FloatRGBA;
|
|
|
|
|
PerPropertyFormat[MP_Opacity] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_OpacityMask] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_BaseColor] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_Metallic] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_Specular] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_Roughness] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_Normal] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_AmbientOcclusion] = PF_B8G8R8A8;
|
|
|
|
|
PerPropertyFormat[MP_SubsurfaceColor] = PF_B8G8R8A8;
|
|
|
|
|
|
|
|
|
|
// Register property customization
|
|
|
|
|
FPropertyEditorModule& Module = FModuleManager::Get().LoadModuleChecked<FPropertyEditorModule>("PropertyEditor");
|
|
|
|
|
Module.RegisterCustomPropertyTypeLayout(TEXT("PropertyEntry"), FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FPropertyEntryCustomization::MakeInstance));
|
|
|
|
|
|
|
|
|
|
// Register callback for modified objects
|
|
|
|
|
FCoreUObjectDelegates::OnObjectModified.AddRaw(this, &FMaterialBakingModule::OnObjectModified);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::ShutdownModule()
|
|
|
|
|
{
|
|
|
|
|
// Urnegister customization and callback
|
2018-06-18 16:22:43 -04:00
|
|
|
FPropertyEditorModule* PropertyEditorModule = FModuleManager::GetModulePtr<FPropertyEditorModule>("PropertyEditor");
|
|
|
|
|
|
|
|
|
|
if (PropertyEditorModule)
|
|
|
|
|
{
|
|
|
|
|
PropertyEditorModule->UnregisterCustomPropertyTypeLayout(TEXT("PropertyEntry"));
|
|
|
|
|
}
|
2017-06-21 10:25:35 -04:00
|
|
|
FCoreUObjectDelegates::OnObjectModified.RemoveAll(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::BakeMaterials(const TArray<FMaterialData*>& MaterialSettings, const TArray<FMeshData*>& MeshSettings, TArray<FBakeOutput>& Output)
|
2018-05-23 21:04:31 -04:00
|
|
|
{
|
2017-06-21 10:25:35 -04:00
|
|
|
checkf(MaterialSettings.Num() == MeshSettings.Num(), TEXT("Number of material settings does not match that of MeshSettings"));
|
|
|
|
|
const int32 NumMaterials = MaterialSettings.Num();
|
|
|
|
|
const bool bSaveIntermediateTextures = CVarSaveIntermediateTextures.GetValueOnAnyThread() == 1;
|
|
|
|
|
|
|
|
|
|
for (int32 MaterialIndex = 0; MaterialIndex < NumMaterials; ++MaterialIndex)
|
|
|
|
|
{
|
|
|
|
|
const FMaterialData* CurrentMaterialSettings = MaterialSettings[MaterialIndex];
|
|
|
|
|
const FMeshData* CurrentMeshSettings = MeshSettings[MaterialIndex];
|
|
|
|
|
FBakeOutput& CurrentOutput = [&Output]() -> FBakeOutput&
|
|
|
|
|
{
|
|
|
|
|
Output.AddDefaulted(1);
|
|
|
|
|
return Output.Last();
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
// Canvas per size / special property?
|
|
|
|
|
TArray<TPair<UTextureRenderTarget2D*, FSceneViewFamily>> TargetsViewFamilyPairs;
|
|
|
|
|
TArray<FExportMaterialProxy*> MaterialRenderProxies;
|
|
|
|
|
TArray<EMaterialProperty> MaterialPropertiesToBakeOut;
|
|
|
|
|
|
|
|
|
|
TArray<UTexture*> MaterialTextures;
|
|
|
|
|
CurrentMaterialSettings->Material->GetUsedTextures(MaterialTextures, EMaterialQualityLevel::Num, true, GMaxRHIFeatureLevel, true);
|
|
|
|
|
|
|
|
|
|
// Force load materials used by the current material
|
|
|
|
|
for (UTexture* Texture : MaterialTextures)
|
|
|
|
|
{
|
|
|
|
|
if (Texture != NULL)
|
|
|
|
|
{
|
|
|
|
|
UTexture2D* Texture2D = Cast<UTexture2D>(Texture);
|
|
|
|
|
if (Texture2D)
|
|
|
|
|
{
|
|
|
|
|
Texture2D->SetForceMipLevelsToBeResident(30.0f);
|
|
|
|
|
Texture2D->WaitForStreaming();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Generate view family, material proxy and render targets for each material property being baked out
|
|
|
|
|
for (TMap<EMaterialProperty, FIntPoint>::TConstIterator PropertySizeIterator = CurrentMaterialSettings->PropertySizes.CreateConstIterator(); PropertySizeIterator; ++PropertySizeIterator)
|
|
|
|
|
{
|
|
|
|
|
const EMaterialProperty& Property = PropertySizeIterator.Key();
|
|
|
|
|
UTextureRenderTarget2D* RenderTarget = CreateRenderTarget(PerPropertyGamma[Property], PerPropertyFormat[Property], PropertySizeIterator.Value());
|
|
|
|
|
FExportMaterialProxy* Proxy = CreateMaterialProxy(CurrentMaterialSettings->Material, Property);
|
|
|
|
|
|
|
|
|
|
FSceneViewFamily ViewFamily(FSceneViewFamily::ConstructionValues(RenderTarget->GameThread_GetRenderTargetResource(), nullptr,
|
|
|
|
|
FEngineShowFlags(ESFIM_Game))
|
|
|
|
|
.SetWorldTimes(0.0f, 0.0f, 0.0f)
|
|
|
|
|
.SetGammaCorrection(RenderTarget->GameThread_GetRenderTargetResource()->GetDisplayGamma()));
|
|
|
|
|
|
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
|
|
|
TargetsViewFamilyPairs.Add(TPair<UTextureRenderTarget2D*, FSceneViewFamily>(RenderTarget, Forward<FSceneViewFamily>(ViewFamily)));
|
2017-06-21 10:25:35 -04:00
|
|
|
MaterialRenderProxies.Add(Proxy);
|
|
|
|
|
MaterialPropertiesToBakeOut.Add(Property);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const int32 NumPropertiesToRender = CurrentMaterialSettings->PropertySizes.Num();
|
|
|
|
|
if (NumPropertiesToRender > 0)
|
|
|
|
|
{
|
|
|
|
|
FCanvas Canvas(TargetsViewFamilyPairs[0].Key->GameThread_GetRenderTargetResource(), nullptr, FApp::GetCurrentTime() - GStartTime, FApp::GetDeltaTime(), FApp::GetCurrentTime() - GStartTime, GMaxRHIFeatureLevel);
|
|
|
|
|
Canvas.SetAllowedModes(FCanvas::Allow_Flush);
|
|
|
|
|
|
|
|
|
|
UTextureRenderTarget2D* PreviousRenderTarget = nullptr;
|
|
|
|
|
FTextureRenderTargetResource* RenderTargetResource = nullptr;
|
|
|
|
|
|
|
|
|
|
FMeshMaterialRenderItem RenderItem(CurrentMaterialSettings, CurrentMeshSettings, MaterialPropertiesToBakeOut[0]);
|
|
|
|
|
FCanvas::FCanvasSortElement& SortElement = Canvas.GetSortElement(Canvas.TopDepthSortKey());
|
2018-05-23 21:04:31 -04:00
|
|
|
|
2017-06-21 10:25:35 -04:00
|
|
|
for (int32 PropertyIndex = 0; PropertyIndex < NumPropertiesToRender; ++PropertyIndex)
|
|
|
|
|
{
|
|
|
|
|
const EMaterialProperty Property = MaterialPropertiesToBakeOut[PropertyIndex];
|
|
|
|
|
// Update render item
|
|
|
|
|
RenderItem.MaterialProperty = Property;
|
|
|
|
|
RenderItem.MaterialRenderProxy = MaterialRenderProxies[PropertyIndex];
|
|
|
|
|
|
|
|
|
|
UTextureRenderTarget2D* RenderTarget = TargetsViewFamilyPairs[PropertyIndex].Key;
|
|
|
|
|
if (RenderTarget != nullptr)
|
|
|
|
|
{
|
|
|
|
|
// Check if the render target changed, in which case we will need to reinit the resource, view family and possibly the mesh data
|
|
|
|
|
if (RenderTarget != PreviousRenderTarget)
|
|
|
|
|
{
|
|
|
|
|
// Setup render target and view family
|
|
|
|
|
RenderTargetResource = RenderTarget->GameThread_GetRenderTargetResource();
|
|
|
|
|
Canvas.SetRenderTarget_GameThread(RenderTargetResource);
|
|
|
|
|
const FRenderTarget* CanvasRenderTarget = Canvas.GetRenderTarget();
|
|
|
|
|
|
|
|
|
|
RenderItem.ViewFamily = &TargetsViewFamilyPairs[PropertyIndex].Value;
|
|
|
|
|
|
|
|
|
|
if (PreviousRenderTarget != nullptr && (PreviousRenderTarget->GetSurfaceHeight() != RenderTarget->GetSurfaceHeight() || PreviousRenderTarget->GetSurfaceWidth() != RenderTarget->GetSurfaceWidth()))
|
|
|
|
|
{
|
|
|
|
|
RenderItem.GenerateRenderData();
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3624379)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3536809 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 1.
Change 3536814 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 2.
Change 3596207 by Thomas.Sarkanen
Copying //Tasks/UE4/Dev-UEAP-29-PhATUpgrade to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3590250
PhAT Upgrade
#jira UEAP-29 - New PhysicsAsset editor
Changelists from task stream:
Change 3380649 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Initial pass at allowing viewports to be extended more easily, still plenty TOD, but just unearthing this old shelf and getting it working.
This gets the Persona skeleton tree and viewport into PhAT, without any PhAT functionality added.
Change 3380685 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renaming PhAT files to PhysicsAssetEditor
Change 3380749 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rename PhAT -> PhysicsAssetEditor
Change 3380832 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up PhAT to Physics Asset Editor
Change 3380884 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Reverted some over-zealous renaming
Change 3380970 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked ISkeletonTreeBuilder interface to make way for actually making a derived class of it
Added the ability to hide filter menus to skeleton tree
Change 3381017 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added new physics asset skeleton tree builder
Change 3384407 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree extensions to support physics assets
Only started this work - still much to do
Change 3384460 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged persona viewport menus
Change 3392222 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed body/constraint modes.
Added graph editor
Added edit mode - moved viewport client code over
Got PhAT skel mesh rendering in viewport
Change 3392268 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Increased hit proxy priority to improve selection
Change 3401648 on 2017/04/20 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree gets bodies & shapes back.
Selection works in graph, now displaying the correct constraint in the detials panel. Still need to add selection from viewport.
Added multi-select to bone proxy customization
Re-tweaked editor layout
Change 3403701 on 2017/04/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection sync work.
Customization of anim viewport menus.
Context menus for physics asset items, as well as masking of various context menu items via settings.
Change 3405246 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Started more work on viewport menu extensions, but need to refactor the toolbar system to use actual multiboxes. Up next!
Change 3405274 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
More viewport menu fixups (plus deleting duplicate functionality).
Change 3409155 on 2017/04/26 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Got simulation working again - as we switched to the debug skel mesh comp, the normal tick path didnt work for post-blend physics (it tried to flip the buffer too early).
Also tweaked debug skel mesh comp root motion consumption code to not reset transfor every frame if we are not using root motion.
Cleaned up unused files & code
Change 3410814 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Allow extensibility of viewport menu bars
Slate changes:
Allow menu bars to optionally specify an icon to use. This is intended to allow us to move viewport tool/menu bars over to use multibox, with all the attendant features and extension points.
Allow menu bars to optionally invert-on-hover.
Allow styling of menus to affect closed appearance of menu header. Previously only NoBorder was used.
Adjusted core styling of menu bar elements.
Other changes:
Adjusted padding for various UI elements to preserve previoud behavior.
Adjusted SAnimViewportToolbar to use the new menu bar builder.
Exposed SEditorViewportViewMenu so that it can be used in a standard menu bar.
Change 3410816 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added extension point to viewport menu bar
Change 3410818 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Getting sim working again
Moved over to using preview instance so we share functionality with Persona editors.
Added time dilation options to persona preview scene.
Removed PhAT specific recording functionality (it is in the viewport now).
Change 3410840 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Recreate physics state on edit, not sim start
This allows velocity to be inherited when simulation is started
Change 3410863 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moving viewport to continually-invalidated one like animation editors
Fixed crash in non-extended viewport toolbars
Change 3410936 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bodies start off non-expanded
Selection now synced between viewport and graph
Constraint selection in graph not works on the first try
Change 3410943 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added missing icon
Change 3410966 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed shape listing from graph nodes
Change 3411013 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Double click on body node recenters graph
Fixed graph disappearing on right-click
Change 3411111 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented cursor getting swallowed in sim mode
Change 3411126 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed overlapping text
Change 3411213 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Node layout now takes dimensions into account
Change 3411320 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash opening Persona editors
Renamed file
Change 3411327 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to profiles menu
Change 3420822 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Profiles can now be edited in their own details panel
Existing customizations folded into the new panel
Tweaks to toolbar
Added the ability for the persona details panel to have extra top/bottom content added
Change 3420832 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Add profile control to context menus
Also delete old unused code
Change 3422651 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Toolbar trimmed down & re-ordered
Body/constraint ops moved to context menus
Apply physmat now a context-menu option with an asset picker
Change 3422654 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed extra warning dialog when auto-creating bodies
Changed title of new asset dialog to "auto-create bodies"
Change 3422680 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix "simulate selected"
As we dont re-init the physics state each time we start simulating, our tweaked physics type was never applied. We now manually do this in the editor.
Change 3422937 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Replaced EKCollisionPrimitiveType with EAggCollisionShape::Type
Fixed up selection so body selection works & tree seleciton is properly synced with viewport
Added recursion guard to selection delegate handlers.
Removed vestigial instance property editing support (no longer needed).
Removed unused old tree support code
Change 3423034 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added constraints to tree
Change 3423318 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix bone proxiies stopping updating after initial viewport selection
Change 3424993 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up selection issues when creating new bodies
Added constraint context menu
Change 3424998 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved icons to central location
Change 3425445 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Customized filtering of the skeleton tree
Hide constraints by defualt
Added option to hide parents when filtering (so the vertical space is nto wasted, but some idea of hierarchy is preserved).
BREAKING CHANGE: changed skeleton tree filtering API to add args & removed bWillFilter bool.
Change 3425488 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3425303
Change 3427886 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved physics sim options to viewport menu (so seleciton changing is not required to change them)
Moved physics-related rendering options to show menu
We no longer switch to sim options when nothing is selected.
During simulation we now disable the details panel
Constraint scaling now works correctly (rather than just scaling the screen size limit that axes only are rendered)
Change 3428040 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Small fixes based on feedback:
Exposed Mirror tool to menus
Exposed constraint quick actions to menus
Added edit condition to Position & Velocity strength for physical animation
Fixed up some tooltips & display names
Change 3428143 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Defaulted to constraints as points
Change 3428216 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Request from Nick D:
Update in-level primitive transforms immediately, rather than on mouse up. We only do this for non-convex primitives however, to avoid re-cooking meshes.
Change 3430326 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to rendering of constraints and shapes to allow for better seleciton & interaction with editor widgets.
Slightly increased point-constraint rendering size and added crosshair cursor to constraints
Change 3430327 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed object-reuse issue in skeleton tree items with sanem names (use a GUID instead)
Change 3430391 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed duplicate time dilation (can just use viewport menu!)
Change 3430419 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge
Prevent crash by attaching to root component in the correct place
Add IWYU include for TArrayView
Remove more unused code
Change 3430443 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix constraint/body selection one final time
Move constraint drawing to SDPG_World (apart from point mode)
Remove depth offset in material
Change 3430495 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enabling/disabling collision between bodies is now clearer
Menu items are now enabled and disabled correctly depending on collision state
Tooltip reflects what actually gets done when the operation is enacted
Also corrected a few functions that still reference constraint & body mode
Change 3430553 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added enable/disable collision with all
Change 3432386 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code graph items based on current profile
Change 3432401 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code tree items too
Change 3432418 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bone selection & manipulation now possible - allows for pose setup before simulation
Item expansion now expands leaf nodes when selecting - helps with constraint selection etc.
Change 3432427 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix compile error
Color code according to simulated/kinematic status
Change 3432428 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
File i missed
Change 3432540 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added physics asset factory so physics assets can be created form the "new asset" menu.
Skeletal mesh is picked then a defualt asset is generated
Change 3432556 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Improve interactions with bones & bodies
Clear bone selection when selecting bodies/constraints
Always hide gizmo in simulate
Change 3432703 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused selection lock feature
Fixed selection working incorrectly with details panel closed
Change 3434710 on 2017/05/11 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection improvements
Multiselect in tree now only selects non-collapsed tree elements
Selection API revamped in shared data, so multiselect of constraints can work correctly (they appear more than once in the tree, so the preivous single-point-of-access API was insufficent).
Change 3489030 on 2017/06/14 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3488994
Change 3491459 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge issues
Change 3491486 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Simulation now works in a simlar way to the level editor
Only on 'simulate' button, which controls repeating the last simulation (be it selected or not). Options are on a dropdown.
Change 3491529 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed selection color of wireframe drawing (this broke ages ago!)
Fixed initialized environment color/intensity
Change 3491537 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked materials so they dont repend on seperate translucency (which is optional, and disabled currently)
Change 3491791 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when simulating selected new bodies
Make sure we recreate physics state appropriately (it used to be done on simulation start, so wasnt needed each time)
Change 3494359 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Select all is now a menu option
Context menu pops when right-clicking nothing now too
Menu no longer grows enormous when multiple types of objects are selected
Change 3494373 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enlarged constraint rendering size
Show constraints (rather than points) by default
Change 3511708 on 2017/06/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Assets now appear in the asset family shortcut bar
Physics Assets now render thumbnails
Skeleton tree can now work in 'picker' mode
Constraints can now be created manually in the graph, tree and viewport
Fixed double-click and mousewheel not working right sometimes
Change 3513121 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed clicks incorrectly selecting bones in simulate mode
Change 3513160 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Asset config is now loaded/saved
Fixed antoher corner case with viewport clicks in sim
Change 3513540 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved body creation params over to a details panel & settings object
Moved initial creation dialog over to use the new system too
Change 3513591 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renamed shapes and constraints in the tree view
Change 3513752 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Constraints are now not filtered by default
Change 3513797 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selecting constraints now shows them (and the bodies involved) in the graph
Change 3513859 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed "Show Kinematic Bodies"
We now always show kinematic status in simulate mode
Change 3515732 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
PhAT rendering settings are now persisted across sessions.
Access to sim/edit settings is now not gated on state of the editor. Sim/edit settings are always both available.
Added editable opacity to collision rendering.
Change 3515735 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
New materials with opacity parameter
Change 3515757 on 2017/06/29 by thomas.sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Re-saved materials
Change 3515759 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added ability to only show selected bodies as solid
Change 3515812 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix focus 'F' shortcut sometimes not working
Change 3515984 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix a bunch of selection issues with the graph not keeping in sync
Change 3517456 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3516853
Change 3517514 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed disappearing convex meshes on simulate
Also fixes crash in thumbnail rendering
Change 3517556 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled selection on mesh. Fixes selection issues.
Also made the hit proxy use a crosshair when over bodies, for easier selection
Change 3517642 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added body/body collision buttons back to the main toolbar
Fixed solid body drawing using the wrong material when no bodies are selected
Change 3517828 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix delete shortcut not working when tree is focused
Change 3517927 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Integrated per-bone primitive generation with the new tab method
Removed context menu item for bones (fixes duplicate popup)
Fixed undo/redo not working for regenerating all bodies
Change 3519931 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled body regeneration when simulation is running
Fixed up tab icons
Change 3519978 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Preview mesh is now set like every other Persona editor (via toolbar picker of via preview scene settings)
Animation picker removed from toolbar (we use the preview scene settings for this now)
Fixed profiles tab icon
Change 3519982 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Show attached assets in tree
Change 3519995 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix broken multi-selection of bone proxies
Change 3532799 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed code that prevented parts of the UI (like simulation) from working in PIE
Removed graph overlays & added "PHYSICS" label
Change 3532837 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed arrows from graph
Fixed dragging off constraints/input pins/bodies in constraint-created graphs
Constraint names now include both bodies
Change 3532880 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched from colors to icons in the skeleton tree
Removed bold fonts
Change 3532907 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Layout fixes
Added border around generate button in tools panel
Removed skeleton tree header in contexts where it is not needed
Change 3532932 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added slow task dialog for body generation
Change 3532992 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged context menus to be not so huge
Change 3533134 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged menus some more
Change 3533135 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Colorized details customization of swing/twist items
Change 3533174 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Auto-open assets when creating from skeletal mesh
Tweaked tooltip on suggestion from Nick D
Change 3535652 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed mirroring changes not showing up straight away
Change 3535731 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved over to Persona-style floor adjustment
Change 3539689 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked tooltips for filtering items
Change 3539693 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added "deselect all" option (Esc)
Change 3539731 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Graph selection tweaks
Selected bodies in the viewport/tree are now also selected in the graph.
Selection outline is now matched to the graph outline instead of using default outline.
Pin allocation no longer happens twice
Change 3539750 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched simulate shortcut to Alt+Enter
Avoids conflict with clobal PIS/SIE shortcuts
Change 3539933 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Minor body regeneration refactor
Label for tools tab button is dynamic depending on selection context
Generation setttings are now re-used by creation dialog too
Added in per-bone and per-body regeneration menu items. Bone regeneration now deletes the old body(s) instead of aborting
Change 3543884 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Resetting animation to default now correctly applies the animation
Change 3544101 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up physics asset editor's use of debug skel mesh component
This broke post-merge from Dev-AnimPhys.
Kinda hacky, but we need to double-flip the buffers in this case as we want to force non-threaded work AND also wait on the physics tick group to complete (to blend in physics).
This also requires making ShouldBlendPhysicsBones protected, otherwise the buffers are never flipped in the non=simulating case (before simulation is enabled in the physics asset editor).
Change 3547893 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved code to add/remove/assign/unassign profiles to details customization
Also allowed dupication again (via the menu)
Allows correct naming of new profiles as before (as this is handled in PostEdit)
#jira UE-47448 - Deleting profiles in Physics Asset Editor does not update the current profile
#jira UE-47514 - Unable to duplicate profiles in Physics Asset Editor
#jira UE-47384 - New profiles in Physics Asset Editor are all named the same
#jira UE-47375 - Physics Asset Editor 'None' current profile Delete option is available
#jira UE-47378 - Current Profile name boxes in Physics Asset Editor are size limited and overlap buttons if too long
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3547925 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented ctrl+selection of constraints from re-selecting
Avoided defered broadcast of seleciton event from the graph
#jira UE-47515 - Ctrl + click and Shift + click does not remove constraints from skeleton tree in Physics Asset Editor
Change 3550332 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed bodies incorrectly simulating outside of 'simulate' mode
Forced all bodies to be non-simulated when simulation is disabled.
Also removed non-functioning motor menu options & disabled more menu options when simulating
#jira UE-47579 - Entire mesh rotates uncontrollably after rotating a simulated body in Physics Asset Editor
Change 3550355 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when failing to create a physics asset with multi convex hull
#jira UE-47590 - Crash when New Physics Asset window is closed with no asset being created
Change 3558007 on 2017/07/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed typo that disabled editability of profile names incorrectly
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3566157 on 2017/08/01 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when opening a physics asset with a deleted preview skeletal mesh
Now assigns default mesh as before
If the mesh is then reset, the asset editor must be re-opened as the skeleton will have changed underneath it.
#jira UE-47918 - Crash when opening certain Physics Assets
Change 3568327 on 2017/08/02 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevent "set bodies below" from improperly enabling simulation on bodies
#jira UE-47752 - Set all bodies below to simulated causes the viewport to simulate those bodies immediately in Physics Asset Editor
Change 3570436 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics assets with simulated bodies no longer simulate when first opened
#jira UE-48000 - Physics assets with simulated bodies begin simulating when first opened
Change 3570470 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix excessive gravity crash when actors pop out of the world
Also restrict gravity to non NaN-causing levels.
#jira UE-48002 - Crash when mesh falls out of world due to high gravity simulation in Physics Asset Editor
Change 3570717 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3570581
Change 3570781 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix merge issues
Change 3587760 on 2017/08/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed delegate for skeleton tree context menu extension, now uses an empty section
Change 3589915 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added comments to bone proxy & physics asset editor shared data
Removed unused variables
Change 3589976 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed constraint 'all positions' rendering
Removed empty override of unregister tab spawners
Change 3589983 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when setting skeletal mesh
Toast is not displayed when the skeleton is changed as well as the skeletal mesh.
Toolkit was getting invalidated as setting the preview mesh to a different skeleton ends up restarting the sub-editor
#jira UE-48196 - Crash when changing preview mesh of Physics Asset and applying
Change 3589990 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics asset selection color now uses editor settings
Change 3589994 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused functions
Change 3589997 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Commented SetBodiesBelowPhysicsType as per code review
Change 3590007 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled physical material menu in simulate
Change 3590130 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused code
Commented a few functions
Re-instated preview mesh selection
Removed delegate allowing viewport client class creation
Change 3590154 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Remove unused code
Change 3590197 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3589965
Change 3590250 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup merge errors
Change 3596227 by Jonathan.Poncelet
Fixed physics substepping interpolation using the wrong starting value.
#jira UE-48150 Physics Substepping doesn't have the same effect from 4.15 to 4.16
Change 3596241 by Jonathan.Poncelet
Fixed cloth not being drawn correctly in the editor, due to bounds not being computed accurately.
#jira UE-48243 Clothing disappears during cloth paint mode once you navigate to a section far from the origin
Change 3596247 by Thomas.Sarkanen
Fixup CIS errors post PhAT Upgrade merge
Change 3596250 by Thomas.Sarkanen
More CIS fixes
Change 3596255 by Benn.Gallagher
Fixed compilation errors when nativizing animation blueprints that use subinstances
#jira UE-46522
Change 3596256 by Benn.Gallagher
Fixed orphaned sub anim instance pins hanging around
#jira UE-46545
Change 3596257 by Benn.Gallagher
Fixed skel surf particles being misplaced when clothing was active. And fixed particles spawning on disabled cloth proxy sections.
#jira UE-48045
Change 3596258 by Benn.Gallagher
Hide mass override when selecting skeletal meshes. Mass overrides are taken from physics asset and will be ignored on the component so it makes no sense to have this visible
#jira UE-47755
Change 3596259 by Benn.Gallagher
Fixed mismatch between paint values and view values for clothing tools
#jira UE-48110
Change 3596260 by Benn.Gallagher
Stopped property context menus killing the whole window stack when an item is clicked
#jira UE-48158
Change 3596261 by Thomas.Sarkanen
One last Mac CIS fix (hopefully)
Change 3596308 by Benn.Gallagher
Removed outdated references to APEX in clothing example map.
Change 3596360 by Martin.Wilson
Fixing inconsistent animation entries in blueprint context menu (displaying differently depending on whether the asset is loaded) + Cache correct tooltip when asset isn't loaded
#jira UE-48452
Change 3596459 by Benn.Gallagher
Fixed anim curves not correctly being updated to post process instances. Change made to curve update in Dev-General fixed main and sub instances but missed post process instances.
#jira UE-47567
Change 3596967 by Aaron.McLeran
Adding setting default reverb send level in audio settings.
Change 3596974 by Ethan.Geller
Merge in fix from Christopher Oliver
Change 3597243 by Aaron.McLeran
Checking in missing files.
Change 3597686 by Ethan.Geller
Fix warnings/errors from CL 3597452
Change 3597846 by Ethan.Geller
Fix errors, take 2
Change 3598290 by Ethan.Geller
Panning Angle Issue
Change 3598412 by Ethan.Geller
Change Core.h header to CoreMinimal.h, fix warnings
Change 3599797 by Jurre.deBaare
LODs from Merge Actor tool have bad normals
#jira UE-47129
#fix normals weren't wrong but user was complaining about the lightmap resolution behaviour, so added a new feature that calculates the lightmap resolution according to:
1) Summing all lightmap pixel counts for each mesh component being merged
2) Calculating fitting texture dimension by taking square root of the total pixels
Change 3599863 by Lina.Halper
PR #3919: rename flag 'DEPERCATED_PHYSBLEND_UPDATES_PHYSX' to 'DEPRECATED_PHYSBLEND_UPDATES_PHYSX' to fix the typo (Contributed by aziot)
Change 3599883 by Jurre.deBaare
HLOD: update outliner tooltip when UE docs arrive
#jira UE-20352
Change 3599944 by Martin.Wilson
Smart name refactor
- Remove guids entirely
- Remove automatic fix up
- Simplify smart name mapping container
- Make animations deterministic for cooking
#jira UEAP-264
Change 3600133 by Benn.Gallagher
Fixed crash shutting down editor with active cloth paint tab, as mode manager was being used unsafely.
#jira UE-48612
Change 3600166 by Benn.Gallagher
Fixed cloth paint gradient allowing invalid values
#jira UE-48114
Change 3600719 by Lina.Halper
PR #3894: PlayMontage node bug Fix (Contributed by ArCorvus)
Change 3601668 by Jurre.deBaare
Improve BlendSpace preview pin dragging controls
#fix Click and drag now also works for the preview pin which should allign it with other pins on the grid and makes the preview functionality more discoverable
#misc Also added tooltips on the grid to make the functionality more discoverable
#jira UE-43011
Change 3601669 by Jurre.deBaare
No easy way to tell which Blend Sample in the blend graph matches up to which Blend Sample in the Asset Details panel
#fix I've added the SampleIndex to the names to make it easier recognizing which one is which
#jira UE-46892
Change 3601731 by Benn.Gallagher
Fixed cloth paint falloff to actually calculate falloff, and take brush strength into account.
#jira UE-48329
Change 3601897 by Lina.Halper
fixing issue with sequencer reinitialization
#jira: UE-48556
Change 3602339 by Benn.Gallagher
Fixed comment/tooltip typo
Change 3602502 by Benn.Gallagher
Fixed clothing gradient tool renderer not showing selected points when camera was moving
#jira UE-48331
Change 3602664 by Ethan.Geller
Unshelved fixes from Dev-VR
Change 3602726 by Lina.Halper
Back out revision 3 from //UE4/Dev-AnimPhys/QAGame/QAGame.uproject
#jira: UE-48700
Change 3603011 by Lina.Halper
Fix build error
Change 3604139 by Benn.Gallagher
Restricted painter processing to no longer attempt painting while in simulation previews in cloth paint mode.
#jira UE-47960
Change 3604284 by Benn.Gallagher
Fixed crashes in physics asset editor and skeletal mesh editor when the preview scene clears out the preview mesh while clothing is running
#jira UE-48687
Change 3604612 by Lina.Halper
Fix curve issue from automation test
- It was actual bug.
Change 3604614 by Lina.Halper
- Fix crash with macro anim notify
- Make sure macro anim notify doesn't show up in the menu
#jira: UE-45036
Change 3604725 by Lina.Halper
fixed issue with opening state machine from anim graph
#jira: UE-48726
Change 3604971 by Aaron.McLeran
#jira UE-48738 Launching Oculus Rift without -VR plays audio in the oculus rift.
Bringing fix from 4.17 to Dev-AnimPhys
Change 3605787 by Aaron.McLeran
Adding ability to pass in an optional owner in PlaySound2D and PlaySoundAtLocation BP calls
- This is necessary in order to use the sound concurrency "limit by owner" feature
Change 3606851 by Jurre.deBaare
UE4Editor Static Analysis Win64 - Warning fix
Change 3607022 by Lina.Halper
Fix static analysis warning
Change 3607229 by Jurre.deBaare
RemoveAllCurveData should not allow removing data from the Skeleton
#jira UE-48107
Change 3607660 by Martin.Wilson
Live link client can run in cooked builds too
#jira UEAP-306
Change 3607668 by Ethan.Geller
#jira UE-48792 fix null dereference case in audiodevice.cpp
Change 3607734 by Lina.Halper
LOD linking to curve
- consolidated to one param - curve eval option
- for long time, looking at why morphtarget wasn't working on LOD 1, later realized it was due to simplified :(
- fixed to make sure param to clear is always checking with default value - this is correct behavior and it's not too bad for perf because internally the default value is also in the TMap
- flipped meaning to align with bAllowCurveEvaluation
- also fixed issue with orion cooking - where transform curves are added as normal curves
#jira: UE-37996, UE-48782
Change 3607859 by Martin.Wilson
Missed files from live link editor checkin
Change 3607958 by Martin.Wilson
Redo Jurre's changes from CL 3607229 (were removed by CL 3607734)
Change 3608566 by Ethan.Geller
change include to avoid header conflicts on Linux
Change 3609074 by Ethan.Geller
Take 2: Fix capitalization on include, fix Linux build.
Change 3610024 by Lina.Halper
Fix issue with material editor crashing due to missing load module of AdvancedPreviewScene
- we used to load advanced preview setting by persona module
- this has been moved to persona tool kit, and now all other modules are crashing
- If we want to do it for tool kit, we have to make sure all other editor's loading should change also.
#jira: UE-48809
Change 3610081 by Jurre.deBaare
Animations can't be set on blend samples from the dropdown
#fix Skeleton asset registry tag now includes 'AssetTypeName' PathToAsset, so replacing compare with contains
#jira UE-48746
Change 3610088 by Jurre.deBaare
Editor crashes if you CtrlZ several times after adding animations to a 1D blendspace
#fix removed the hacky OnObjectPropertyChanged and tied the refresh into propertyhandles instead
#misc found out of sync widget values due to incorrect encapsulation inside of lambdas
#jira UE-48741
Change 3610862 by Ethan.Geller
Fix submix effects for situations where number of input channels does not equal output channels
Change 3611346 by Aaron.McLeran
Using audio thread platform affinity mask for audio render thread.
Change 3613297 by Ethan.Geller
Simple delay submix
Change 3614435 by Martin.Wilson
CIS fix
Change 3614482 by Martin.Wilson
Store root motion on anim instance instead of proxy to avoid thread safety stalls
#jira UE-46896
Change 3614483 by Martin.Wilson
Evaluate curves in anim offsets
#jira UE-47119
Change 3614495 by Jurre.deBaare
Reimport alembic file with new source option does not automatically tick any tracks
#fix If no tracks are set to import, reset them all to do so (we're assuming here the user is importing something completely different, and we wouldn't want her to import an empty animation either)
#jira UE-46141
Change 3614645 by Thomas.Sarkanen
Fixed physics assets not simulating when BlockAll was globally overridden
Persona viewport was overriding the collision profile back to BlockAll, which projects can override. Setting to the internal PhysicsActor profile prevents this, as it used to in PhAT
#jira UE-48591 - Physics assets not simulating correctly in Orion
Change 3614683 by Lina.Halper
Fixed crash when modifying default physicsasset
#jira: UE-48844
Change 3614721 by Jurre.deBaare
Vertex painting on skeletal meshes bound by physics asset
#fix Now try and find intersecting triangle if we do hit the mesh bounds, but not any physics bodies
#jira UE-48004
Change 3614730 by Thomas.Sarkanen
Fixed crash when regenerating multi convex hulls from zero-vert bones
We handled this in the single convex hull case, but multi did not.
#jira UE-48780 - Editor crashes if you regenerate a box body to a complex hull body
Change 3614763 by Jurre.deBaare
Moving over:
HLOD crash when dragging and dropping actors into their own cluster in the HLOD outliner - ALODActor
#jira UE-48249
#fix ensure that we nullptr check the static mesh as a LODActor can be reset to have a null static mesh
Change 3615029 by Lina.Halper
Fix issue with highlight
#jira: UE-48855
Change 3617593 by Thomas.Sarkanen
Fixed crash when regenerating large amounts of bodies
We were overflowing the PhysX shape limit for aggregates - this refers to shapes, not bodies, it seems
#jira UE-48606 - Crash when adding new multi convex hull body to bone on skeleton that already has multi convex hull bodies
Change 3617609 by Jonathan.Poncelet
Fixed crash that could occur when opening a physics asset and deleting bones.
#jira UE-48971 Editor crashes if you clear a preview mesh on a physics asset and delete the bones when reopening it
Change 3617723 by Thomas.Sarkanen
Prevented actors & components of anim preview scenes (and the preview scenes themselves) from persisting after editors are shut down
Fixed up 2 locations where the persona toolkit was being held onto by a strong ptr (cloth paint and new PhAT). This should stop the preview scene from persisting.
Moved AddToRoot pattern used for anim preview scene to FGCObject
#jira UE-47227 - [CrashReport] UE4Editor_Persona!TSharedPtr<IEditableSkeleton,0>::ToSharedRef() [sharedpointer.h:794]
#jira UE-47717 - SkelMesh Editor creates preview World, but it never gets destroyed
Change 3617818 by Benn.Gallagher
Final v1 UX changes for clothing tool, and removed experimental flag
Change 3617937 by Jurre.deBaare
Default bounds for Alembic skel-mesh are too large
#fix bounds was initialised to zero and +-ed which meant that it would always include (0,0,0) and enlarge the bounds
#jira UE-47139
Change 3618187 by Ethan.Geller
Implement Audiomixer in HTML5
Change 3618188 by Lina.Halper
Fix issue with highlight in persona
#jira: UE-49020
Change 3618229 by Lina.Halper
Fix crash on exit when modify is causing it to serialize again in the middle of tear down
#jira: UE-48025
Change 3618248 by Lina.Halper
fix issue by workaround where clamp is not happening with allowspin is false
#jira: UE-47001
Change 3618289 by Aaron.McLeran
Removing audio format types we're not using for simplicity
Change 3618291 by Martin.Wilson
Fix duplicate of curve name appearing in list when renaming
#jira UE-49041
Change 3618390 by Aaron.McLeran
Removing a case for DTYPE_Xenon since this is never used.
Change 3618425 by Martin.Wilson
Keep notify UI up to data across multiple editors when adding notifies to an animation
#jira UE-48104
Change 3619023 by Aaron.McLeran
Removing DTYPE_Xenon from XAudio2Buffer.cpp since it's not used
Change 3619129 by Aaron.McLeran
Source bus feature.
- New architectural feature for audio mixer that allows audio sources to route to other audio sources.
- Buses can be routed to each other
- Buses have a duration which can be set in bus asset
- Buses can choose between mono and stereo channels
- Sources can send to buses and also toggle to *only* output to buses (and bypass submixing)
- Will allow persistent source effects on different source audio, while also maintaining 3d spatialization capabilities. Lots of future features will build on this change: 3d audio-volume-based submixing, sidechaining, environment reflections, diagetic microphones, etc.
- Some engine changes and optimizations:
- Format conversion to float is done in async workers for decode vs the render callback
- Procedural sound waves can opt to output only float vs int16 PCM data (avoids a format conversion in audio mixer)
- Apply master attenuation at the final output vs per-source
- Fixed code that performs fade in/fade out for smooth startup and shutdown.
- Moved FSourceParam to FParam into DSP utility so others can use it.
- Some engine fixes:
- Audio spat plugins that are external sends will not send audio to default/base submix. But will also allow their audio to be panned and sent to submix sends (e.g. reverb) so external HRTF rendering can also get reverb effects, etc.
- Fixed an issue with pause
- Fixed an issue with the final source buffer in a source voice not getting properly rendered and causing discontinuties
- Fixed an issue with WorldID not getting set for listeners
TODO:
- fill out source bus details panel customization to hide USoundBase params which aren't relevant to source buses
Change 3619159 by Ethan.Geller
#jira UE-48950 fix steam audio crash on editor exit
Change 3619555 by Jonathan.Poncelet
Fixed constraint debug drawing arrows in the physics asset editor being too large.
#jira UE-48863 Limited constraints and free constraints are much larger on screen
Change 3619574 by Thomas.Sarkanen
Fixed debug link for animation blueprints not persisting when changing preview mesh
Anim instance is no longer re-created all the time when setting skeletal mesh, so we need to re-init the preview instance and re-set the linked skeletal mesh component manually when the mesh changes.
#jira UE-46642 - Switching Preview mesh when you've selected an AnimBP breaks the link between the AnimBP and PIE session
Change 3619586 by Thomas.Sarkanen
Fixed physics asset shortcut not working correctly in certain circumstances
FBox was using uninitialized memory
#jira UE-49034 - Pressing F to focus on a physics body focuses on the area in between the root and the physics body and not the selected body
Change 3619640 by Thomas.Sarkanen
Assets with no preview mesh now no longer allow access to other skeleton's physics assets in their shortcut bars
Unified the skeleton/mesh search code between FPersonaAssetFamily and FPersonaToolkit, so they bot *look* for a compatible skeletal mesh if one was not found on the asset (but still dont set it automatically).
#jira UE-49038 - If you open a skeleton or an animation it won't open persona with the correct physics asset in the quick switch bar
Change 3619644 by James.Golding
Change FBodyInstance::InstanceBodyIndex back to int32 (need to support ISMC with many instances)
#jira UE-47652
Change 3619654 by Martin.Wilson
Fix removing a curve when it isn't used on any animations
#jira UE-49048
Change 3619771 by Thomas.Sarkanen
Make sure the physics asset editor floor has collision, regardless of what BlockAll does
#jira UE-49088 - PhysicsAsset Editor Floor should not depend on BlockAll config
Change 3619803 by Jonathan.Poncelet
Fixed localization warnings caused by duplicate keys.
#jira UE-48580 //UE4/Main: Step "Build Engine Localization" has completed with 4 Warnings
Change 3619813 by Jurre.deBaare
Baked bones using a pose animation are rotated in the wrong direction
#fix root bone transform wasn't being taken into account while generating final bone transforms
#misc added debug logging for future work
#jira UE-47362
Change 3619830 by Jurre.deBaare
Biased Texture Size option is not functioning when Merging Actors
#fix Fixed up material baking setup after refactoring, now sets correct texture sizes again according to texture sizing type, this will be removed in the long term anyhow
#misc Found a bug in material rendering if previous render size < current render size it would not set the viewport size/projection matrix correctly which broke the material bake
#jira UE-48108
Change 3619859 by Thomas.Sarkanen
Fixed HLOD selection sphere persisting on undo/redo
Removed HLOD selection actors when the outliner is refreshed
#jira UE-47032 - HLOD Cluster radius sphere remains in level if you move an actor in a cluster and then undo the movement.
Change 3619871 by Martin.Wilson
Calculate root motion over the correct segment times, not the track times
#jira UE-43719
Change 3619898 by Thomas.Sarkanen
Improve UI feedback around bounds/in-game bounds in animation editor viewports
Tooltip for in-game bounds is now more detailed
In-game bounds cannot be selected if bounds is not also selected
#jira UE-47958 - Bound vs In-game Bound in Viewport Show menu in Physics Asset Editor is confusing
Change 3619908 by Thomas.Sarkanen
Fixed tooltip for PhysicsType
#jira UE-48421 - Incorrect tooltip for Physics Type
Change 3620014 by Jurre.deBaare
Only the first mesh bake material property in the array can be set to diffuse, diffuse cannot be selected on the other array elements
#fix Changed the way the restriction is setup and retrieve the UMaterialOptions from the details view instead of GetDefault<>
#misc Also added more delegates to ensure the restriction is up to date
#jira UE-46980
Change 3620104 by Jurre.deBaare
HLOD doesn't support renaming in levels
#fix ensure that during renaming of UWorld we also rename the HLOD assets into their respective new HLOD package outer
#jira UE-48072
Change 3620151 by Thomas.Sarkanen
Undo/redo now correctly affects animation preview scene settings
Preview scene desc is now transactional & state is correctly set up on undo/redo according to the current preview scene desc
#jira UE-47816 - Undoing setting the animation mode to Refrence pose doesn't update the UI
Change 3620152 by Thomas.Sarkanen
Exposed LOD menu in PhAT
This allows auto LOD to be optionaly selected. It was hidden and we forced to LOD 0 before. We still default to forcing LOD 0 to preserve the old behavior.
#jira UE-47970 - LODs not working in Physics Asset Editor
Change 3620177 by Benn.Gallagher
PR #3696: Fix for USkinnedMeshComponent::GetCPUSkinnedVertices() (Contributed by Koderz)
Change 3620250 by Jurre.deBaare
HLOD assets left in HLOD folder when clusters are deleted
#fix some added lifetime management for HLOD assets, keeping list of 'stale' HLOD assets which if not Undo-ed will either be deleted when LODActor is saved, or marked PendingKill when LODActor is destroyed
#jira UE-47450
Change 3620273 by James.Golding
PR #3908: Removing duplicated forward declation (Contributed by celsodantas)
#jira UE-48530
Change 3620274 by James.Golding
PR #3909: Removing unnecessary conditional (Contributed by celsodantas)
#jira UE-48531
Change 3620275 by James.Golding
Add icon for destruction plugin
Change 3620401 by Ethan.Geller
#jira UE-47684 Remove SDL dependencies from Win64
Change 3620586 by Jurre.deBaare
Linux CIS fix
Change 3620660 by Martin.Wilson
Fixes for state machines getting reinitialized in situations that users don't want them to.
-Added option to state machine to allow it to skip reinitialization when it becomes relevant
-Added option to slot nodes to keep source pose relevant while montage slot is playing.
#jira UE-43578
Change 3620665 by Aaron.McLeran
Making source buses only show relevant source bus data.
- hiding sound wave categories that aren't relevant to source buses
Change 3621087 by Ethan.Geller
#jira UE-49000 implement device change listener to ensure we are properly handling when audio is disabled.
Change 3621144 by Aaron.McLeran
#jira UE-49147
#jira UE-49145
Fixing concurrency and volume stats
Change 3621148 by Aaron.McLeran
Fixing typo
Change 3621180 by Ethan.Geller
#jira UE-49151 Fix for browser preview on bus only sounds
Change 3621421 by Ethan.Geller
#jira UE-49165 Fix real time audio slider.
Change 3621604 by Ethan.Geller
#jira UE-44847 fix iOS panning algorithm on non-audio mixer
Change 3621626 by Lina.Halper
Fix issue with anim montage displaying when selecting animation
#jira: UE-48749
Change 3621813 by Thomas.Sarkanen
Fixing undo/redo of bone modifications in Physics Asset Editor (and others)
Bone proxy objects now get recycled (instead of the pool constantly growing) as their names are stable and unique.
Fixed broken skeleton tree RTTI (so selection persistance now works correctly on undo/redo again)
We no longer force a re-selection on phyiscs asset changes (the tree takes care of that anyway).
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3621831 by Jurre.deBaare
Crash fix for Material baking when trying to analyse a MP_MAX material property
#jira UE-49172
Change 3621936 by Thomas.Sarkanen
Fixed CIS error from merge
Change 3621937 by Thomas.Sarkanen
Fix merge issue with API change in USynthComponent
Change 3622173 by Thomas.Sarkanen
Fixed ortho viewports being bright white in sub-editors
Preview scenes in general are responsible by default for the background color.
Advanced preview scenes now use background color from settings. Previously only te animation editors did this.
#jira UE-48841 - The background of the orthographic viewports is bright white
Change 3622730 by Ethan.Geller
#jira UE-49182 UE-49198 UE-49201 Fix for channel mismatch in procedural sound waves, remove singleton behavior for MMNotificationClient. CL by Aaron.McLeran
Change 3622759 by Ethan.Geller
#jira 49170 reduce static analysis warnings for audiodevice.cpp
Change 3622901 by Benn.Gallagher
Bumped PhysX DDC key after change in Orion caused verify failures
Change 3623458 by Aaron.McLeran
#jira UE-49204 Delores monologue cut short in Odin elevator
Change 3623667 by Aaron.McLeran
#jira UE-49204 UE-49243 Delores monologue cut short in Odin elevator
Change 3623752 by Aaron.McLeran
#jira UE-49247 Sound Source Bus Properties Are Inappropriate
Fixing issues with new source bus uobject so properties show up appropriately.
Change 3624058 by Ben.Marsh
Fix stale module being enumerated when running UE4Editor-Cmd.exe, causing warning when running incremental automated tests.
Module and version manifest filenames are derived from the executable filename, so when running the executable compiled for the console subsystem, we need to strip the -Cmd suffix from the executable name to find the correct path.
Change 3624193 by Ethan.Geller
#jira UE-49170 Static analysis fix, take 2
Change 3354003 by Thomas.Sarkanen
Back out changelist 3353914
Change 3355932 by Thomas.Sarkanen
Back out changelist 3354003
Reinstating merge from Main:
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839
Change 3477632 by Jurre.deBaare
Automated test content and ground truths for Actor Merging and Material baking functionality
Change 3491464 by Jurre.deBaare
Updated automation content for MergeActor behaviour
Change 3587878 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3587489
Change 3597452 by Ethan.Geller
#jira UEAP-304, UEAP-280, UEAP-281: Major structural refactor of Audio Plugin interfaces, Oculus Audio plugin, Steam Audio Plugin. Introduction of Sony Audio3D plugin.
Change 3602935 by Lina.Halper
Allow curve evaluation to be controlled by users
#jira: UE-46446
Change 3606120 by Ethan.Geller
Move Tap Delay Submix to Synthesis library, modify tap delay API
Change 3621830 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3621691
Change 3622807 by Ethan.Geller
#jira UE-49201 Fixing volume issues
Issue is that these platforms weren't using the proper public function and an audio mixer refactor changed how volume is calculated to seperate out distance attenuation vs other volume gains.
[CL 3624383 by Thomas Sarkanen in Main branch]
2017-09-04 04:17:46 -04:00
|
|
|
Canvas.SetRenderTargetRect(FIntRect(0, 0, RenderTarget->GetSurfaceWidth(), RenderTarget->GetSurfaceHeight()));
|
|
|
|
|
Canvas.SetBaseTransform(Canvas.CalcBaseTransform2D(RenderTarget->GetSurfaceWidth(), RenderTarget->GetSurfaceHeight()));
|
2017-06-21 10:25:35 -04:00
|
|
|
PreviousRenderTarget = RenderTarget;
|
|
|
|
|
}
|
2018-05-23 21:04:31 -04:00
|
|
|
|
|
|
|
|
// TODO find out why this is required
|
|
|
|
|
static bool bDoubleFlush = false;
|
|
|
|
|
if (IsRunningCommandlet() && !bDoubleFlush)
|
|
|
|
|
{
|
|
|
|
|
Canvas.Clear(RenderTarget->ClearColor);
|
|
|
|
|
SortElement.RenderBatchArray.Add(&RenderItem);
|
|
|
|
|
Canvas.Flush_GameThread();
|
|
|
|
|
FlushRenderingCommands();
|
|
|
|
|
bDoubleFlush = true;
|
|
|
|
|
}
|
2017-06-21 10:25:35 -04:00
|
|
|
|
|
|
|
|
// Clear canvas before rendering
|
|
|
|
|
Canvas.Clear(RenderTarget->ClearColor);
|
|
|
|
|
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3624379)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3536809 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 1.
Change 3536814 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 2.
Change 3596207 by Thomas.Sarkanen
Copying //Tasks/UE4/Dev-UEAP-29-PhATUpgrade to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3590250
PhAT Upgrade
#jira UEAP-29 - New PhysicsAsset editor
Changelists from task stream:
Change 3380649 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Initial pass at allowing viewports to be extended more easily, still plenty TOD, but just unearthing this old shelf and getting it working.
This gets the Persona skeleton tree and viewport into PhAT, without any PhAT functionality added.
Change 3380685 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renaming PhAT files to PhysicsAssetEditor
Change 3380749 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rename PhAT -> PhysicsAssetEditor
Change 3380832 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up PhAT to Physics Asset Editor
Change 3380884 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Reverted some over-zealous renaming
Change 3380970 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked ISkeletonTreeBuilder interface to make way for actually making a derived class of it
Added the ability to hide filter menus to skeleton tree
Change 3381017 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added new physics asset skeleton tree builder
Change 3384407 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree extensions to support physics assets
Only started this work - still much to do
Change 3384460 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged persona viewport menus
Change 3392222 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed body/constraint modes.
Added graph editor
Added edit mode - moved viewport client code over
Got PhAT skel mesh rendering in viewport
Change 3392268 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Increased hit proxy priority to improve selection
Change 3401648 on 2017/04/20 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree gets bodies & shapes back.
Selection works in graph, now displaying the correct constraint in the detials panel. Still need to add selection from viewport.
Added multi-select to bone proxy customization
Re-tweaked editor layout
Change 3403701 on 2017/04/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection sync work.
Customization of anim viewport menus.
Context menus for physics asset items, as well as masking of various context menu items via settings.
Change 3405246 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Started more work on viewport menu extensions, but need to refactor the toolbar system to use actual multiboxes. Up next!
Change 3405274 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
More viewport menu fixups (plus deleting duplicate functionality).
Change 3409155 on 2017/04/26 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Got simulation working again - as we switched to the debug skel mesh comp, the normal tick path didnt work for post-blend physics (it tried to flip the buffer too early).
Also tweaked debug skel mesh comp root motion consumption code to not reset transfor every frame if we are not using root motion.
Cleaned up unused files & code
Change 3410814 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Allow extensibility of viewport menu bars
Slate changes:
Allow menu bars to optionally specify an icon to use. This is intended to allow us to move viewport tool/menu bars over to use multibox, with all the attendant features and extension points.
Allow menu bars to optionally invert-on-hover.
Allow styling of menus to affect closed appearance of menu header. Previously only NoBorder was used.
Adjusted core styling of menu bar elements.
Other changes:
Adjusted padding for various UI elements to preserve previoud behavior.
Adjusted SAnimViewportToolbar to use the new menu bar builder.
Exposed SEditorViewportViewMenu so that it can be used in a standard menu bar.
Change 3410816 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added extension point to viewport menu bar
Change 3410818 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Getting sim working again
Moved over to using preview instance so we share functionality with Persona editors.
Added time dilation options to persona preview scene.
Removed PhAT specific recording functionality (it is in the viewport now).
Change 3410840 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Recreate physics state on edit, not sim start
This allows velocity to be inherited when simulation is started
Change 3410863 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moving viewport to continually-invalidated one like animation editors
Fixed crash in non-extended viewport toolbars
Change 3410936 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bodies start off non-expanded
Selection now synced between viewport and graph
Constraint selection in graph not works on the first try
Change 3410943 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added missing icon
Change 3410966 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed shape listing from graph nodes
Change 3411013 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Double click on body node recenters graph
Fixed graph disappearing on right-click
Change 3411111 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented cursor getting swallowed in sim mode
Change 3411126 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed overlapping text
Change 3411213 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Node layout now takes dimensions into account
Change 3411320 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash opening Persona editors
Renamed file
Change 3411327 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to profiles menu
Change 3420822 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Profiles can now be edited in their own details panel
Existing customizations folded into the new panel
Tweaks to toolbar
Added the ability for the persona details panel to have extra top/bottom content added
Change 3420832 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Add profile control to context menus
Also delete old unused code
Change 3422651 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Toolbar trimmed down & re-ordered
Body/constraint ops moved to context menus
Apply physmat now a context-menu option with an asset picker
Change 3422654 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed extra warning dialog when auto-creating bodies
Changed title of new asset dialog to "auto-create bodies"
Change 3422680 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix "simulate selected"
As we dont re-init the physics state each time we start simulating, our tweaked physics type was never applied. We now manually do this in the editor.
Change 3422937 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Replaced EKCollisionPrimitiveType with EAggCollisionShape::Type
Fixed up selection so body selection works & tree seleciton is properly synced with viewport
Added recursion guard to selection delegate handlers.
Removed vestigial instance property editing support (no longer needed).
Removed unused old tree support code
Change 3423034 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added constraints to tree
Change 3423318 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix bone proxiies stopping updating after initial viewport selection
Change 3424993 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up selection issues when creating new bodies
Added constraint context menu
Change 3424998 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved icons to central location
Change 3425445 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Customized filtering of the skeleton tree
Hide constraints by defualt
Added option to hide parents when filtering (so the vertical space is nto wasted, but some idea of hierarchy is preserved).
BREAKING CHANGE: changed skeleton tree filtering API to add args & removed bWillFilter bool.
Change 3425488 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3425303
Change 3427886 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved physics sim options to viewport menu (so seleciton changing is not required to change them)
Moved physics-related rendering options to show menu
We no longer switch to sim options when nothing is selected.
During simulation we now disable the details panel
Constraint scaling now works correctly (rather than just scaling the screen size limit that axes only are rendered)
Change 3428040 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Small fixes based on feedback:
Exposed Mirror tool to menus
Exposed constraint quick actions to menus
Added edit condition to Position & Velocity strength for physical animation
Fixed up some tooltips & display names
Change 3428143 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Defaulted to constraints as points
Change 3428216 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Request from Nick D:
Update in-level primitive transforms immediately, rather than on mouse up. We only do this for non-convex primitives however, to avoid re-cooking meshes.
Change 3430326 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to rendering of constraints and shapes to allow for better seleciton & interaction with editor widgets.
Slightly increased point-constraint rendering size and added crosshair cursor to constraints
Change 3430327 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed object-reuse issue in skeleton tree items with sanem names (use a GUID instead)
Change 3430391 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed duplicate time dilation (can just use viewport menu!)
Change 3430419 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge
Prevent crash by attaching to root component in the correct place
Add IWYU include for TArrayView
Remove more unused code
Change 3430443 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix constraint/body selection one final time
Move constraint drawing to SDPG_World (apart from point mode)
Remove depth offset in material
Change 3430495 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enabling/disabling collision between bodies is now clearer
Menu items are now enabled and disabled correctly depending on collision state
Tooltip reflects what actually gets done when the operation is enacted
Also corrected a few functions that still reference constraint & body mode
Change 3430553 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added enable/disable collision with all
Change 3432386 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code graph items based on current profile
Change 3432401 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code tree items too
Change 3432418 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bone selection & manipulation now possible - allows for pose setup before simulation
Item expansion now expands leaf nodes when selecting - helps with constraint selection etc.
Change 3432427 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix compile error
Color code according to simulated/kinematic status
Change 3432428 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
File i missed
Change 3432540 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added physics asset factory so physics assets can be created form the "new asset" menu.
Skeletal mesh is picked then a defualt asset is generated
Change 3432556 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Improve interactions with bones & bodies
Clear bone selection when selecting bodies/constraints
Always hide gizmo in simulate
Change 3432703 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused selection lock feature
Fixed selection working incorrectly with details panel closed
Change 3434710 on 2017/05/11 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection improvements
Multiselect in tree now only selects non-collapsed tree elements
Selection API revamped in shared data, so multiselect of constraints can work correctly (they appear more than once in the tree, so the preivous single-point-of-access API was insufficent).
Change 3489030 on 2017/06/14 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3488994
Change 3491459 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge issues
Change 3491486 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Simulation now works in a simlar way to the level editor
Only on 'simulate' button, which controls repeating the last simulation (be it selected or not). Options are on a dropdown.
Change 3491529 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed selection color of wireframe drawing (this broke ages ago!)
Fixed initialized environment color/intensity
Change 3491537 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked materials so they dont repend on seperate translucency (which is optional, and disabled currently)
Change 3491791 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when simulating selected new bodies
Make sure we recreate physics state appropriately (it used to be done on simulation start, so wasnt needed each time)
Change 3494359 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Select all is now a menu option
Context menu pops when right-clicking nothing now too
Menu no longer grows enormous when multiple types of objects are selected
Change 3494373 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enlarged constraint rendering size
Show constraints (rather than points) by default
Change 3511708 on 2017/06/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Assets now appear in the asset family shortcut bar
Physics Assets now render thumbnails
Skeleton tree can now work in 'picker' mode
Constraints can now be created manually in the graph, tree and viewport
Fixed double-click and mousewheel not working right sometimes
Change 3513121 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed clicks incorrectly selecting bones in simulate mode
Change 3513160 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Asset config is now loaded/saved
Fixed antoher corner case with viewport clicks in sim
Change 3513540 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved body creation params over to a details panel & settings object
Moved initial creation dialog over to use the new system too
Change 3513591 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renamed shapes and constraints in the tree view
Change 3513752 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Constraints are now not filtered by default
Change 3513797 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selecting constraints now shows them (and the bodies involved) in the graph
Change 3513859 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed "Show Kinematic Bodies"
We now always show kinematic status in simulate mode
Change 3515732 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
PhAT rendering settings are now persisted across sessions.
Access to sim/edit settings is now not gated on state of the editor. Sim/edit settings are always both available.
Added editable opacity to collision rendering.
Change 3515735 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
New materials with opacity parameter
Change 3515757 on 2017/06/29 by thomas.sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Re-saved materials
Change 3515759 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added ability to only show selected bodies as solid
Change 3515812 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix focus 'F' shortcut sometimes not working
Change 3515984 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix a bunch of selection issues with the graph not keeping in sync
Change 3517456 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3516853
Change 3517514 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed disappearing convex meshes on simulate
Also fixes crash in thumbnail rendering
Change 3517556 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled selection on mesh. Fixes selection issues.
Also made the hit proxy use a crosshair when over bodies, for easier selection
Change 3517642 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added body/body collision buttons back to the main toolbar
Fixed solid body drawing using the wrong material when no bodies are selected
Change 3517828 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix delete shortcut not working when tree is focused
Change 3517927 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Integrated per-bone primitive generation with the new tab method
Removed context menu item for bones (fixes duplicate popup)
Fixed undo/redo not working for regenerating all bodies
Change 3519931 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled body regeneration when simulation is running
Fixed up tab icons
Change 3519978 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Preview mesh is now set like every other Persona editor (via toolbar picker of via preview scene settings)
Animation picker removed from toolbar (we use the preview scene settings for this now)
Fixed profiles tab icon
Change 3519982 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Show attached assets in tree
Change 3519995 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix broken multi-selection of bone proxies
Change 3532799 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed code that prevented parts of the UI (like simulation) from working in PIE
Removed graph overlays & added "PHYSICS" label
Change 3532837 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed arrows from graph
Fixed dragging off constraints/input pins/bodies in constraint-created graphs
Constraint names now include both bodies
Change 3532880 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched from colors to icons in the skeleton tree
Removed bold fonts
Change 3532907 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Layout fixes
Added border around generate button in tools panel
Removed skeleton tree header in contexts where it is not needed
Change 3532932 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added slow task dialog for body generation
Change 3532992 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged context menus to be not so huge
Change 3533134 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged menus some more
Change 3533135 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Colorized details customization of swing/twist items
Change 3533174 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Auto-open assets when creating from skeletal mesh
Tweaked tooltip on suggestion from Nick D
Change 3535652 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed mirroring changes not showing up straight away
Change 3535731 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved over to Persona-style floor adjustment
Change 3539689 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked tooltips for filtering items
Change 3539693 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added "deselect all" option (Esc)
Change 3539731 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Graph selection tweaks
Selected bodies in the viewport/tree are now also selected in the graph.
Selection outline is now matched to the graph outline instead of using default outline.
Pin allocation no longer happens twice
Change 3539750 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched simulate shortcut to Alt+Enter
Avoids conflict with clobal PIS/SIE shortcuts
Change 3539933 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Minor body regeneration refactor
Label for tools tab button is dynamic depending on selection context
Generation setttings are now re-used by creation dialog too
Added in per-bone and per-body regeneration menu items. Bone regeneration now deletes the old body(s) instead of aborting
Change 3543884 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Resetting animation to default now correctly applies the animation
Change 3544101 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up physics asset editor's use of debug skel mesh component
This broke post-merge from Dev-AnimPhys.
Kinda hacky, but we need to double-flip the buffers in this case as we want to force non-threaded work AND also wait on the physics tick group to complete (to blend in physics).
This also requires making ShouldBlendPhysicsBones protected, otherwise the buffers are never flipped in the non=simulating case (before simulation is enabled in the physics asset editor).
Change 3547893 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved code to add/remove/assign/unassign profiles to details customization
Also allowed dupication again (via the menu)
Allows correct naming of new profiles as before (as this is handled in PostEdit)
#jira UE-47448 - Deleting profiles in Physics Asset Editor does not update the current profile
#jira UE-47514 - Unable to duplicate profiles in Physics Asset Editor
#jira UE-47384 - New profiles in Physics Asset Editor are all named the same
#jira UE-47375 - Physics Asset Editor 'None' current profile Delete option is available
#jira UE-47378 - Current Profile name boxes in Physics Asset Editor are size limited and overlap buttons if too long
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3547925 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented ctrl+selection of constraints from re-selecting
Avoided defered broadcast of seleciton event from the graph
#jira UE-47515 - Ctrl + click and Shift + click does not remove constraints from skeleton tree in Physics Asset Editor
Change 3550332 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed bodies incorrectly simulating outside of 'simulate' mode
Forced all bodies to be non-simulated when simulation is disabled.
Also removed non-functioning motor menu options & disabled more menu options when simulating
#jira UE-47579 - Entire mesh rotates uncontrollably after rotating a simulated body in Physics Asset Editor
Change 3550355 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when failing to create a physics asset with multi convex hull
#jira UE-47590 - Crash when New Physics Asset window is closed with no asset being created
Change 3558007 on 2017/07/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed typo that disabled editability of profile names incorrectly
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3566157 on 2017/08/01 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when opening a physics asset with a deleted preview skeletal mesh
Now assigns default mesh as before
If the mesh is then reset, the asset editor must be re-opened as the skeleton will have changed underneath it.
#jira UE-47918 - Crash when opening certain Physics Assets
Change 3568327 on 2017/08/02 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevent "set bodies below" from improperly enabling simulation on bodies
#jira UE-47752 - Set all bodies below to simulated causes the viewport to simulate those bodies immediately in Physics Asset Editor
Change 3570436 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics assets with simulated bodies no longer simulate when first opened
#jira UE-48000 - Physics assets with simulated bodies begin simulating when first opened
Change 3570470 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix excessive gravity crash when actors pop out of the world
Also restrict gravity to non NaN-causing levels.
#jira UE-48002 - Crash when mesh falls out of world due to high gravity simulation in Physics Asset Editor
Change 3570717 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3570581
Change 3570781 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix merge issues
Change 3587760 on 2017/08/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed delegate for skeleton tree context menu extension, now uses an empty section
Change 3589915 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added comments to bone proxy & physics asset editor shared data
Removed unused variables
Change 3589976 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed constraint 'all positions' rendering
Removed empty override of unregister tab spawners
Change 3589983 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when setting skeletal mesh
Toast is not displayed when the skeleton is changed as well as the skeletal mesh.
Toolkit was getting invalidated as setting the preview mesh to a different skeleton ends up restarting the sub-editor
#jira UE-48196 - Crash when changing preview mesh of Physics Asset and applying
Change 3589990 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics asset selection color now uses editor settings
Change 3589994 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused functions
Change 3589997 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Commented SetBodiesBelowPhysicsType as per code review
Change 3590007 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled physical material menu in simulate
Change 3590130 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused code
Commented a few functions
Re-instated preview mesh selection
Removed delegate allowing viewport client class creation
Change 3590154 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Remove unused code
Change 3590197 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3589965
Change 3590250 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup merge errors
Change 3596227 by Jonathan.Poncelet
Fixed physics substepping interpolation using the wrong starting value.
#jira UE-48150 Physics Substepping doesn't have the same effect from 4.15 to 4.16
Change 3596241 by Jonathan.Poncelet
Fixed cloth not being drawn correctly in the editor, due to bounds not being computed accurately.
#jira UE-48243 Clothing disappears during cloth paint mode once you navigate to a section far from the origin
Change 3596247 by Thomas.Sarkanen
Fixup CIS errors post PhAT Upgrade merge
Change 3596250 by Thomas.Sarkanen
More CIS fixes
Change 3596255 by Benn.Gallagher
Fixed compilation errors when nativizing animation blueprints that use subinstances
#jira UE-46522
Change 3596256 by Benn.Gallagher
Fixed orphaned sub anim instance pins hanging around
#jira UE-46545
Change 3596257 by Benn.Gallagher
Fixed skel surf particles being misplaced when clothing was active. And fixed particles spawning on disabled cloth proxy sections.
#jira UE-48045
Change 3596258 by Benn.Gallagher
Hide mass override when selecting skeletal meshes. Mass overrides are taken from physics asset and will be ignored on the component so it makes no sense to have this visible
#jira UE-47755
Change 3596259 by Benn.Gallagher
Fixed mismatch between paint values and view values for clothing tools
#jira UE-48110
Change 3596260 by Benn.Gallagher
Stopped property context menus killing the whole window stack when an item is clicked
#jira UE-48158
Change 3596261 by Thomas.Sarkanen
One last Mac CIS fix (hopefully)
Change 3596308 by Benn.Gallagher
Removed outdated references to APEX in clothing example map.
Change 3596360 by Martin.Wilson
Fixing inconsistent animation entries in blueprint context menu (displaying differently depending on whether the asset is loaded) + Cache correct tooltip when asset isn't loaded
#jira UE-48452
Change 3596459 by Benn.Gallagher
Fixed anim curves not correctly being updated to post process instances. Change made to curve update in Dev-General fixed main and sub instances but missed post process instances.
#jira UE-47567
Change 3596967 by Aaron.McLeran
Adding setting default reverb send level in audio settings.
Change 3596974 by Ethan.Geller
Merge in fix from Christopher Oliver
Change 3597243 by Aaron.McLeran
Checking in missing files.
Change 3597686 by Ethan.Geller
Fix warnings/errors from CL 3597452
Change 3597846 by Ethan.Geller
Fix errors, take 2
Change 3598290 by Ethan.Geller
Panning Angle Issue
Change 3598412 by Ethan.Geller
Change Core.h header to CoreMinimal.h, fix warnings
Change 3599797 by Jurre.deBaare
LODs from Merge Actor tool have bad normals
#jira UE-47129
#fix normals weren't wrong but user was complaining about the lightmap resolution behaviour, so added a new feature that calculates the lightmap resolution according to:
1) Summing all lightmap pixel counts for each mesh component being merged
2) Calculating fitting texture dimension by taking square root of the total pixels
Change 3599863 by Lina.Halper
PR #3919: rename flag 'DEPERCATED_PHYSBLEND_UPDATES_PHYSX' to 'DEPRECATED_PHYSBLEND_UPDATES_PHYSX' to fix the typo (Contributed by aziot)
Change 3599883 by Jurre.deBaare
HLOD: update outliner tooltip when UE docs arrive
#jira UE-20352
Change 3599944 by Martin.Wilson
Smart name refactor
- Remove guids entirely
- Remove automatic fix up
- Simplify smart name mapping container
- Make animations deterministic for cooking
#jira UEAP-264
Change 3600133 by Benn.Gallagher
Fixed crash shutting down editor with active cloth paint tab, as mode manager was being used unsafely.
#jira UE-48612
Change 3600166 by Benn.Gallagher
Fixed cloth paint gradient allowing invalid values
#jira UE-48114
Change 3600719 by Lina.Halper
PR #3894: PlayMontage node bug Fix (Contributed by ArCorvus)
Change 3601668 by Jurre.deBaare
Improve BlendSpace preview pin dragging controls
#fix Click and drag now also works for the preview pin which should allign it with other pins on the grid and makes the preview functionality more discoverable
#misc Also added tooltips on the grid to make the functionality more discoverable
#jira UE-43011
Change 3601669 by Jurre.deBaare
No easy way to tell which Blend Sample in the blend graph matches up to which Blend Sample in the Asset Details panel
#fix I've added the SampleIndex to the names to make it easier recognizing which one is which
#jira UE-46892
Change 3601731 by Benn.Gallagher
Fixed cloth paint falloff to actually calculate falloff, and take brush strength into account.
#jira UE-48329
Change 3601897 by Lina.Halper
fixing issue with sequencer reinitialization
#jira: UE-48556
Change 3602339 by Benn.Gallagher
Fixed comment/tooltip typo
Change 3602502 by Benn.Gallagher
Fixed clothing gradient tool renderer not showing selected points when camera was moving
#jira UE-48331
Change 3602664 by Ethan.Geller
Unshelved fixes from Dev-VR
Change 3602726 by Lina.Halper
Back out revision 3 from //UE4/Dev-AnimPhys/QAGame/QAGame.uproject
#jira: UE-48700
Change 3603011 by Lina.Halper
Fix build error
Change 3604139 by Benn.Gallagher
Restricted painter processing to no longer attempt painting while in simulation previews in cloth paint mode.
#jira UE-47960
Change 3604284 by Benn.Gallagher
Fixed crashes in physics asset editor and skeletal mesh editor when the preview scene clears out the preview mesh while clothing is running
#jira UE-48687
Change 3604612 by Lina.Halper
Fix curve issue from automation test
- It was actual bug.
Change 3604614 by Lina.Halper
- Fix crash with macro anim notify
- Make sure macro anim notify doesn't show up in the menu
#jira: UE-45036
Change 3604725 by Lina.Halper
fixed issue with opening state machine from anim graph
#jira: UE-48726
Change 3604971 by Aaron.McLeran
#jira UE-48738 Launching Oculus Rift without -VR plays audio in the oculus rift.
Bringing fix from 4.17 to Dev-AnimPhys
Change 3605787 by Aaron.McLeran
Adding ability to pass in an optional owner in PlaySound2D and PlaySoundAtLocation BP calls
- This is necessary in order to use the sound concurrency "limit by owner" feature
Change 3606851 by Jurre.deBaare
UE4Editor Static Analysis Win64 - Warning fix
Change 3607022 by Lina.Halper
Fix static analysis warning
Change 3607229 by Jurre.deBaare
RemoveAllCurveData should not allow removing data from the Skeleton
#jira UE-48107
Change 3607660 by Martin.Wilson
Live link client can run in cooked builds too
#jira UEAP-306
Change 3607668 by Ethan.Geller
#jira UE-48792 fix null dereference case in audiodevice.cpp
Change 3607734 by Lina.Halper
LOD linking to curve
- consolidated to one param - curve eval option
- for long time, looking at why morphtarget wasn't working on LOD 1, later realized it was due to simplified :(
- fixed to make sure param to clear is always checking with default value - this is correct behavior and it's not too bad for perf because internally the default value is also in the TMap
- flipped meaning to align with bAllowCurveEvaluation
- also fixed issue with orion cooking - where transform curves are added as normal curves
#jira: UE-37996, UE-48782
Change 3607859 by Martin.Wilson
Missed files from live link editor checkin
Change 3607958 by Martin.Wilson
Redo Jurre's changes from CL 3607229 (were removed by CL 3607734)
Change 3608566 by Ethan.Geller
change include to avoid header conflicts on Linux
Change 3609074 by Ethan.Geller
Take 2: Fix capitalization on include, fix Linux build.
Change 3610024 by Lina.Halper
Fix issue with material editor crashing due to missing load module of AdvancedPreviewScene
- we used to load advanced preview setting by persona module
- this has been moved to persona tool kit, and now all other modules are crashing
- If we want to do it for tool kit, we have to make sure all other editor's loading should change also.
#jira: UE-48809
Change 3610081 by Jurre.deBaare
Animations can't be set on blend samples from the dropdown
#fix Skeleton asset registry tag now includes 'AssetTypeName' PathToAsset, so replacing compare with contains
#jira UE-48746
Change 3610088 by Jurre.deBaare
Editor crashes if you CtrlZ several times after adding animations to a 1D blendspace
#fix removed the hacky OnObjectPropertyChanged and tied the refresh into propertyhandles instead
#misc found out of sync widget values due to incorrect encapsulation inside of lambdas
#jira UE-48741
Change 3610862 by Ethan.Geller
Fix submix effects for situations where number of input channels does not equal output channels
Change 3611346 by Aaron.McLeran
Using audio thread platform affinity mask for audio render thread.
Change 3613297 by Ethan.Geller
Simple delay submix
Change 3614435 by Martin.Wilson
CIS fix
Change 3614482 by Martin.Wilson
Store root motion on anim instance instead of proxy to avoid thread safety stalls
#jira UE-46896
Change 3614483 by Martin.Wilson
Evaluate curves in anim offsets
#jira UE-47119
Change 3614495 by Jurre.deBaare
Reimport alembic file with new source option does not automatically tick any tracks
#fix If no tracks are set to import, reset them all to do so (we're assuming here the user is importing something completely different, and we wouldn't want her to import an empty animation either)
#jira UE-46141
Change 3614645 by Thomas.Sarkanen
Fixed physics assets not simulating when BlockAll was globally overridden
Persona viewport was overriding the collision profile back to BlockAll, which projects can override. Setting to the internal PhysicsActor profile prevents this, as it used to in PhAT
#jira UE-48591 - Physics assets not simulating correctly in Orion
Change 3614683 by Lina.Halper
Fixed crash when modifying default physicsasset
#jira: UE-48844
Change 3614721 by Jurre.deBaare
Vertex painting on skeletal meshes bound by physics asset
#fix Now try and find intersecting triangle if we do hit the mesh bounds, but not any physics bodies
#jira UE-48004
Change 3614730 by Thomas.Sarkanen
Fixed crash when regenerating multi convex hulls from zero-vert bones
We handled this in the single convex hull case, but multi did not.
#jira UE-48780 - Editor crashes if you regenerate a box body to a complex hull body
Change 3614763 by Jurre.deBaare
Moving over:
HLOD crash when dragging and dropping actors into their own cluster in the HLOD outliner - ALODActor
#jira UE-48249
#fix ensure that we nullptr check the static mesh as a LODActor can be reset to have a null static mesh
Change 3615029 by Lina.Halper
Fix issue with highlight
#jira: UE-48855
Change 3617593 by Thomas.Sarkanen
Fixed crash when regenerating large amounts of bodies
We were overflowing the PhysX shape limit for aggregates - this refers to shapes, not bodies, it seems
#jira UE-48606 - Crash when adding new multi convex hull body to bone on skeleton that already has multi convex hull bodies
Change 3617609 by Jonathan.Poncelet
Fixed crash that could occur when opening a physics asset and deleting bones.
#jira UE-48971 Editor crashes if you clear a preview mesh on a physics asset and delete the bones when reopening it
Change 3617723 by Thomas.Sarkanen
Prevented actors & components of anim preview scenes (and the preview scenes themselves) from persisting after editors are shut down
Fixed up 2 locations where the persona toolkit was being held onto by a strong ptr (cloth paint and new PhAT). This should stop the preview scene from persisting.
Moved AddToRoot pattern used for anim preview scene to FGCObject
#jira UE-47227 - [CrashReport] UE4Editor_Persona!TSharedPtr<IEditableSkeleton,0>::ToSharedRef() [sharedpointer.h:794]
#jira UE-47717 - SkelMesh Editor creates preview World, but it never gets destroyed
Change 3617818 by Benn.Gallagher
Final v1 UX changes for clothing tool, and removed experimental flag
Change 3617937 by Jurre.deBaare
Default bounds for Alembic skel-mesh are too large
#fix bounds was initialised to zero and +-ed which meant that it would always include (0,0,0) and enlarge the bounds
#jira UE-47139
Change 3618187 by Ethan.Geller
Implement Audiomixer in HTML5
Change 3618188 by Lina.Halper
Fix issue with highlight in persona
#jira: UE-49020
Change 3618229 by Lina.Halper
Fix crash on exit when modify is causing it to serialize again in the middle of tear down
#jira: UE-48025
Change 3618248 by Lina.Halper
fix issue by workaround where clamp is not happening with allowspin is false
#jira: UE-47001
Change 3618289 by Aaron.McLeran
Removing audio format types we're not using for simplicity
Change 3618291 by Martin.Wilson
Fix duplicate of curve name appearing in list when renaming
#jira UE-49041
Change 3618390 by Aaron.McLeran
Removing a case for DTYPE_Xenon since this is never used.
Change 3618425 by Martin.Wilson
Keep notify UI up to data across multiple editors when adding notifies to an animation
#jira UE-48104
Change 3619023 by Aaron.McLeran
Removing DTYPE_Xenon from XAudio2Buffer.cpp since it's not used
Change 3619129 by Aaron.McLeran
Source bus feature.
- New architectural feature for audio mixer that allows audio sources to route to other audio sources.
- Buses can be routed to each other
- Buses have a duration which can be set in bus asset
- Buses can choose between mono and stereo channels
- Sources can send to buses and also toggle to *only* output to buses (and bypass submixing)
- Will allow persistent source effects on different source audio, while also maintaining 3d spatialization capabilities. Lots of future features will build on this change: 3d audio-volume-based submixing, sidechaining, environment reflections, diagetic microphones, etc.
- Some engine changes and optimizations:
- Format conversion to float is done in async workers for decode vs the render callback
- Procedural sound waves can opt to output only float vs int16 PCM data (avoids a format conversion in audio mixer)
- Apply master attenuation at the final output vs per-source
- Fixed code that performs fade in/fade out for smooth startup and shutdown.
- Moved FSourceParam to FParam into DSP utility so others can use it.
- Some engine fixes:
- Audio spat plugins that are external sends will not send audio to default/base submix. But will also allow their audio to be panned and sent to submix sends (e.g. reverb) so external HRTF rendering can also get reverb effects, etc.
- Fixed an issue with pause
- Fixed an issue with the final source buffer in a source voice not getting properly rendered and causing discontinuties
- Fixed an issue with WorldID not getting set for listeners
TODO:
- fill out source bus details panel customization to hide USoundBase params which aren't relevant to source buses
Change 3619159 by Ethan.Geller
#jira UE-48950 fix steam audio crash on editor exit
Change 3619555 by Jonathan.Poncelet
Fixed constraint debug drawing arrows in the physics asset editor being too large.
#jira UE-48863 Limited constraints and free constraints are much larger on screen
Change 3619574 by Thomas.Sarkanen
Fixed debug link for animation blueprints not persisting when changing preview mesh
Anim instance is no longer re-created all the time when setting skeletal mesh, so we need to re-init the preview instance and re-set the linked skeletal mesh component manually when the mesh changes.
#jira UE-46642 - Switching Preview mesh when you've selected an AnimBP breaks the link between the AnimBP and PIE session
Change 3619586 by Thomas.Sarkanen
Fixed physics asset shortcut not working correctly in certain circumstances
FBox was using uninitialized memory
#jira UE-49034 - Pressing F to focus on a physics body focuses on the area in between the root and the physics body and not the selected body
Change 3619640 by Thomas.Sarkanen
Assets with no preview mesh now no longer allow access to other skeleton's physics assets in their shortcut bars
Unified the skeleton/mesh search code between FPersonaAssetFamily and FPersonaToolkit, so they bot *look* for a compatible skeletal mesh if one was not found on the asset (but still dont set it automatically).
#jira UE-49038 - If you open a skeleton or an animation it won't open persona with the correct physics asset in the quick switch bar
Change 3619644 by James.Golding
Change FBodyInstance::InstanceBodyIndex back to int32 (need to support ISMC with many instances)
#jira UE-47652
Change 3619654 by Martin.Wilson
Fix removing a curve when it isn't used on any animations
#jira UE-49048
Change 3619771 by Thomas.Sarkanen
Make sure the physics asset editor floor has collision, regardless of what BlockAll does
#jira UE-49088 - PhysicsAsset Editor Floor should not depend on BlockAll config
Change 3619803 by Jonathan.Poncelet
Fixed localization warnings caused by duplicate keys.
#jira UE-48580 //UE4/Main: Step "Build Engine Localization" has completed with 4 Warnings
Change 3619813 by Jurre.deBaare
Baked bones using a pose animation are rotated in the wrong direction
#fix root bone transform wasn't being taken into account while generating final bone transforms
#misc added debug logging for future work
#jira UE-47362
Change 3619830 by Jurre.deBaare
Biased Texture Size option is not functioning when Merging Actors
#fix Fixed up material baking setup after refactoring, now sets correct texture sizes again according to texture sizing type, this will be removed in the long term anyhow
#misc Found a bug in material rendering if previous render size < current render size it would not set the viewport size/projection matrix correctly which broke the material bake
#jira UE-48108
Change 3619859 by Thomas.Sarkanen
Fixed HLOD selection sphere persisting on undo/redo
Removed HLOD selection actors when the outliner is refreshed
#jira UE-47032 - HLOD Cluster radius sphere remains in level if you move an actor in a cluster and then undo the movement.
Change 3619871 by Martin.Wilson
Calculate root motion over the correct segment times, not the track times
#jira UE-43719
Change 3619898 by Thomas.Sarkanen
Improve UI feedback around bounds/in-game bounds in animation editor viewports
Tooltip for in-game bounds is now more detailed
In-game bounds cannot be selected if bounds is not also selected
#jira UE-47958 - Bound vs In-game Bound in Viewport Show menu in Physics Asset Editor is confusing
Change 3619908 by Thomas.Sarkanen
Fixed tooltip for PhysicsType
#jira UE-48421 - Incorrect tooltip for Physics Type
Change 3620014 by Jurre.deBaare
Only the first mesh bake material property in the array can be set to diffuse, diffuse cannot be selected on the other array elements
#fix Changed the way the restriction is setup and retrieve the UMaterialOptions from the details view instead of GetDefault<>
#misc Also added more delegates to ensure the restriction is up to date
#jira UE-46980
Change 3620104 by Jurre.deBaare
HLOD doesn't support renaming in levels
#fix ensure that during renaming of UWorld we also rename the HLOD assets into their respective new HLOD package outer
#jira UE-48072
Change 3620151 by Thomas.Sarkanen
Undo/redo now correctly affects animation preview scene settings
Preview scene desc is now transactional & state is correctly set up on undo/redo according to the current preview scene desc
#jira UE-47816 - Undoing setting the animation mode to Refrence pose doesn't update the UI
Change 3620152 by Thomas.Sarkanen
Exposed LOD menu in PhAT
This allows auto LOD to be optionaly selected. It was hidden and we forced to LOD 0 before. We still default to forcing LOD 0 to preserve the old behavior.
#jira UE-47970 - LODs not working in Physics Asset Editor
Change 3620177 by Benn.Gallagher
PR #3696: Fix for USkinnedMeshComponent::GetCPUSkinnedVertices() (Contributed by Koderz)
Change 3620250 by Jurre.deBaare
HLOD assets left in HLOD folder when clusters are deleted
#fix some added lifetime management for HLOD assets, keeping list of 'stale' HLOD assets which if not Undo-ed will either be deleted when LODActor is saved, or marked PendingKill when LODActor is destroyed
#jira UE-47450
Change 3620273 by James.Golding
PR #3908: Removing duplicated forward declation (Contributed by celsodantas)
#jira UE-48530
Change 3620274 by James.Golding
PR #3909: Removing unnecessary conditional (Contributed by celsodantas)
#jira UE-48531
Change 3620275 by James.Golding
Add icon for destruction plugin
Change 3620401 by Ethan.Geller
#jira UE-47684 Remove SDL dependencies from Win64
Change 3620586 by Jurre.deBaare
Linux CIS fix
Change 3620660 by Martin.Wilson
Fixes for state machines getting reinitialized in situations that users don't want them to.
-Added option to state machine to allow it to skip reinitialization when it becomes relevant
-Added option to slot nodes to keep source pose relevant while montage slot is playing.
#jira UE-43578
Change 3620665 by Aaron.McLeran
Making source buses only show relevant source bus data.
- hiding sound wave categories that aren't relevant to source buses
Change 3621087 by Ethan.Geller
#jira UE-49000 implement device change listener to ensure we are properly handling when audio is disabled.
Change 3621144 by Aaron.McLeran
#jira UE-49147
#jira UE-49145
Fixing concurrency and volume stats
Change 3621148 by Aaron.McLeran
Fixing typo
Change 3621180 by Ethan.Geller
#jira UE-49151 Fix for browser preview on bus only sounds
Change 3621421 by Ethan.Geller
#jira UE-49165 Fix real time audio slider.
Change 3621604 by Ethan.Geller
#jira UE-44847 fix iOS panning algorithm on non-audio mixer
Change 3621626 by Lina.Halper
Fix issue with anim montage displaying when selecting animation
#jira: UE-48749
Change 3621813 by Thomas.Sarkanen
Fixing undo/redo of bone modifications in Physics Asset Editor (and others)
Bone proxy objects now get recycled (instead of the pool constantly growing) as their names are stable and unique.
Fixed broken skeleton tree RTTI (so selection persistance now works correctly on undo/redo again)
We no longer force a re-selection on phyiscs asset changes (the tree takes care of that anyway).
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3621831 by Jurre.deBaare
Crash fix for Material baking when trying to analyse a MP_MAX material property
#jira UE-49172
Change 3621936 by Thomas.Sarkanen
Fixed CIS error from merge
Change 3621937 by Thomas.Sarkanen
Fix merge issue with API change in USynthComponent
Change 3622173 by Thomas.Sarkanen
Fixed ortho viewports being bright white in sub-editors
Preview scenes in general are responsible by default for the background color.
Advanced preview scenes now use background color from settings. Previously only te animation editors did this.
#jira UE-48841 - The background of the orthographic viewports is bright white
Change 3622730 by Ethan.Geller
#jira UE-49182 UE-49198 UE-49201 Fix for channel mismatch in procedural sound waves, remove singleton behavior for MMNotificationClient. CL by Aaron.McLeran
Change 3622759 by Ethan.Geller
#jira 49170 reduce static analysis warnings for audiodevice.cpp
Change 3622901 by Benn.Gallagher
Bumped PhysX DDC key after change in Orion caused verify failures
Change 3623458 by Aaron.McLeran
#jira UE-49204 Delores monologue cut short in Odin elevator
Change 3623667 by Aaron.McLeran
#jira UE-49204 UE-49243 Delores monologue cut short in Odin elevator
Change 3623752 by Aaron.McLeran
#jira UE-49247 Sound Source Bus Properties Are Inappropriate
Fixing issues with new source bus uobject so properties show up appropriately.
Change 3624058 by Ben.Marsh
Fix stale module being enumerated when running UE4Editor-Cmd.exe, causing warning when running incremental automated tests.
Module and version manifest filenames are derived from the executable filename, so when running the executable compiled for the console subsystem, we need to strip the -Cmd suffix from the executable name to find the correct path.
Change 3624193 by Ethan.Geller
#jira UE-49170 Static analysis fix, take 2
Change 3354003 by Thomas.Sarkanen
Back out changelist 3353914
Change 3355932 by Thomas.Sarkanen
Back out changelist 3354003
Reinstating merge from Main:
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839
Change 3477632 by Jurre.deBaare
Automated test content and ground truths for Actor Merging and Material baking functionality
Change 3491464 by Jurre.deBaare
Updated automation content for MergeActor behaviour
Change 3587878 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3587489
Change 3597452 by Ethan.Geller
#jira UEAP-304, UEAP-280, UEAP-281: Major structural refactor of Audio Plugin interfaces, Oculus Audio plugin, Steam Audio Plugin. Introduction of Sony Audio3D plugin.
Change 3602935 by Lina.Halper
Allow curve evaluation to be controlled by users
#jira: UE-46446
Change 3606120 by Ethan.Geller
Move Tap Delay Submix to Synthesis library, modify tap delay API
Change 3621830 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3621691
Change 3622807 by Ethan.Geller
#jira UE-49201 Fixing volume issues
Issue is that these platforms weren't using the proper public function and an audio mixer refactor changed how volume is calculated to seperate out distance attenuation vs other volume gains.
[CL 3624383 by Thomas Sarkanen in Main branch]
2017-09-04 04:17:46 -04:00
|
|
|
SortElement.RenderBatchArray.Add(&RenderItem);
|
|
|
|
|
|
2017-06-21 10:25:35 -04:00
|
|
|
// Do rendering
|
|
|
|
|
Canvas.Flush_GameThread();
|
|
|
|
|
FlushRenderingCommands();
|
|
|
|
|
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3624379)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3536809 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 1.
Change 3536814 by Ben.Marsh
Fixing case of files in "iOS" directory, pt 2.
Change 3596207 by Thomas.Sarkanen
Copying //Tasks/UE4/Dev-UEAP-29-PhATUpgrade to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3590250
PhAT Upgrade
#jira UEAP-29 - New PhysicsAsset editor
Changelists from task stream:
Change 3380649 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Initial pass at allowing viewports to be extended more easily, still plenty TOD, but just unearthing this old shelf and getting it working.
This gets the Persona skeleton tree and viewport into PhAT, without any PhAT functionality added.
Change 3380685 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renaming PhAT files to PhysicsAssetEditor
Change 3380749 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rename PhAT -> PhysicsAssetEditor
Change 3380832 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up PhAT to Physics Asset Editor
Change 3380884 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Reverted some over-zealous renaming
Change 3380970 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked ISkeletonTreeBuilder interface to make way for actually making a derived class of it
Added the ability to hide filter menus to skeleton tree
Change 3381017 on 2017/04/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added new physics asset skeleton tree builder
Change 3384407 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree extensions to support physics assets
Only started this work - still much to do
Change 3384460 on 2017/04/07 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged persona viewport menus
Change 3392222 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed body/constraint modes.
Added graph editor
Added edit mode - moved viewport client code over
Got PhAT skel mesh rendering in viewport
Change 3392268 on 2017/04/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Increased hit proxy priority to improve selection
Change 3401648 on 2017/04/20 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Skeleton tree gets bodies & shapes back.
Selection works in graph, now displaying the correct constraint in the detials panel. Still need to add selection from viewport.
Added multi-select to bone proxy customization
Re-tweaked editor layout
Change 3403701 on 2017/04/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection sync work.
Customization of anim viewport menus.
Context menus for physics asset items, as well as masking of various context menu items via settings.
Change 3405246 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Started more work on viewport menu extensions, but need to refactor the toolbar system to use actual multiboxes. Up next!
Change 3405274 on 2017/04/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
More viewport menu fixups (plus deleting duplicate functionality).
Change 3409155 on 2017/04/26 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Got simulation working again - as we switched to the debug skel mesh comp, the normal tick path didnt work for post-blend physics (it tried to flip the buffer too early).
Also tweaked debug skel mesh comp root motion consumption code to not reset transfor every frame if we are not using root motion.
Cleaned up unused files & code
Change 3410814 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Allow extensibility of viewport menu bars
Slate changes:
Allow menu bars to optionally specify an icon to use. This is intended to allow us to move viewport tool/menu bars over to use multibox, with all the attendant features and extension points.
Allow menu bars to optionally invert-on-hover.
Allow styling of menus to affect closed appearance of menu header. Previously only NoBorder was used.
Adjusted core styling of menu bar elements.
Other changes:
Adjusted padding for various UI elements to preserve previoud behavior.
Adjusted SAnimViewportToolbar to use the new menu bar builder.
Exposed SEditorViewportViewMenu so that it can be used in a standard menu bar.
Change 3410816 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added extension point to viewport menu bar
Change 3410818 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Getting sim working again
Moved over to using preview instance so we share functionality with Persona editors.
Added time dilation options to persona preview scene.
Removed PhAT specific recording functionality (it is in the viewport now).
Change 3410840 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Recreate physics state on edit, not sim start
This allows velocity to be inherited when simulation is started
Change 3410863 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moving viewport to continually-invalidated one like animation editors
Fixed crash in non-extended viewport toolbars
Change 3410936 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bodies start off non-expanded
Selection now synced between viewport and graph
Constraint selection in graph not works on the first try
Change 3410943 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added missing icon
Change 3410966 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed shape listing from graph nodes
Change 3411013 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Double click on body node recenters graph
Fixed graph disappearing on right-click
Change 3411111 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented cursor getting swallowed in sim mode
Change 3411126 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed overlapping text
Change 3411213 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Node layout now takes dimensions into account
Change 3411320 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash opening Persona editors
Renamed file
Change 3411327 on 2017/04/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to profiles menu
Change 3420822 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Profiles can now be edited in their own details panel
Existing customizations folded into the new panel
Tweaks to toolbar
Added the ability for the persona details panel to have extra top/bottom content added
Change 3420832 on 2017/05/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Add profile control to context menus
Also delete old unused code
Change 3422651 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Toolbar trimmed down & re-ordered
Body/constraint ops moved to context menus
Apply physmat now a context-menu option with an asset picker
Change 3422654 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed extra warning dialog when auto-creating bodies
Changed title of new asset dialog to "auto-create bodies"
Change 3422680 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix "simulate selected"
As we dont re-init the physics state each time we start simulating, our tweaked physics type was never applied. We now manually do this in the editor.
Change 3422937 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Replaced EKCollisionPrimitiveType with EAggCollisionShape::Type
Fixed up selection so body selection works & tree seleciton is properly synced with viewport
Added recursion guard to selection delegate handlers.
Removed vestigial instance property editing support (no longer needed).
Removed unused old tree support code
Change 3423034 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added constraints to tree
Change 3423318 on 2017/05/04 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix bone proxiies stopping updating after initial viewport selection
Change 3424993 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up selection issues when creating new bodies
Added constraint context menu
Change 3424998 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved icons to central location
Change 3425445 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Customized filtering of the skeleton tree
Hide constraints by defualt
Added option to hide parents when filtering (so the vertical space is nto wasted, but some idea of hierarchy is preserved).
BREAKING CHANGE: changed skeleton tree filtering API to add args & removed bWillFilter bool.
Change 3425488 on 2017/05/05 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3425303
Change 3427886 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved physics sim options to viewport menu (so seleciton changing is not required to change them)
Moved physics-related rendering options to show menu
We no longer switch to sim options when nothing is selected.
During simulation we now disable the details panel
Constraint scaling now works correctly (rather than just scaling the screen size limit that axes only are rendered)
Change 3428040 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Small fixes based on feedback:
Exposed Mirror tool to menus
Exposed constraint quick actions to menus
Added edit condition to Position & Velocity strength for physical animation
Fixed up some tooltips & display names
Change 3428143 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Defaulted to constraints as points
Change 3428216 on 2017/05/08 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Request from Nick D:
Update in-level primitive transforms immediately, rather than on mouse up. We only do this for non-convex primitives however, to avoid re-cooking meshes.
Change 3430326 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaks to rendering of constraints and shapes to allow for better seleciton & interaction with editor widgets.
Slightly increased point-constraint rendering size and added crosshair cursor to constraints
Change 3430327 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed object-reuse issue in skeleton tree items with sanem names (use a GUID instead)
Change 3430391 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed duplicate time dilation (can just use viewport menu!)
Change 3430419 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge
Prevent crash by attaching to root component in the correct place
Add IWYU include for TArrayView
Remove more unused code
Change 3430443 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix constraint/body selection one final time
Move constraint drawing to SDPG_World (apart from point mode)
Remove depth offset in material
Change 3430495 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enabling/disabling collision between bodies is now clearer
Menu items are now enabled and disabled correctly depending on collision state
Tooltip reflects what actually gets done when the operation is enacted
Also corrected a few functions that still reference constraint & body mode
Change 3430553 on 2017/05/09 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added enable/disable collision with all
Change 3432386 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code graph items based on current profile
Change 3432401 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Color code tree items too
Change 3432418 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Bone selection & manipulation now possible - allows for pose setup before simulation
Item expansion now expands leaf nodes when selecting - helps with constraint selection etc.
Change 3432427 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix compile error
Color code according to simulated/kinematic status
Change 3432428 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
File i missed
Change 3432540 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added physics asset factory so physics assets can be created form the "new asset" menu.
Skeletal mesh is picked then a defualt asset is generated
Change 3432556 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Improve interactions with bones & bodies
Clear bone selection when selecting bodies/constraints
Always hide gizmo in simulate
Change 3432703 on 2017/05/10 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused selection lock feature
Fixed selection working incorrectly with details panel closed
Change 3434710 on 2017/05/11 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selection improvements
Multiselect in tree now only selects non-collapsed tree elements
Selection API revamped in shared data, so multiselect of constraints can work correctly (they appear more than once in the tree, so the preivous single-point-of-access API was insufficent).
Change 3489030 on 2017/06/14 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3488994
Change 3491459 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup post-merge issues
Change 3491486 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Simulation now works in a simlar way to the level editor
Only on 'simulate' button, which controls repeating the last simulation (be it selected or not). Options are on a dropdown.
Change 3491529 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed selection color of wireframe drawing (this broke ages ago!)
Fixed initialized environment color/intensity
Change 3491537 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked materials so they dont repend on seperate translucency (which is optional, and disabled currently)
Change 3491791 on 2017/06/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when simulating selected new bodies
Make sure we recreate physics state appropriately (it used to be done on simulation start, so wasnt needed each time)
Change 3494359 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Select all is now a menu option
Context menu pops when right-clicking nothing now too
Menu no longer grows enormous when multiple types of objects are selected
Change 3494373 on 2017/06/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Enlarged constraint rendering size
Show constraints (rather than points) by default
Change 3511708 on 2017/06/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Assets now appear in the asset family shortcut bar
Physics Assets now render thumbnails
Skeleton tree can now work in 'picker' mode
Constraints can now be created manually in the graph, tree and viewport
Fixed double-click and mousewheel not working right sometimes
Change 3513121 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed clicks incorrectly selecting bones in simulate mode
Change 3513160 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics Asset config is now loaded/saved
Fixed antoher corner case with viewport clicks in sim
Change 3513540 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved body creation params over to a details panel & settings object
Moved initial creation dialog over to use the new system too
Change 3513591 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Renamed shapes and constraints in the tree view
Change 3513752 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Constraints are now not filtered by default
Change 3513797 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Selecting constraints now shows them (and the bodies involved) in the graph
Change 3513859 on 2017/06/28 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed "Show Kinematic Bodies"
We now always show kinematic status in simulate mode
Change 3515732 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
PhAT rendering settings are now persisted across sessions.
Access to sim/edit settings is now not gated on state of the editor. Sim/edit settings are always both available.
Added editable opacity to collision rendering.
Change 3515735 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
New materials with opacity parameter
Change 3515757 on 2017/06/29 by thomas.sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Re-saved materials
Change 3515759 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added ability to only show selected bodies as solid
Change 3515812 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix focus 'F' shortcut sometimes not working
Change 3515984 on 2017/06/29 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix a bunch of selection issues with the graph not keeping in sync
Change 3517456 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3516853
Change 3517514 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed disappearing convex meshes on simulate
Also fixes crash in thumbnail rendering
Change 3517556 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled selection on mesh. Fixes selection issues.
Also made the hit proxy use a crosshair when over bodies, for easier selection
Change 3517642 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added body/body collision buttons back to the main toolbar
Fixed solid body drawing using the wrong material when no bodies are selected
Change 3517828 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix delete shortcut not working when tree is focused
Change 3517927 on 2017/06/30 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Integrated per-bone primitive generation with the new tab method
Removed context menu item for bones (fixes duplicate popup)
Fixed undo/redo not working for regenerating all bodies
Change 3519931 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled body regeneration when simulation is running
Fixed up tab icons
Change 3519978 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Preview mesh is now set like every other Persona editor (via toolbar picker of via preview scene settings)
Animation picker removed from toolbar (we use the preview scene settings for this now)
Fixed profiles tab icon
Change 3519982 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Show attached assets in tree
Change 3519995 on 2017/07/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix broken multi-selection of bone proxies
Change 3532799 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed code that prevented parts of the UI (like simulation) from working in PIE
Removed graph overlays & added "PHYSICS" label
Change 3532837 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed arrows from graph
Fixed dragging off constraints/input pins/bodies in constraint-created graphs
Constraint names now include both bodies
Change 3532880 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched from colors to icons in the skeleton tree
Removed bold fonts
Change 3532907 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Layout fixes
Added border around generate button in tools panel
Removed skeleton tree header in contexts where it is not needed
Change 3532932 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added slow task dialog for body generation
Change 3532992 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged context menus to be not so huge
Change 3533134 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Rearranged menus some more
Change 3533135 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Colorized details customization of swing/twist items
Change 3533174 on 2017/07/12 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Auto-open assets when creating from skeletal mesh
Tweaked tooltip on suggestion from Nick D
Change 3535652 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed mirroring changes not showing up straight away
Change 3535731 on 2017/07/13 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved over to Persona-style floor adjustment
Change 3539689 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Tweaked tooltips for filtering items
Change 3539693 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added "deselect all" option (Esc)
Change 3539731 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Graph selection tweaks
Selected bodies in the viewport/tree are now also selected in the graph.
Selection outline is now matched to the graph outline instead of using default outline.
Pin allocation no longer happens twice
Change 3539750 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Switched simulate shortcut to Alt+Enter
Avoids conflict with clobal PIS/SIE shortcuts
Change 3539933 on 2017/07/17 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Minor body regeneration refactor
Label for tools tab button is dynamic depending on selection context
Generation setttings are now re-used by creation dialog too
Added in per-bone and per-body regeneration menu items. Bone regeneration now deletes the old body(s) instead of aborting
Change 3543884 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Resetting animation to default now correctly applies the animation
Change 3544101 on 2017/07/19 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed up physics asset editor's use of debug skel mesh component
This broke post-merge from Dev-AnimPhys.
Kinda hacky, but we need to double-flip the buffers in this case as we want to force non-threaded work AND also wait on the physics tick group to complete (to blend in physics).
This also requires making ShouldBlendPhysicsBones protected, otherwise the buffers are never flipped in the non=simulating case (before simulation is enabled in the physics asset editor).
Change 3547893 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Moved code to add/remove/assign/unassign profiles to details customization
Also allowed dupication again (via the menu)
Allows correct naming of new profiles as before (as this is handled in PostEdit)
#jira UE-47448 - Deleting profiles in Physics Asset Editor does not update the current profile
#jira UE-47514 - Unable to duplicate profiles in Physics Asset Editor
#jira UE-47384 - New profiles in Physics Asset Editor are all named the same
#jira UE-47375 - Physics Asset Editor 'None' current profile Delete option is available
#jira UE-47378 - Current Profile name boxes in Physics Asset Editor are size limited and overlap buttons if too long
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3547925 on 2017/07/21 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevented ctrl+selection of constraints from re-selecting
Avoided defered broadcast of seleciton event from the graph
#jira UE-47515 - Ctrl + click and Shift + click does not remove constraints from skeleton tree in Physics Asset Editor
Change 3550332 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed bodies incorrectly simulating outside of 'simulate' mode
Forced all bodies to be non-simulated when simulation is disabled.
Also removed non-functioning motor menu options & disabled more menu options when simulating
#jira UE-47579 - Entire mesh rotates uncontrollably after rotating a simulated body in Physics Asset Editor
Change 3550355 on 2017/07/24 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when failing to create a physics asset with multi convex hull
#jira UE-47590 - Crash when New Physics Asset window is closed with no asset being created
Change 3558007 on 2017/07/27 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed typo that disabled editability of profile names incorrectly
#jira UE-47374 - Physics Asset Editor 'None' current profile text box is editable but doesn't save
Change 3566157 on 2017/08/01 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed crash when opening a physics asset with a deleted preview skeletal mesh
Now assigns default mesh as before
If the mesh is then reset, the asset editor must be re-opened as the skeleton will have changed underneath it.
#jira UE-47918 - Crash when opening certain Physics Assets
Change 3568327 on 2017/08/02 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Prevent "set bodies below" from improperly enabling simulation on bodies
#jira UE-47752 - Set all bodies below to simulated causes the viewport to simulate those bodies immediately in Physics Asset Editor
Change 3570436 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics assets with simulated bodies no longer simulate when first opened
#jira UE-48000 - Physics assets with simulated bodies begin simulating when first opened
Change 3570470 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix excessive gravity crash when actors pop out of the world
Also restrict gravity to non NaN-causing levels.
#jira UE-48002 - Crash when mesh falls out of world due to high gravity simulation in Physics Asset Editor
Change 3570717 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3570581
Change 3570781 on 2017/08/03 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix merge issues
Change 3587760 on 2017/08/15 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed delegate for skeleton tree context menu extension, now uses an empty section
Change 3589915 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Added comments to bone proxy & physics asset editor shared data
Removed unused variables
Change 3589976 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixed constraint 'all positions' rendering
Removed empty override of unregister tab spawners
Change 3589983 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fix crash when setting skeletal mesh
Toast is not displayed when the skeleton is changed as well as the skeletal mesh.
Toolkit was getting invalidated as setting the preview mesh to a different skeleton ends up restarting the sub-editor
#jira UE-48196 - Crash when changing preview mesh of Physics Asset and applying
Change 3589990 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Physics asset selection color now uses editor settings
Change 3589994 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused functions
Change 3589997 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Commented SetBodiesBelowPhysicsType as per code review
Change 3590007 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Disabled physical material menu in simulate
Change 3590130 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Removed unused code
Commented a few functions
Re-instated preview mesh selection
Removed delegate allowing viewport client class creation
Change 3590154 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Remove unused code
Change 3590197 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Merge-Thomas.Sarkanen
Merging //UE4/Dev-AnimPhys to Dev-UEAP-29-PhATUpgrade (//Tasks/UE4/Dev-UEAP-29-PhATUpgrade) @ CL 3589965
Change 3590250 on 2017/08/16 by Thomas.Sarkanen@Dev-UEAP-29-PhATUpgrade-Thomas.Sarkanen
Fixup merge errors
Change 3596227 by Jonathan.Poncelet
Fixed physics substepping interpolation using the wrong starting value.
#jira UE-48150 Physics Substepping doesn't have the same effect from 4.15 to 4.16
Change 3596241 by Jonathan.Poncelet
Fixed cloth not being drawn correctly in the editor, due to bounds not being computed accurately.
#jira UE-48243 Clothing disappears during cloth paint mode once you navigate to a section far from the origin
Change 3596247 by Thomas.Sarkanen
Fixup CIS errors post PhAT Upgrade merge
Change 3596250 by Thomas.Sarkanen
More CIS fixes
Change 3596255 by Benn.Gallagher
Fixed compilation errors when nativizing animation blueprints that use subinstances
#jira UE-46522
Change 3596256 by Benn.Gallagher
Fixed orphaned sub anim instance pins hanging around
#jira UE-46545
Change 3596257 by Benn.Gallagher
Fixed skel surf particles being misplaced when clothing was active. And fixed particles spawning on disabled cloth proxy sections.
#jira UE-48045
Change 3596258 by Benn.Gallagher
Hide mass override when selecting skeletal meshes. Mass overrides are taken from physics asset and will be ignored on the component so it makes no sense to have this visible
#jira UE-47755
Change 3596259 by Benn.Gallagher
Fixed mismatch between paint values and view values for clothing tools
#jira UE-48110
Change 3596260 by Benn.Gallagher
Stopped property context menus killing the whole window stack when an item is clicked
#jira UE-48158
Change 3596261 by Thomas.Sarkanen
One last Mac CIS fix (hopefully)
Change 3596308 by Benn.Gallagher
Removed outdated references to APEX in clothing example map.
Change 3596360 by Martin.Wilson
Fixing inconsistent animation entries in blueprint context menu (displaying differently depending on whether the asset is loaded) + Cache correct tooltip when asset isn't loaded
#jira UE-48452
Change 3596459 by Benn.Gallagher
Fixed anim curves not correctly being updated to post process instances. Change made to curve update in Dev-General fixed main and sub instances but missed post process instances.
#jira UE-47567
Change 3596967 by Aaron.McLeran
Adding setting default reverb send level in audio settings.
Change 3596974 by Ethan.Geller
Merge in fix from Christopher Oliver
Change 3597243 by Aaron.McLeran
Checking in missing files.
Change 3597686 by Ethan.Geller
Fix warnings/errors from CL 3597452
Change 3597846 by Ethan.Geller
Fix errors, take 2
Change 3598290 by Ethan.Geller
Panning Angle Issue
Change 3598412 by Ethan.Geller
Change Core.h header to CoreMinimal.h, fix warnings
Change 3599797 by Jurre.deBaare
LODs from Merge Actor tool have bad normals
#jira UE-47129
#fix normals weren't wrong but user was complaining about the lightmap resolution behaviour, so added a new feature that calculates the lightmap resolution according to:
1) Summing all lightmap pixel counts for each mesh component being merged
2) Calculating fitting texture dimension by taking square root of the total pixels
Change 3599863 by Lina.Halper
PR #3919: rename flag 'DEPERCATED_PHYSBLEND_UPDATES_PHYSX' to 'DEPRECATED_PHYSBLEND_UPDATES_PHYSX' to fix the typo (Contributed by aziot)
Change 3599883 by Jurre.deBaare
HLOD: update outliner tooltip when UE docs arrive
#jira UE-20352
Change 3599944 by Martin.Wilson
Smart name refactor
- Remove guids entirely
- Remove automatic fix up
- Simplify smart name mapping container
- Make animations deterministic for cooking
#jira UEAP-264
Change 3600133 by Benn.Gallagher
Fixed crash shutting down editor with active cloth paint tab, as mode manager was being used unsafely.
#jira UE-48612
Change 3600166 by Benn.Gallagher
Fixed cloth paint gradient allowing invalid values
#jira UE-48114
Change 3600719 by Lina.Halper
PR #3894: PlayMontage node bug Fix (Contributed by ArCorvus)
Change 3601668 by Jurre.deBaare
Improve BlendSpace preview pin dragging controls
#fix Click and drag now also works for the preview pin which should allign it with other pins on the grid and makes the preview functionality more discoverable
#misc Also added tooltips on the grid to make the functionality more discoverable
#jira UE-43011
Change 3601669 by Jurre.deBaare
No easy way to tell which Blend Sample in the blend graph matches up to which Blend Sample in the Asset Details panel
#fix I've added the SampleIndex to the names to make it easier recognizing which one is which
#jira UE-46892
Change 3601731 by Benn.Gallagher
Fixed cloth paint falloff to actually calculate falloff, and take brush strength into account.
#jira UE-48329
Change 3601897 by Lina.Halper
fixing issue with sequencer reinitialization
#jira: UE-48556
Change 3602339 by Benn.Gallagher
Fixed comment/tooltip typo
Change 3602502 by Benn.Gallagher
Fixed clothing gradient tool renderer not showing selected points when camera was moving
#jira UE-48331
Change 3602664 by Ethan.Geller
Unshelved fixes from Dev-VR
Change 3602726 by Lina.Halper
Back out revision 3 from //UE4/Dev-AnimPhys/QAGame/QAGame.uproject
#jira: UE-48700
Change 3603011 by Lina.Halper
Fix build error
Change 3604139 by Benn.Gallagher
Restricted painter processing to no longer attempt painting while in simulation previews in cloth paint mode.
#jira UE-47960
Change 3604284 by Benn.Gallagher
Fixed crashes in physics asset editor and skeletal mesh editor when the preview scene clears out the preview mesh while clothing is running
#jira UE-48687
Change 3604612 by Lina.Halper
Fix curve issue from automation test
- It was actual bug.
Change 3604614 by Lina.Halper
- Fix crash with macro anim notify
- Make sure macro anim notify doesn't show up in the menu
#jira: UE-45036
Change 3604725 by Lina.Halper
fixed issue with opening state machine from anim graph
#jira: UE-48726
Change 3604971 by Aaron.McLeran
#jira UE-48738 Launching Oculus Rift without -VR plays audio in the oculus rift.
Bringing fix from 4.17 to Dev-AnimPhys
Change 3605787 by Aaron.McLeran
Adding ability to pass in an optional owner in PlaySound2D and PlaySoundAtLocation BP calls
- This is necessary in order to use the sound concurrency "limit by owner" feature
Change 3606851 by Jurre.deBaare
UE4Editor Static Analysis Win64 - Warning fix
Change 3607022 by Lina.Halper
Fix static analysis warning
Change 3607229 by Jurre.deBaare
RemoveAllCurveData should not allow removing data from the Skeleton
#jira UE-48107
Change 3607660 by Martin.Wilson
Live link client can run in cooked builds too
#jira UEAP-306
Change 3607668 by Ethan.Geller
#jira UE-48792 fix null dereference case in audiodevice.cpp
Change 3607734 by Lina.Halper
LOD linking to curve
- consolidated to one param - curve eval option
- for long time, looking at why morphtarget wasn't working on LOD 1, later realized it was due to simplified :(
- fixed to make sure param to clear is always checking with default value - this is correct behavior and it's not too bad for perf because internally the default value is also in the TMap
- flipped meaning to align with bAllowCurveEvaluation
- also fixed issue with orion cooking - where transform curves are added as normal curves
#jira: UE-37996, UE-48782
Change 3607859 by Martin.Wilson
Missed files from live link editor checkin
Change 3607958 by Martin.Wilson
Redo Jurre's changes from CL 3607229 (were removed by CL 3607734)
Change 3608566 by Ethan.Geller
change include to avoid header conflicts on Linux
Change 3609074 by Ethan.Geller
Take 2: Fix capitalization on include, fix Linux build.
Change 3610024 by Lina.Halper
Fix issue with material editor crashing due to missing load module of AdvancedPreviewScene
- we used to load advanced preview setting by persona module
- this has been moved to persona tool kit, and now all other modules are crashing
- If we want to do it for tool kit, we have to make sure all other editor's loading should change also.
#jira: UE-48809
Change 3610081 by Jurre.deBaare
Animations can't be set on blend samples from the dropdown
#fix Skeleton asset registry tag now includes 'AssetTypeName' PathToAsset, so replacing compare with contains
#jira UE-48746
Change 3610088 by Jurre.deBaare
Editor crashes if you CtrlZ several times after adding animations to a 1D blendspace
#fix removed the hacky OnObjectPropertyChanged and tied the refresh into propertyhandles instead
#misc found out of sync widget values due to incorrect encapsulation inside of lambdas
#jira UE-48741
Change 3610862 by Ethan.Geller
Fix submix effects for situations where number of input channels does not equal output channels
Change 3611346 by Aaron.McLeran
Using audio thread platform affinity mask for audio render thread.
Change 3613297 by Ethan.Geller
Simple delay submix
Change 3614435 by Martin.Wilson
CIS fix
Change 3614482 by Martin.Wilson
Store root motion on anim instance instead of proxy to avoid thread safety stalls
#jira UE-46896
Change 3614483 by Martin.Wilson
Evaluate curves in anim offsets
#jira UE-47119
Change 3614495 by Jurre.deBaare
Reimport alembic file with new source option does not automatically tick any tracks
#fix If no tracks are set to import, reset them all to do so (we're assuming here the user is importing something completely different, and we wouldn't want her to import an empty animation either)
#jira UE-46141
Change 3614645 by Thomas.Sarkanen
Fixed physics assets not simulating when BlockAll was globally overridden
Persona viewport was overriding the collision profile back to BlockAll, which projects can override. Setting to the internal PhysicsActor profile prevents this, as it used to in PhAT
#jira UE-48591 - Physics assets not simulating correctly in Orion
Change 3614683 by Lina.Halper
Fixed crash when modifying default physicsasset
#jira: UE-48844
Change 3614721 by Jurre.deBaare
Vertex painting on skeletal meshes bound by physics asset
#fix Now try and find intersecting triangle if we do hit the mesh bounds, but not any physics bodies
#jira UE-48004
Change 3614730 by Thomas.Sarkanen
Fixed crash when regenerating multi convex hulls from zero-vert bones
We handled this in the single convex hull case, but multi did not.
#jira UE-48780 - Editor crashes if you regenerate a box body to a complex hull body
Change 3614763 by Jurre.deBaare
Moving over:
HLOD crash when dragging and dropping actors into their own cluster in the HLOD outliner - ALODActor
#jira UE-48249
#fix ensure that we nullptr check the static mesh as a LODActor can be reset to have a null static mesh
Change 3615029 by Lina.Halper
Fix issue with highlight
#jira: UE-48855
Change 3617593 by Thomas.Sarkanen
Fixed crash when regenerating large amounts of bodies
We were overflowing the PhysX shape limit for aggregates - this refers to shapes, not bodies, it seems
#jira UE-48606 - Crash when adding new multi convex hull body to bone on skeleton that already has multi convex hull bodies
Change 3617609 by Jonathan.Poncelet
Fixed crash that could occur when opening a physics asset and deleting bones.
#jira UE-48971 Editor crashes if you clear a preview mesh on a physics asset and delete the bones when reopening it
Change 3617723 by Thomas.Sarkanen
Prevented actors & components of anim preview scenes (and the preview scenes themselves) from persisting after editors are shut down
Fixed up 2 locations where the persona toolkit was being held onto by a strong ptr (cloth paint and new PhAT). This should stop the preview scene from persisting.
Moved AddToRoot pattern used for anim preview scene to FGCObject
#jira UE-47227 - [CrashReport] UE4Editor_Persona!TSharedPtr<IEditableSkeleton,0>::ToSharedRef() [sharedpointer.h:794]
#jira UE-47717 - SkelMesh Editor creates preview World, but it never gets destroyed
Change 3617818 by Benn.Gallagher
Final v1 UX changes for clothing tool, and removed experimental flag
Change 3617937 by Jurre.deBaare
Default bounds for Alembic skel-mesh are too large
#fix bounds was initialised to zero and +-ed which meant that it would always include (0,0,0) and enlarge the bounds
#jira UE-47139
Change 3618187 by Ethan.Geller
Implement Audiomixer in HTML5
Change 3618188 by Lina.Halper
Fix issue with highlight in persona
#jira: UE-49020
Change 3618229 by Lina.Halper
Fix crash on exit when modify is causing it to serialize again in the middle of tear down
#jira: UE-48025
Change 3618248 by Lina.Halper
fix issue by workaround where clamp is not happening with allowspin is false
#jira: UE-47001
Change 3618289 by Aaron.McLeran
Removing audio format types we're not using for simplicity
Change 3618291 by Martin.Wilson
Fix duplicate of curve name appearing in list when renaming
#jira UE-49041
Change 3618390 by Aaron.McLeran
Removing a case for DTYPE_Xenon since this is never used.
Change 3618425 by Martin.Wilson
Keep notify UI up to data across multiple editors when adding notifies to an animation
#jira UE-48104
Change 3619023 by Aaron.McLeran
Removing DTYPE_Xenon from XAudio2Buffer.cpp since it's not used
Change 3619129 by Aaron.McLeran
Source bus feature.
- New architectural feature for audio mixer that allows audio sources to route to other audio sources.
- Buses can be routed to each other
- Buses have a duration which can be set in bus asset
- Buses can choose between mono and stereo channels
- Sources can send to buses and also toggle to *only* output to buses (and bypass submixing)
- Will allow persistent source effects on different source audio, while also maintaining 3d spatialization capabilities. Lots of future features will build on this change: 3d audio-volume-based submixing, sidechaining, environment reflections, diagetic microphones, etc.
- Some engine changes and optimizations:
- Format conversion to float is done in async workers for decode vs the render callback
- Procedural sound waves can opt to output only float vs int16 PCM data (avoids a format conversion in audio mixer)
- Apply master attenuation at the final output vs per-source
- Fixed code that performs fade in/fade out for smooth startup and shutdown.
- Moved FSourceParam to FParam into DSP utility so others can use it.
- Some engine fixes:
- Audio spat plugins that are external sends will not send audio to default/base submix. But will also allow their audio to be panned and sent to submix sends (e.g. reverb) so external HRTF rendering can also get reverb effects, etc.
- Fixed an issue with pause
- Fixed an issue with the final source buffer in a source voice not getting properly rendered and causing discontinuties
- Fixed an issue with WorldID not getting set for listeners
TODO:
- fill out source bus details panel customization to hide USoundBase params which aren't relevant to source buses
Change 3619159 by Ethan.Geller
#jira UE-48950 fix steam audio crash on editor exit
Change 3619555 by Jonathan.Poncelet
Fixed constraint debug drawing arrows in the physics asset editor being too large.
#jira UE-48863 Limited constraints and free constraints are much larger on screen
Change 3619574 by Thomas.Sarkanen
Fixed debug link for animation blueprints not persisting when changing preview mesh
Anim instance is no longer re-created all the time when setting skeletal mesh, so we need to re-init the preview instance and re-set the linked skeletal mesh component manually when the mesh changes.
#jira UE-46642 - Switching Preview mesh when you've selected an AnimBP breaks the link between the AnimBP and PIE session
Change 3619586 by Thomas.Sarkanen
Fixed physics asset shortcut not working correctly in certain circumstances
FBox was using uninitialized memory
#jira UE-49034 - Pressing F to focus on a physics body focuses on the area in between the root and the physics body and not the selected body
Change 3619640 by Thomas.Sarkanen
Assets with no preview mesh now no longer allow access to other skeleton's physics assets in their shortcut bars
Unified the skeleton/mesh search code between FPersonaAssetFamily and FPersonaToolkit, so they bot *look* for a compatible skeletal mesh if one was not found on the asset (but still dont set it automatically).
#jira UE-49038 - If you open a skeleton or an animation it won't open persona with the correct physics asset in the quick switch bar
Change 3619644 by James.Golding
Change FBodyInstance::InstanceBodyIndex back to int32 (need to support ISMC with many instances)
#jira UE-47652
Change 3619654 by Martin.Wilson
Fix removing a curve when it isn't used on any animations
#jira UE-49048
Change 3619771 by Thomas.Sarkanen
Make sure the physics asset editor floor has collision, regardless of what BlockAll does
#jira UE-49088 - PhysicsAsset Editor Floor should not depend on BlockAll config
Change 3619803 by Jonathan.Poncelet
Fixed localization warnings caused by duplicate keys.
#jira UE-48580 //UE4/Main: Step "Build Engine Localization" has completed with 4 Warnings
Change 3619813 by Jurre.deBaare
Baked bones using a pose animation are rotated in the wrong direction
#fix root bone transform wasn't being taken into account while generating final bone transforms
#misc added debug logging for future work
#jira UE-47362
Change 3619830 by Jurre.deBaare
Biased Texture Size option is not functioning when Merging Actors
#fix Fixed up material baking setup after refactoring, now sets correct texture sizes again according to texture sizing type, this will be removed in the long term anyhow
#misc Found a bug in material rendering if previous render size < current render size it would not set the viewport size/projection matrix correctly which broke the material bake
#jira UE-48108
Change 3619859 by Thomas.Sarkanen
Fixed HLOD selection sphere persisting on undo/redo
Removed HLOD selection actors when the outliner is refreshed
#jira UE-47032 - HLOD Cluster radius sphere remains in level if you move an actor in a cluster and then undo the movement.
Change 3619871 by Martin.Wilson
Calculate root motion over the correct segment times, not the track times
#jira UE-43719
Change 3619898 by Thomas.Sarkanen
Improve UI feedback around bounds/in-game bounds in animation editor viewports
Tooltip for in-game bounds is now more detailed
In-game bounds cannot be selected if bounds is not also selected
#jira UE-47958 - Bound vs In-game Bound in Viewport Show menu in Physics Asset Editor is confusing
Change 3619908 by Thomas.Sarkanen
Fixed tooltip for PhysicsType
#jira UE-48421 - Incorrect tooltip for Physics Type
Change 3620014 by Jurre.deBaare
Only the first mesh bake material property in the array can be set to diffuse, diffuse cannot be selected on the other array elements
#fix Changed the way the restriction is setup and retrieve the UMaterialOptions from the details view instead of GetDefault<>
#misc Also added more delegates to ensure the restriction is up to date
#jira UE-46980
Change 3620104 by Jurre.deBaare
HLOD doesn't support renaming in levels
#fix ensure that during renaming of UWorld we also rename the HLOD assets into their respective new HLOD package outer
#jira UE-48072
Change 3620151 by Thomas.Sarkanen
Undo/redo now correctly affects animation preview scene settings
Preview scene desc is now transactional & state is correctly set up on undo/redo according to the current preview scene desc
#jira UE-47816 - Undoing setting the animation mode to Refrence pose doesn't update the UI
Change 3620152 by Thomas.Sarkanen
Exposed LOD menu in PhAT
This allows auto LOD to be optionaly selected. It was hidden and we forced to LOD 0 before. We still default to forcing LOD 0 to preserve the old behavior.
#jira UE-47970 - LODs not working in Physics Asset Editor
Change 3620177 by Benn.Gallagher
PR #3696: Fix for USkinnedMeshComponent::GetCPUSkinnedVertices() (Contributed by Koderz)
Change 3620250 by Jurre.deBaare
HLOD assets left in HLOD folder when clusters are deleted
#fix some added lifetime management for HLOD assets, keeping list of 'stale' HLOD assets which if not Undo-ed will either be deleted when LODActor is saved, or marked PendingKill when LODActor is destroyed
#jira UE-47450
Change 3620273 by James.Golding
PR #3908: Removing duplicated forward declation (Contributed by celsodantas)
#jira UE-48530
Change 3620274 by James.Golding
PR #3909: Removing unnecessary conditional (Contributed by celsodantas)
#jira UE-48531
Change 3620275 by James.Golding
Add icon for destruction plugin
Change 3620401 by Ethan.Geller
#jira UE-47684 Remove SDL dependencies from Win64
Change 3620586 by Jurre.deBaare
Linux CIS fix
Change 3620660 by Martin.Wilson
Fixes for state machines getting reinitialized in situations that users don't want them to.
-Added option to state machine to allow it to skip reinitialization when it becomes relevant
-Added option to slot nodes to keep source pose relevant while montage slot is playing.
#jira UE-43578
Change 3620665 by Aaron.McLeran
Making source buses only show relevant source bus data.
- hiding sound wave categories that aren't relevant to source buses
Change 3621087 by Ethan.Geller
#jira UE-49000 implement device change listener to ensure we are properly handling when audio is disabled.
Change 3621144 by Aaron.McLeran
#jira UE-49147
#jira UE-49145
Fixing concurrency and volume stats
Change 3621148 by Aaron.McLeran
Fixing typo
Change 3621180 by Ethan.Geller
#jira UE-49151 Fix for browser preview on bus only sounds
Change 3621421 by Ethan.Geller
#jira UE-49165 Fix real time audio slider.
Change 3621604 by Ethan.Geller
#jira UE-44847 fix iOS panning algorithm on non-audio mixer
Change 3621626 by Lina.Halper
Fix issue with anim montage displaying when selecting animation
#jira: UE-48749
Change 3621813 by Thomas.Sarkanen
Fixing undo/redo of bone modifications in Physics Asset Editor (and others)
Bone proxy objects now get recycled (instead of the pool constantly growing) as their names are stable and unique.
Fixed broken skeleton tree RTTI (so selection persistance now works correctly on undo/redo again)
We no longer force a re-selection on phyiscs asset changes (the tree takes care of that anyway).
#jira UE-47862 - Undoing Bone transformations in Physics Asset Editor does not work
Change 3621831 by Jurre.deBaare
Crash fix for Material baking when trying to analyse a MP_MAX material property
#jira UE-49172
Change 3621936 by Thomas.Sarkanen
Fixed CIS error from merge
Change 3621937 by Thomas.Sarkanen
Fix merge issue with API change in USynthComponent
Change 3622173 by Thomas.Sarkanen
Fixed ortho viewports being bright white in sub-editors
Preview scenes in general are responsible by default for the background color.
Advanced preview scenes now use background color from settings. Previously only te animation editors did this.
#jira UE-48841 - The background of the orthographic viewports is bright white
Change 3622730 by Ethan.Geller
#jira UE-49182 UE-49198 UE-49201 Fix for channel mismatch in procedural sound waves, remove singleton behavior for MMNotificationClient. CL by Aaron.McLeran
Change 3622759 by Ethan.Geller
#jira 49170 reduce static analysis warnings for audiodevice.cpp
Change 3622901 by Benn.Gallagher
Bumped PhysX DDC key after change in Orion caused verify failures
Change 3623458 by Aaron.McLeran
#jira UE-49204 Delores monologue cut short in Odin elevator
Change 3623667 by Aaron.McLeran
#jira UE-49204 UE-49243 Delores monologue cut short in Odin elevator
Change 3623752 by Aaron.McLeran
#jira UE-49247 Sound Source Bus Properties Are Inappropriate
Fixing issues with new source bus uobject so properties show up appropriately.
Change 3624058 by Ben.Marsh
Fix stale module being enumerated when running UE4Editor-Cmd.exe, causing warning when running incremental automated tests.
Module and version manifest filenames are derived from the executable filename, so when running the executable compiled for the console subsystem, we need to strip the -Cmd suffix from the executable name to find the correct path.
Change 3624193 by Ethan.Geller
#jira UE-49170 Static analysis fix, take 2
Change 3354003 by Thomas.Sarkanen
Back out changelist 3353914
Change 3355932 by Thomas.Sarkanen
Back out changelist 3354003
Reinstating merge from Main:
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3353839
Change 3477632 by Jurre.deBaare
Automated test content and ground truths for Actor Merging and Material baking functionality
Change 3491464 by Jurre.deBaare
Updated automation content for MergeActor behaviour
Change 3587878 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3587489
Change 3597452 by Ethan.Geller
#jira UEAP-304, UEAP-280, UEAP-281: Major structural refactor of Audio Plugin interfaces, Oculus Audio plugin, Steam Audio Plugin. Introduction of Sony Audio3D plugin.
Change 3602935 by Lina.Halper
Allow curve evaluation to be controlled by users
#jira: UE-46446
Change 3606120 by Ethan.Geller
Move Tap Delay Submix to Synthesis library, modify tap delay API
Change 3621830 by Thomas.Sarkanen
Merging //UE4/Dev-Main to Dev-AnimPhys (//UE4/Dev-AnimPhys) @ CL 3621691
Change 3622807 by Ethan.Geller
#jira UE-49201 Fixing volume issues
Issue is that these platforms weren't using the proper public function and an audio mixer refactor changed how volume is calculated to seperate out distance attenuation vs other volume gains.
[CL 3624383 by Thomas Sarkanen in Main branch]
2017-09-04 04:17:46 -04:00
|
|
|
SortElement.RenderBatchArray.Empty();
|
2019-01-18 11:33:01 -05:00
|
|
|
ReadTextureOutput(RenderTargetResource, Property, CurrentOutput);
|
|
|
|
|
|
|
|
|
|
if (CurrentMaterialSettings->bPerformBorderSmear)
|
|
|
|
|
{
|
|
|
|
|
FMaterialBakingHelpers::PerformUVBorderSmear(CurrentOutput.PropertyData[Property], RenderTarget->GetSurfaceWidth(), RenderTarget->GetSurfaceHeight());
|
|
|
|
|
}
|
2017-06-21 10:25:35 -04:00
|
|
|
#if WITH_EDITOR
|
|
|
|
|
// If saving intermediates is turned on
|
|
|
|
|
if (bSaveIntermediateTextures)
|
|
|
|
|
{
|
2019-01-24 15:32:49 -05:00
|
|
|
const UEnum* PropertyEnum = StaticEnum<EMaterialProperty>();
|
2017-06-21 10:25:35 -04:00
|
|
|
FName PropertyName = PropertyEnum->GetNameByValue(Property);
|
|
|
|
|
FString TrimmedPropertyName = PropertyName.ToString();
|
|
|
|
|
TrimmedPropertyName.RemoveFromStart(TEXT("MP_"));
|
|
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3548365)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
2017-07-21 12:42:36 -04:00
|
|
|
const FString DirectoryPath = FPaths::ConvertRelativePathToFull(FPaths::ProjectIntermediateDir() + TEXT("MaterialBaking/"));
|
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
|
|
|
FString FilenameString = FString::Printf(TEXT("%s%s-%d-%s.bmp"), *DirectoryPath, *CurrentMaterialSettings->Material->GetName(), MaterialIndex, *TrimmedPropertyName);
|
2017-06-21 10:25:35 -04:00
|
|
|
FFileHelper::CreateBitmap(*FilenameString, CurrentOutput.PropertySizes[Property].X, CurrentOutput.PropertySizes[Property].Y, CurrentOutput.PropertyData[Property].GetData());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif // WITH_EDITOR
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!CVarUseMaterialProxyCaching.GetValueOnAnyThread())
|
|
|
|
|
{
|
|
|
|
|
CleanupMaterialProxies();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool FMaterialBakingModule::SetupMaterialBakeSettings(TArray<TWeakObjectPtr<UObject>>& OptionObjects, int32 NumLODs)
|
|
|
|
|
{
|
|
|
|
|
TSharedRef<SWindow> Window = SNew(SWindow)
|
|
|
|
|
.Title(LOCTEXT("WindowTitle", "Material Baking Options"))
|
|
|
|
|
.SizingRule(ESizingRule::Autosized);
|
|
|
|
|
|
|
|
|
|
TSharedPtr<SMaterialOptions> Options;
|
|
|
|
|
|
|
|
|
|
Window->SetContent
|
|
|
|
|
(
|
|
|
|
|
SAssignNew(Options, SMaterialOptions)
|
|
|
|
|
.WidgetWindow(Window)
|
|
|
|
|
.NumLODs(NumLODs)
|
|
|
|
|
.SettingsObjects(OptionObjects)
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
TSharedPtr<SWindow> ParentWindow;
|
|
|
|
|
if (FModuleManager::Get().IsModuleLoaded("MainFrame"))
|
|
|
|
|
{
|
|
|
|
|
IMainFrameModule& MainFrame = FModuleManager::LoadModuleChecked<IMainFrameModule>("MainFrame");
|
|
|
|
|
ParentWindow = MainFrame.GetParentWindow();
|
|
|
|
|
FSlateApplication::Get().AddModalWindow(Window, ParentWindow, false);
|
|
|
|
|
return !Options->WasUserCancelled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::CleanupMaterialProxies()
|
|
|
|
|
{
|
|
|
|
|
for (auto Iterator : MaterialProxyPool)
|
|
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
delete Iterator.Value.Value;
|
2017-06-21 10:25:35 -04:00
|
|
|
}
|
|
|
|
|
MaterialProxyPool.Reset();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UTextureRenderTarget2D* FMaterialBakingModule::CreateRenderTarget(bool bInForceLinearGamma, EPixelFormat InPixelFormat, const FIntPoint& InTargetSize)
|
|
|
|
|
{
|
|
|
|
|
UTextureRenderTarget2D* RenderTarget = nullptr;
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4041614)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3774677 by Arne.Schober
DR - Deprecated SetLocal from the RHICmdlist
Fixed some unnecessary PSO collisions.
Change 3809579 by Chris.Bunner
Back out changelist 3774677.
#jira UE-53483
Change 3810363 by Mark.Satterthwaite
More random fixes to mtlpp: most important is the extension to Buffer that allows creation of sub-buffers that are merely views onto a sub-range of the parent. These sub-buffers are valid to use throughout the mtlpp API with two exceptions: they may not be used for visibilityResultsBuffers and Set*BufferOffset functions cannot take this offset into account (as the encoder does not hold onto the buffers and I don't want it to). In the case of Set*BufferOffset the caller has to know what is going on and in the case of visibilityResultsBuffers it'll just assert as it isn't sensible.
This makes it *much* easier to do things like sub-buffer allocation, though the caller must be aware of the alignment restrictions of their intended usage as they are not possible to enforce. For example, a call to SetVertexBuffer requires an offset alignment must match the alignment of the data-type in the shader for "device" resources, or for "constant" data it must be max(4, sizeof(datatype)) on iOS and 256 on macOS. This should allow for much more tightly packed sub-allocations than earlier approaches, though older drivers (e.g. Mac OS X 10.11) enforce only the coarser "constant" data restriction everywhere.
Change 3810407 by Marcus.Wassmer
PR #4322: ShadowSetup Bug Fix: Only stencil mask drawn meshes (Contributed by DSDambuster)
Change 3810676 by Guillaume.Abadie
Makes r.Test.SecondaryUpscaleOverride work with any arbitrary pixel size.
Change 3810696 by Guillaume.Abadie
Adds support for #include "../MyFile.ush" in the shader compiler.
Change 3810698 by Guillaume.Abadie
Implements enum class based shader permutation dimension.
Change 3810699 by Guillaume.Abadie
Implements Diaphragm DOF ground work.
Change 3811536 by Guillaume.Abadie
Pulls the trigger on CircleDOF's setup pass for DiaphragmDOF.
Change 3811958 by Mark.Satterthwaite
More fixes for mtlpp.
Change 3811964 by Mark.Satterthwaite
Only views onto a mtlpp::Buffer should return a valid parent-buffer.
Change 3812604 by Guillaume.Abadie
Changes Diaphragm DOF's source file layout.
Change 3812827 by Mark.Satterthwaite
More missing/broken functionality in mtlpp fixed and fixed obvious leaks.
Change 3812920 by Guillaume.Abadie
Adds support for per mip level UAV in FSceneRenderTarget.
Change 3812926 by Mark.Satterthwaite
Change the way we handle mtlpp resource construction to avoid leaks.
Change 3812960 by Rolando.Caloca
DR - vk - Disable DFGI
Change 3812968 by Rolando.Caloca
DR - Linker fix
Change 3813318 by Mark.Satterthwaite
Fix linear texture allocation from a buffer sub-view.
Change 3813326 by Mark.Satterthwaite
Fix another Metal mtlpp sub-buffer allocation failure.
Change 3813328 by Guillaume.Abadie
Removes global samplers in TAA for GL4, Vulkan and Switch.
Change 3813937 by Rolando.Caloca
DR - Fix logs not getting dumped when r.DumpSCWQueuedJobs is on
Change 3813947 by Rolando.Caloca
DR - noshaderworker should override r.XGEShaderCompile
Change 3817017 by Uriel.Doyon
Fixed texture editor black screen
#jira UE-53653
Change 3818568 by Rolando.Caloca
DR - Fix log when shader jobs crash
- Move log10 to common
- Added COMPILER_VULKAN define
Change 3818603 by Uriel.Doyon
Fix to static analysis warning
Change 3818623 by Rolando.Caloca
DR - Workaround hlslcc loop unrolling bug
Change 3819070 by Uriel.Doyon
Fix to stat duplication.
Change 3819105 by Uriel.Doyon
Refactored volume sample shader to avoid using texture dimension.
Change 3819136 by Rolando.Caloca
DR - vk - Per platform files (empty)
Change 3819180 by Rolando.Caloca
DR - vk - Move defines out of config into per platform
Change 3819247 by Rolando.Caloca
DR - vk - Remove more defines into platform settings
Change 3819318 by Rolando.Caloca
DR - vk - Fixes for linking
Change 3819868 by Rolando.Caloca
DR - vk - Linux & Android fixes
Change 3819873 by Guillaume.Abadie
Adds support for PermutationId on r.DumpShaderDebugInfo=1
Change 3819940 by Rolando.Caloca
DR - vk - Fix Linux issues
Change 3819956 by Rolando.Caloca
DR - vk - Invalid check
Change 3819961 by Michael.Lentine
Hide attributes when plugin is not present
Change 3819980 by Rolando.Caloca
DR - vk - Standard validation always
Change 3820039 by Rolando.Caloca
DR - vk - Fix invalid ensure
Change 3820326 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3820422 by Michael.Lentine
Add back GBufferAO.
Change 3820433 by Rolando.Caloca
DR - Fix D3D12 crash on 20 thread (10x2 cores) machines
Change 3821677 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3821961 by Rolando.Caloca
DR - Vulkan uses real UB by default on non-Android
Change 3821968 by Rolando.Caloca
DR - vk - Update glslang 1.0.65.1
Change 3821969 by Uriel.Doyon
Added support for stat groups that must be sorted by name. Defined by DECLARE_STATS_GROUP_SORTBYNAME.
Change 3821983 by Rolando.Caloca
DR - vk - Change to static array (0.1ms on 10k draw calls)
Change 3824141 by Rolando.Caloca
DR - vk - Fix static analysis
- Bumped up some (c) 2017->2018
Change 3824355 by Rolando.Caloca
DR - vk - Accessor to find out if a cmd buffer has been submitted
Change 3824420 by Rolando.Caloca
DR - Sanity check number of queries per batch on D3D11 as to not break other RHIs
Change 3824463 by Rolando.Caloca
DR - Removed dummy ensure for D3D12
Change 3824609 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3826074 by Mark.Satterthwaite
Start IMP-caching the various descriptor types in mtlpp.
Change 3826098 by Rolando.Caloca
DR - vk - Dump layer compile fixes
Change 3826113 by Rolando.Caloca
DR - vk - Missing dump functions
Change 3826302 by Rolando.Caloca
DR - vk - Compile fix
- Change dump handles to %p
Change 3826635 by Mark.Satterthwaite
Forward declarations required for mtlpp compilation without exposing Metal headers - plus fixes to the mtlpp test compiler.
Change 3827072 by Mark.Satterthwaite
Switch some more mtlpp descriptors over to IMPTables from objc_msgSend.
Change 3827909 by Guillaume.Abadie
Replaces diaphragm DOF's prefiltering with LDS bank coherent bilateral reduction, and implements 1/8 res background gathering pass.
Change 3827952 by Guillaume.Abadie
Updates copy right to year 2018 on diaphragm DOF's new files.
Change 3828055 by Rolando.Caloca
DR - vk - Rename in prep for changes
Change 3828229 by Guillaume.Abadie
Avoids to log multiple time global shader type name that have multiple permutations when verifying global shader map.
Change 3828427 by Guillaume.Abadie
Reimplements Max3x3 gathering post filtering for Diaphragm DOF with proper shader permutation.
Change 3829979 by Guillaume.Abadie
Fixes a color NaN source in diaphragm DOF's TAA pass.
Change 3830116 by Rolando.Caloca
DR - vk - Fix GPU queries/frame time on old system
- New system in place, disabled temporarily
Change 3830169 by Rolando.Caloca
DR - vk - Fix async pso creation crash
Change 3830193 by Rolando.Caloca
DR - vk - CPU RHI thread improvement
Change 3830291 by Guillaume.Abadie
Automatically lower the number of gathering rings on background half res gather pass as far CoC is getting smaller.
Change 3830300 by Rolando.Caloca
DR - vk - Static analysis fix: Split VulkanCommon.h out of VulkanConfiguration.h
Change 3830589 by Mark.Satterthwaite
In mtlpp cache the IMPTables for all the Metal @protocol's that are dependent on the MTLDevice, this avoids a mutex & map lookup. Also make all the concrete types store their IMPTable statically as it won't change.
Change 3830793 by Mark.Satterthwaite
Fix a small number of bugs introduced with the mtlpp descriptor and table caching.
Change 3831491 by Jian.Ru
Fix driver version unknown
#jira UE-53688
Change 3832335 by Rolando.Caloca
DR - vk - Change include
Change 3832550 by Rolando.Caloca
DR - vk - Occlusion query rewrite WIP
Change 3832589 by Rolando.Caloca
DR - vk - Minor refactor to pools in prep for timestamps
Change 3832618 by Rolando.Caloca
DR - vk - Do not block timestamp queries
Change 3832636 by Rolando.Caloca
DR - vk - Fix old timestamp queries
Change 3833138 by Rolando.Caloca
DR - vk - Fix timestamp queries
Change 3833249 by Rolando.Caloca
DR - vk - Test lock
Change 3833667 by Rolando.Caloca
DR - vk - Old queries wait on the RHI thread now instead of the driver (disabled)
Change 3833907 by Daniel.Wright
Fixed NextStartOffset UAV index out of bounds
Change 3833918 by Daniel.Wright
D3D12 RHI: only refcount uniform buffers if GRHINeedsExtraDeletionLatency is false, which is no longer the case for PC or Xbox. The refcounting was heavy on performance as reported by a licensee because FRHIResource uses atomics for refcounting, which is only necessary when GRHINeedsExtraDeletionLatency is disabled.
Change 3834852 by Rolando.Caloca
DR - vk - Missing file
Change 3834858 by Guillaume.Abadie
Implements r.DOF.MinimalFullresBlurringRadius
Change 3834979 by Rolando.Caloca
DR - vk - Fix
Change 3836117 by Rolando.Caloca
DR - vk - Update to 1.0.65.1
Change 3836122 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOcclusionBatchCmdBuffer
- Added new error codes/messages
Change 3836421 by Mark.Satterthwaite
For the purposes of debugging and conformance testing mtlpp make it possible to compile *without* the IMP cache so that we call the underlying Objective-C.
Change 3836896 by Uriel.Doyon
Fixed concurrency and exit issues around d3d12 pipeline states on windows.
Change 3837385 by Rolando.Caloca
DR - vk - Dump memory on OOM
Change 3837427 by Rolando.Caloca
DR - vk - Change some arrays to array views
Change 3837800 by Guillaume.Abadie
Implements SHADER_PERMUTATION_RANGE_INT to make contiguous integer permutations that does not start to 0.
Change 3838128 by Rolando.Caloca
DR - vk - Support for non-cached memory types
Change 3838540 by Guillaume.Abadie
Refactors Diaphragm DOF's CoC tile buffer under a single API for better maintainability.
Change 3838731 by Rolando.Caloca
DR - vk - Descriptor pools per command buffer pool (turned off)
Change 3838961 by Rolando.Caloca
DR - vk - Use ring buffer for per frame uniform buffers
- Enable descriptor pools per layout recycled per command buffer
Change 3839087 by Rolando.Caloca
DR - vk - Compile fixes for Android
Change 3839106 by Marcus.Wassmer
PR #4413: Removing unnecessary call to FString::ToLower (Contributed by gsfreema)
Change 3839252 by Mark.Satterthwaite
Fix mtlpp::Resource move operators.
Change 3839426 by Marcus.Wassmer
Duplicate 380972
Make PC GPU Benchmarks more reliable
Change 3840041 by Guillaume.Abadie
Fixes shader compilation failure in TAA with alpha channel through post processing support.
Change 3840257 by Chris.Bunner
Swapping a mul() to * in HLSLTranslator::Dot to allow scalar transformations per a UDN ticket.
Change 3840308 by Rolando.Caloca
DR - vk - Support for UB & non-UB on emulation mode
Change 3840586 by Rolando.Caloca
DR - Copy 3840577
Fix for CPUs with more than 16 cores
Change 3840671 by Rolando.Caloca
DR - vk - Copy from 3840663
Fix for layout ensure on HMD projects on Vulkan
Change 3840980 by Rolando.Caloca
DR - vk - Android compile fixes
Change 3841989 by Guillaume.Abadie
Slices Diaphragm DOF's Gather pass in multi shader files, and CFLAG_StandardOptimization flag for faster iteration time.
Change 3842216 by Guillaume.Abadie
Fixes DDOF's foreground alpha channel.
Change 3842217 by Guillaume.Abadie
Implements r.DOF.MaximalForegroundBlurringRadius
Change 3842353 by Guillaume.Abadie
Allows to disable foreground gathering with r.DOF.MaximalForegroundBlurringRadius=0
Change 3842747 by Rolando.Caloca
DR - vk - Missing use of GPoolSizeVRAMPercentage
- Support for smaller allocations if page size is not available
Change 3842791 by Rolando.Caloca
DR - vk - Use 95% of available GPU memory to handle some fragmentation
Change 3843690 by Guillaume.Abadie
Fixes diaphragm DOF's foreground after all this refactoring.
Change 3844439 by Guillaume.Abadie
Improves Coc dilate pass to make the gather pass as fast as possible, but still without artifacts caused by the fast gathering optimisation.
Change 3844946 by Mark.Satterthwaite
rd_route v1.1.1 with attached TPS approval.
For macOS function interposition which is useful for debugging and the occasional workaround.
Change 3845164 by Mark.Satterthwaite
Add LLM support for macOS, including tracking of memory allocated in Objective-C. This makes use of runtime method swizzling in the Objective-C runtime and the rd_route library I added for Richard Wallis, which allows for arbitrary runtime function interposition and allows me to hook the custom allocators used in Apple's many Objective-C frameworks on which the whole macOS edifice is built. Objective-C objects are charged to the calling scope as they are too common to impose their own without murdering frame rate.
We would need a TPS approval for an iOS function interposition library for this to work fully on iOS, if desired in the short term discarding LowLevelFree events that aren't in the map rather than asserting will workaround the problem.
Change 3845849 by Marcus.Wassmer
Fix clang and some normal refactor errors
Change 3846026 by Rolando.Caloca
DR - vk - Descriptor set allocation scheme rewrite
- Type hash for each pool
- Desc sets Pool on device
Change 3846169 by Rolando.Caloca
DR - vk - Remove old code for non-layout descriptor set pools
Change 3846205 by Mark.Satterthwaite
Disambiguate the PatchControlPointOut struct definitions in Metal tessellation shaders at Apple's suggestion to avoid a metallib gotcha.
Change 3846346 by Arne.Schober
DR - Missing Vector instructions
Change 3847037 by Arne.Schober
DR - Fix issue with GPU skincache where the offset of the clothbuffer is not relative to the offset of the actual vertexbuffer.
Fixed MorphTarget Skincache Offset mixxup
Change 3847275 by Marcus.Wassmer
Copying MGPU to Dev-Rendering (//UE4/Dev-Rendering)
Change 3847464 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3847707 by Michael.Lentine
Only use MorphTargetOffset when the shader enables morph targets.
Change 3848533 by Richard.Wallis
Handle Metal adding FirstInstance into [[ instance_id ]] which is different to other APIs. SV_InstanceID and SV_VertexID should now have their respective base instance and base vertex ID's subtracted before use in the shader.
#jira UE-51716
Change 3848625 by Richard.Wallis
Compile Fix
Change 3848725 by Rolando.Caloca
DR - Remove use of Build/SetLocalGraphicsPipelineState
Change 3848797 by Rolando.Caloca
DR - Deprecate Build/SetLocalGraphicsPipelineState
Change 3849237 by Arne.Schober
DR - AddCustom Ver for ModelVertex Serialization
Change 3851247 by Rolando.Caloca
DR - vk - Util functions
Change 3851523 by Arne.Schober
DR - Update Reflection Comparission shot from the BuildFarm.
Change 3851859 by Rolando.Caloca
DR - vk - Skip loader
Change 3851889 by Krzysztof.Narkowicz
Removed lights with lighting channels out of tiled deferred light list. Tiled deferred lights do not support lighting channels and it's wasn't worth to add extra complexity to this shader in order support this special case.
#jira UE-51512
Change 3852181 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3852547 by Uriel.Doyon
Fixed Pre-Exposure shader compilation and Temporal AA issue.
#jira UE-54276
Change 3852637 by Arne.Schober
DR - Fixing Normal Automated Test Result
Change 3853167 by Richard.Wallis
AvfPlayer - support for streaming media. Due to an operator new/delete mismatch in Apples CFNetwork - we've had to change out one of that framework allocators using rd_route to avoid the memory corruption.
#jira UE-35637
Change 3853447 by Chris.Bunner
Fixing typos.
Change 3853645 by Krzysztof.Narkowicz
Fixed light functions on subsurface materials
Removed strange code from blending between static and dynamic shadows
#jira UE-50275
Change 3853660 by Rolando.Caloca
DR - Fix OpenGL overwriting texture samplers on forward renderer
Change 3853945 by Mark.Satterthwaite
Duplicate #3831616
Fix the black ground scattering on Metal - we've had issues with the atmospheric fog calculations for a long time - one or more intermediate operations generates different precision on Metal so we end up passing -ve values into sqrt which then generates NaN/INF. For Metal when compiling this file and this file only #define sqrt() to sqrt(abs()) so that we don't see anymore unexpected black in atmospheric rendering. This is far from ideal but I don't want to make abs all inputs into every sqrt because AFAIK this is the only case where we have an issue, and until we to investigate each intermediate calculation that isn't ridiculously, soul-crushingly tedious, it isn't practical to identify the source of the error.
#jira UE-53720
Change 3853966 by Mark.Satterthwaite
Duplicate #3835852
Fix tessellation shaders in Metal with Manual Vertex Fetch enabled:
- The control points idnex buffer shouldn't collide with anything else.
- We can't use the optimisation of loading texture width & height from the buffer meta-table in tessellation shaders as the combined stages don't guarantee not to clobber unused buffer slots and screw it up when we use linear textures.
#jira UE-53851
Change 3854250 by Uriel.Doyon
Fix fbx automation tests
Change 3854736 by Uriel.Doyon
Added a tooltip to the EV100 slider in the exposure menu.
Using game settings now disables the slider.
#jira UE-53945
Change 3855047 by Jian.Ru
Fix DFAO getting NANs when samples out of ViewRect
#jira UE-54403
Change 3858197 by Krzysztof.Narkowicz
View frustum shadow caster culling for pointlights/spotlights
#jira UE-54381
Change 3860081 by Krzysztof.Narkowicz
Tighter bounding sphere for a spotlight
Replaced IntersectSphere(LightProxy->Origin, LightProxy->Radius) with LightProxy->SphereBounds for tighter culling of spotlights
Directional light GetBoundingSphere() now everywhere returns Sphere((0,0,0),HALF_WORLD_MAX) for consistency and proper SphereBounds
#jira UE-54258
Change 3860324 by Mark.Satterthwaite
Update the macOS deployment target version to 10.12 from 10.11 as we officially ended support for El Capitan a while ago. Should mean that libraries compiled for 10.12 and up won't cause link warnings.
Change 3860945 by Arne.Schober
DR - Fix not releaseing SRV on render thread for FPositionVertexBuffer, FStaticMeshVertexBuffer, FColorVertexBuffer, FStaticMeshInstanceBuffer.
#jira UE-54587
Change 3861129 by Jian.Ru
Prevent distance culled objects from casting distance field direct shadows
#jira UE-54533
Change 3861502 by Jian.Ru
Exclude distance culled objects from DFAO calculation
#jira UE-54533
Change 3862243 by Krzysztof.Narkowicz
Changed radius of a directional light's bounding sphere from HALF_WORLD_MAX to WORLD_MAX in order to encopass entire WORLD_MAX box
Change 3863476 by Krzysztof.Narkowicz
Added BuildReflections option to ResavePackages commandlet
#jira UE-54581
Change 3863717 by Rolando.Caloca
DR - vk - Missed using pipeline cache on compute PSOs
Change 3865332 by Arne.Schober
DR - Fix UE-52356 Bone Weight
Change 3866220 by Rolando.Caloca
DR - vk - Fixed GetNativeResource missing on textures
- Added support for -preferNvidia|AMD|Intel
- Added VulkanRHIBridge.h
- Minor fixes
Change 3866222 by Rolando.Caloca
DR - vk - Missed file
Change 3866951 by Krzysztof.Narkowicz
Fixed FreezeRendering on non editor builds: ComputeAndMarkRelevanceForViewParallel was calling FrozenMatricesGuard on multiple threads, reading and writing view matrices state in parallel.
#jira UE-53640
Change 3867231 by Guillaume.Abadie
Adds alpha mode to allow the tonemapper to passthrough the alpha channel for broadcast industry.
Change 3867233 by Guillaume.Abadie
Fixes a compilation failures in TAAU with r.PostProcessing.PropagateAlpha==2
Change 3867594 by Daniel.Wright
Removed EditorOnlyDefaultMaterials, which added 79s of shader compilation during startup
Added a dialog when opening the Material Editor on a Default Material, warning of advanced workflow
Preventing Material Editor Apply or Save for a Default Material when the preview material has compilation errors
Change 3870048 by Daniel.Wright
Cleaned up formatting in TranslucentRendering from merges
Change 3870106 by Krzysztof.Narkowicz
Fixed some FArchive Tell()/Seek() 64bit->32bit truncations
Change 3870211 by Rolando.Caloca
DR - vk - Added -vulkanvalidation=N/-vulkanstandardvalidation/-novulkanstandardvalidation to set validation layer behaviour from cmd line
Change 3870225 by Rolando.Caloca
DR - vk - Some platforms do not use a standard swapchain
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3870647 by Daniel.Wright
Moved FogRendering.h to Renderer
Change 3872130 by Krzysztof.Narkowicz
Disable USE_GLOBAL_CLIP_PLANE for MATERIAL_DOMAIN_POSTPROCESS and MERIAL_DOMAIN_UI
Merging GitHub Pull request #4459
"When material domain is not needing global clip plane there is no need to generate any code involving it. This does not alter output but removes lot of code at vertex shader and pixel shaders. At least on mobile rendered was actually generating clipping code for ui materials."
#jira UE-54616
Change 3872145 by Rolando.Caloca
DR - vk - Optional SupportsMarkersWithoutExtension
Change 3872404 by Uriel.Doyon
Added some guards when streaming virtual textures.
Fixed optimized UCanvasRenderTarget2D::RepaintCanvas() to prevent resolving the texture twice.
Fixed bad mipmap generation with UCanvasRenderTarget2D.
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3874176 by Ben.Marsh
IncludeTool: Add an flag to prevent scanning source files for exported symbols.
Change 3874935 by Krzysztof.Narkowicz
Fixed white thumbnails and other issues with sky lighting on ES3_1 path, by disabling GGX prefiltering, as mobile path doesn't have a single cubemap with all initialized mips. Instead it ping-pongs between 2 partially initialized.
#jira UE-54656
Change 3875710 by Daniel.Wright
Renamed uniform buffer member macros to be much shorter for readability
Change 3876665 by Guillaume.Abadie
Cherry-pick 3870715: Implements DOF's hybrid scatering bare bones.
Change 3876666 by Guillaume.Abadie
Cherry-pick 3871786: DOF hybrid scatering: fixes NaN source, transition to gather on close to screen edge and low intensity.
Change 3876677 by Guillaume.Abadie
Cherry-pick 3872348: Implements neighbor comparison for DOF's scattering compilation pass.
Change 3876680 by Guillaume.Abadie
Cherry-pick 3872357: Oups... fixes build...
Change 3876683 by Guillaume.Abadie
Cherry-pick 3872475: Controls number of mip to generate with DOF's reduce pass.
Change 3876687 by Guillaume.Abadie
Cherry-pick 3874104: Fixes various bugs in diaphragm DOF's hybrid scattering.
Change 3876690 by Guillaume.Abadie
Cherry-pick 3874144: Packs multiple DOF scattering group into same draw instance.
Change 3876694 by Guillaume.Abadie
Cherry-pick 3874275: Switches hybrid scattering with indexed indirect draw call to reduce scatter vertex shader invocation.
Change 3876695 by Guillaume.Abadie
Cherry-pick 3874674: Records min and max coc on DOF's setup's draw event.
Change 3876783 by Rolando.Caloca
DR - Static analysis fix
Change 3876845 by Guillaume.Abadie
Implements USceneCaptureComponent::ProfilingEventName
Change 3877197 by Rolando.Caloca
DR - vk - OQ fixes (disabled)
Change 3877428 by Krzysztof.Narkowicz
Merged with tiny tweaks Ansel photography plugin improvements from Adam Moss (GitHub pull request #4426):
-The free-roaming photography camera has new constraints by default, i.e. it can't pass through walls
-Photography session can be started and stopped programmatically, e.g. making it possible to bind photography to an alternative hotkey or button combo. This was an often-requested feature.
-Tweakables and utilities are now exposed through a Blueprint Function Library (rather than direct manipulation of console variables)
-The Ansel photography session UI now exposes some engine effect tweakables as sliders. For example, if the game is using depth-of-field then sliders are made available to allow the photographer to change the focal depth etc. The developer may suppress this behavior through the Blueprint Function Library.
-Letterboxing is now removed during multi-part capture, d'oh.
-Tiled shots are taken at full resolution even if ScreenPercentage < 100
-SSR is enabled during super-resolution shots since Ansel is now better at hiding any ensuing artifacts
-Postprocess settings are frozen at session start to avoid discontinuities during photography, i.e. wandering between postprocess volumes when the camera auto-moves for stereo and 360 shots.
#jira UE-54244
#4426
Change 3879086 by Krzysztof.Narkowicz
Fixed sky/reflection capture (without owner) update - they are now updated only with a correspoding world
Change 3879090 by Guillaume.Abadie
Fixes tones of regressions on diaphragm DOF's recombine passes.
Change 3879198 by Rolando.Caloca
DR - vk - Support for real uniform buffers on Android platforms
Change 3879993 by Krzysztof.Narkowicz
-Fixed int64->int32 FArchive offset truncation in TShaderMap, VertexFactory and TextureDerivedData
-Fixed FSerializationHistory bug, when trying to serialize 0 bytes
#jira UE-43203
Change 3881462 by Guillaume.Abadie
Implements full res DOF's setup pass for cheaper full res gathering in recombine pass.
Change 3881524 by Krzysztof.Narkowicz
Fixed compilation by removing FTickableEditorObject from FPreviewScene
Change 3881724 by Chris.Bunner
Static analysis fix.
#jira UE-54762
Change 3881861 by Rolando.Caloca
DR - vk - Fix layout warning when generating mip chain
Change 3881864 by Rolando.Caloca
DR - Use render passes on HZB
Change 3882236 by Yuriy.ODonnell
IndirectLightingColorScale is now applied to SubsurfaceLighting and DiffuseLighting. Was previously only applied to DiffuseLighting.
#jira UE-42534
#github 3326
Change 3882325 by Guillaume.Abadie
Implements FocusOnly lower gathering pass for Diaphragm DOF's slight out focus temporal stability.
Change 3882340 by Rolando.Caloca
DR - vk - Fix api dump
Change 3882430 by Rolando.Caloca
DR - vk - KHR_maintenance2
Change 3882563 by Rolando.Caloca
DR - Add depth-stencil access mode to PSO initializer
Change 3882929 by Rolando.Caloca
DR - vk - Proper fix for maintenance extension macros
Change 3883087 by Mark.Satterthwaite
Allow disabling VSync in windowed mode for macOS 10.13.4+ and above.
Change 3883597 by Guillaume.Abadie
Collapses full and half res DOF setup passes together.
Change 3883702 by Guillaume.Abadie
Fixes mac's build.
Change 3884747 by Uriel.Doyon
Fix for static analysis warning
Change 3884975 by Rolando.Caloca
DR - vk - Move some platform defines to platform properties
Change 3884988 by Rolando.Caloca
DR - vk - Make an override per platform
Change 3885832 by Rolando.Caloca
DR - vk - Cosmetic change to group similar members
Change 3885891 by Rolando.Caloca
DR - vk - Some _RenderThread functions to avoid stalls
Change 3886044 by Rolando.Caloca
DR - Added RHI api _RenderThread version of
RHICreateTextureReference
RHICreateShaderLibrary
RHICreateRenderQuery
Change 3886560 by Guillaume.Abadie
Fixes strong aliasing on TAAU's fast shader permutation.
This adds a 6th neighbor sampling, and switch AA_TONE ON as TAA does for its fast shader permutation.
Change 3886749 by Guillaume.Abadie
Cherry-pick 3884748: Implements DOF's BuildBokehLUT for diaphragm blades simulation.
Only used in hybrid scattering for now.
Change 3886750 by Guillaume.Abadie
Cherry-pick 3885457: Simulates diaphragm blades' curvature on bokeh.
Change 3886752 by Rolando.Caloca
DR - Fix metal static analysis
Change 3887460 by Uriel.Doyon
Fixed to more static analysis warning.
Change 3888201 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitAfterEveryEndRenderPass
- Fixed bad layout on rendering back buffer
Change 3888209 by Rolando.Caloca
DR - vk - Unity compile fix
Change 3888254 by Rolando.Caloca
DR - vk - Fix async texture layout
Change 3888893 by Guillaume.Abadie
Simulates bokeh in DOF's slight out of focus.
Change 3889085 by Guillaume.Abadie
Fixes DOF's reduce pass sampling outside viewport.
Change 3889924 by Rolando.Caloca
DR - vk - Skip seemingly bad validation error
Change 3890573 by Daniel.Wright
Only initialize FDiaphragmDOFGlobalResource in Feature Level 5
Change 3890590 by Arne.Schober
DR - Fix Paper2d crash. When addMesh is called the Vertex and Indexbuffers are nulled out. re-create Dynamic Mesh builder for every Mesh instead.
#jira UE-55063
Change 3890638 by Arne.Schober
DR - Better fix for Paper2d which honors batching
#jira UE-55063
Change 3891099 by Krzysztof.Narkowicz
1.5 texel shadow offset fix inside Manual2x2PCF based on #4485 GitHub pull request
#jira UE-54985
#4485
Change 3891234 by Krzysztof.Narkowicz
Optimized PCF2x2 and PCF3x3 - merged #4494 GithHub pull request
#jira UE-55121
Change 3891407 by Rolando.Caloca
DR - vk - Set vendor id earlier
Change 3891417 by Rolando.Caloca
DR - vk - Missing layout transitions
Change 3891718 by Arne.Schober
DR - Do not recreate one Frame Resource for dynamic draws
#jira UE-55063
Change 3891925 by Yuriy.ODonnell
Fix/workaround for inconsistent preprocessor definitions for NVAftermath that result in FD3D11DynamicRHI class layout mismatch. NVAftermath support is now enabled by default for Win64.
NVAftermath is declared as a private dependency in D3D11RHI. It does not automatically propagate to modules that explicitly include private RHI headers (OculusHMD, OSVR, OSVRInput). This results in NV_AFTERMATH being defined while compiling RHI module and not defined when compiling other modules, causing memory corruption at runtime.
The long-term solution for this and similar issues requires some mechanism for adding transitive module dependencies, so that anyone that depends on D3D11RHI module would automatically also get the NVAftermath. Additionally, private headers should *never* be included directly by external modules.
The short-term solution is to explicitly add NVAftermath dependency to OculusHMD, OSVR and OSVRInput.
Additionally, NV_AFTERMATH is no longer forced by D3D11RHIPrivate.h when it's not defined. This allows catching this kind of mismatch in the future through a compiler warning (C4668).
#jira UE-53065
Change 3891987 by Rolando.Caloca
DR - vk - Support for dedicated allocations
Change 3892339 by Jian.Ru
Fix a crash when tessellation shaders are used in dx12
#jira UE-55127
Change 3892528 by Rolando.Caloca
DR - vk - Update Linux headers
Change 3892867 by Rolando.Caloca
DR - vk - Don't create swapchain if not needed
Change 3893416 by Guillaume.Abadie
Implements bokeh simmulation on foreground and background gather.
Change 3893732 by Chris.Bunner
GetRelevance_Internal should use the immediate parent resource, not the base, as some features are overridden by permutations e.g. UsesWorldPositionOffset.
#jira UE-53404
Change 3893868 by Guillaume.Abadie
Allocates diaphragm DOF's buffers and structered buffer only on supported platforms.
Change 3893917 by Chris.Bunner
Potential fix for CIS.
Change 3893933 by Chris.Bunner
Duplicating CL 2647737 as this is the same issue from that JIRA where accessing game-thread data was being prevented. We don't have this check in UMaterial::GetMaterialResource already, but presumably the UMaterialInstance case was never removed as we've not been calling it until now.
Change 3894218 by Rolando.Caloca
DR - vk - Remove stat counters per draw call, gains 10% CPU on Infiltrator
Change 3894579 by Arne.Schober
RT - Fix assert not in RenderingThread from Triangle Renderer.
#jira UE-55247
Change 3894724 by Rolando.Caloca
DR - vk - New API for batching barriers
Change 3894909 by Arne.Schober
DR - Fix crash in Speedtree wind where Renderdata is unavailable
#jira UE-54544
Change 3895414 by Rolando.Caloca
DR - Add a configurable threshold for SCWs time outs
Change 3896429 by Marcus.Wassmer
Allow variable frame-latency delay in FrameGrabber frames. For performance you want at least a 1 frame delay so you don't sync the GPU to the CPU.
Change 3896495 by Marcus.Wassmer
Set pointer properly
Fix CIS
Change 3897253 by Guillaume.Abadie
Fixes CIS warning in diaphragm DOF
Change 3899179 by Guillaume.Abadie
Implements background hybrid scatter occlusion for diaphragm DOF.
Change 3903654 by Rolando.Caloca
DR - vk - Rework dump layer to allow other layers
Change 3903766 by Rolando.Caloca
DR - vk - More wrappers
Change 3904025 by Rolando.Caloca
DR - vk - More wrappers
Change 3904342 by Rolando.Caloca
DR - vk - Track image resources & callstacks
Change 3904346 by Rolando.Caloca
DR - vk - Copy fix from 4.19 for flickering grass
Change 3904510 by Rolando.Caloca
DR - vk - Compile fix
Change 3904914 by Daniel.Wright
[Integrate] Fixed PS4 transitions with forward shading
Change 3904916 by Daniel.Wright
[Integrate] Fixed PS4 transitions with occlusion queries
Change 3905975 by Rolando.Caloca
DR - vk - Missing wrappers
Change 3905977 by Rolando.Caloca
DR - vk - Missed file
Change 3907829 by Rolando.Caloca
DR - Move depth bounds to the PSO
Change 3907832 by Rolando.Caloca
DR - vk - Prep for delaying transitions
Change 3907834 by Rolando.Caloca
DR - vk - Fix for depth stencil issues/validation errors
Change 3907967 by Rolando.Caloca
DR - vk - Linux compile
Change 3908093 by Rolando.Caloca
DR - vk - Fix depthstencil layout on descriptors
Change 3908393 by Rolando.Caloca
DR - vk - Disable dedicated allocation as it causes crashes on Nvidia 700 series
Change 3908401 by Rolando.Caloca
DR - Do transitions outside render pass
Change 3908422 by Rolando.Caloca
DR - vk - Fix transition state not getting stored
Change 3908735 by Guillaume.Abadie
Cherry-pick 3896619: Fixes after TAAU post process material that had wrong default buffer UV.
#jira UE-55317
Change 3908736 by Guillaume.Abadie
Cherry-pick 3891352: Fixes ensure when visualizing HDR with TAAU.
#jira UE-55019
Change 3908753 by Guillaume.Abadie
Lets the renderer layout the views in the internal render targets like it prefers.
Change 3909119 by Daniel.Wright
Fix some static analysis warnings
Change 3911943 by Rolando.Caloca
DR - vk - Fix for packaging Vulkan projects
Change 3912145 by Rolando.Caloca
DR - vk - Fix layout on streaming textures
Change 3913029 by Rolando.Caloca
DR - Fix missing transition
Change 3913048 by Rolando.Caloca
DR - Fix for hlslcc
Change 3913054 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3913171 by Rolando.Caloca
DR - vk - Fix for decal missing transition
Change 3913211 by Rolando.Caloca
DR - vk - Add debug name to image tracking
Change 3913449 by Rolando.Caloca
DR - vk - Restore transition
Change 3913466 by Rolando.Caloca
DR - Fix Vulkan EngineTest
Change 3913537 by Rolando.Caloca
DR - vk - Fixes independent samplers & textures (contributed by AMD)
Change 3913548 by Rolando.Caloca
DR - vk - Warning fix
Change 3913691 by Rolando.Caloca
DR - vk - Fixes for parallel (wip)
Change 3914656 by Rolando.Caloca
DR - vk - Fix bug when using separate samplerstates and textures
Change 3914730 by Rolando.Caloca
DR - vk - Bump version
Change 3914764 by Rolando.Caloca
DR - vk - Don't crash on exit
Change 3915532 by Rolando.Caloca
DR - vk - Parallel context fixes
Change 3915589 by Rolando.Caloca
DR - vk - Hoist and rename transition and layout manager class out of the context
Change 3915592 by Rolando.Caloca
DR - Fix gpu marker name
Change 3917607 by Rolando.Caloca
DR - vk - Fix depth bounds on Vulkan
Change 3917609 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3917616 by Rolando.Caloca
DR - Fix D3D11 initialization
Change 3920569 by Rolando.Caloca
DR - vk - Prep for layout mgr refactor
Change 3921023 by Rolando.Caloca
DR - vk - Dump layer fixes
Change 3921623 by Rolando.Caloca
DR - vk - Prep refactor for layouts
- Dump now shows marker tree
Change 3922007 by Rolando.Caloca
DR - vk - Fix extra allocation per draw call
Change 3922442 by Rolando.Caloca
DR - vk - Detect potential issues
Change 3922470 by Rolando.Caloca
DR - vk - Minor optimization
Change 3922482 by Rolando.Caloca
DR - vk - More minor optimizations
Change 3923158 by Rolando.Caloca
DR - Move r.DisableEngineAndAppRegistration out to common RHI and use it on Vulkan
Change 3923486 by Rolando.Caloca
DR - vk - Minor cpu optimizations
Change 3923505 by Rolando.Caloca
DR - vk - Use bigger allocations for uniform buffers
Change 3923516 by Rolando.Caloca
DR - vk - Android compile fix
Change 3923557 by Rolando.Caloca
DR - vk - Cache descriptorset layouts, refactor duplicated code
Change 3923851 by Rolando.Caloca
DR - vk - Linux compile fix
Change 3924153 by Rolando.Caloca
DR - vk - Support for dynamic UBs
Change 3924193 by Rolando.Caloca
DR - vk - Remove old per pso descriptor pools
Change 3924197 by Rolando.Caloca
DR - vk - Remove unused global uniform buffer pool
Change 3924220 by Rolando.Caloca
DR - vk - Wrap some unused classes in their define
Change 3924234 by Rolando.Caloca
DR - vk - Show ring buffer wrapping messages
Change 3924243 by Rolando.Caloca
DR - vk - Fix bad dynamic buffer
Change 3924902 by Rolando.Caloca
DR - vk - Fix crash running infiltrator
Change 3925209 by Rolando.Caloca
DR - vk - Fix bug with dynamic buffers
- Remove old defines
Change 3925300 by Rolando.Caloca
DR - vk - Allow packed uniforms as dynamic UBs (with r.Vulkan.DynamicGlobalUBs)
Change 3925627 by Rolando.Caloca
DR - vk - Move DynamicOffsets into the pipeline state
Change 3925834 by Rolando.Caloca
DR - vk - Cache per stage information
Change 3925835 by Daniel.Wright
Fixed DisplayName for UParticleModuleCollisionGPU
Change 3925897 by Rolando.Caloca
DR - vk - Split update descriptors loop
Change 3926488 by Rolando.Caloca
DR - vk - 16MB for ring buffer on desktop, 8 MB for mobile
Change 3928168 by Guillaume.Abadie
Cherry-pick 3917219: Implements r.DOF.RecombineQuality
Change 3928173 by Guillaume.Abadie
Cherry-pick 3927888: Enables r.DOF.HybridScatter.BackgroundCompositing and r.DOF.HybridScatter.ForegroundCompositing to work when both enabled.
Change 3928216 by Rolando.Caloca
DR - vk - Fix Android
- Fix static analysis
Change 3929119 by Rolando.Caloca
DR - vk - Rename some classes for clarity
- Fix read-only cvar
Change 3929151 by Rolando.Caloca
DR - vk - Rename class
Change 3930046 by Rolando.Caloca
DR - Temp fix Vulkan flickering grass
Change 3930148 by Rolando.Caloca
DR - vk - Only update dirty descriptors
- Use dynamic descriptors for packed global uniform buffers
Change 3930998 by Guillaume.Abadie
Packs shader permutation in different XGE submissions.
Change 3931079 by Rolando.Caloca
DR - vk - Fixes for Android and non-real ubs platforms
Change 3931942 by Krzysztof.Narkowicz
Depth rendering - When EarlyZPassMode is set to DDM_AllOccluders, dynamic objects need also to test bUseAsOccluder just like static ones
#jira none
Change 3932819 by Daniel.Wright
[Integrate] Scene Textures uniform buffer
* Base Pass Uniform Buffer now contains a Scene Textures uniform buffer. Previously the translucent base pass had to check ~40 loose scene texture parameters every draw.
* FMeshMaterialShader's must now bind PassUniformBuffer and supply a valid pass uniform buffer. For most passes this is just FSceneTextureUniformParameters.
* FRendererModule::DrawTileMesh can now cleanly set dummy scene texture resources, just by configuring how the pass uniform buffer is created.
* Moved scene texture shader functions out of Common, into SceneTexturesCommon which must be manually included by shaders that want to use them
* Separate Mobile Scene Textures uniform buffer to silo the platform complexities
Moved DBuffer inputs out of FDeferredPixelShaderParameters and into FOpaqueBasePassUniformParameters
Removed per-frame material uniform expressions. GameTime material node with period is now implemented with an fmod in the shader, without the use of MaterialFloat, so that it will happen at full precision.
* Per-frame expressions were used when the GameTime material node had a period, to do the fmod on the CPU where 32 bit precision is guaranteed, for mobile GPU's where pixel shader precision is sometimes less than 32fp.
Moved forward shading data into the Base Pass Uniform Buffer
Removed instanced stereo support for the light cull grid - will have to be reimplemented without changing SRV's per draw
Base pass sets View Uniform Buffer from DrawRenderState instead of choosing which one to set per-draw
Fixed padding in nested uniform buffer structs
Skip SRV members on Feature Level SM4 and below
Change 3932964 by Rolando.Caloca
DR - vk - Renderdoc on Android
Change 3933095 by Daniel.Wright
Moved FSceneTextureUniformParameters out of the opaque base pass uniform buffer.
* Base Pass shaders now enable SCENE_TEXTURES_DISABLED when compiling for a material of any domain other than MD_Surface. These are used when rendering thumbnails of a material in a different domain, which could be opaque, but the opaque base pass drawing policy does not bind a scene textures uniform buffer, so the shader must not bind it.
* Opaque materials can no longer use EyeAdaptation.
Change 3933096 by Daniel.Wright
Better d3d11 assert message when a uniform buffer was not set by the renderer
Change 3933176 by Rolando.Caloca
DR - vk - Prefer mailbox if available
Change 3933271 by Ryan.Vance
#jira UE-55936
Fixed missing referenced uniform bindings on AR pass-through camera shaders.
Change 3934000 by Guillaume.Abadie
Fixes Win32 build in ShaderCompilerXGE.cpp
Change 3934299 by Guillaume.Abadie
Fixes a bug in DOF's reduce operator that was casusing color leaking between background and foreground.
Change 3934699 by Daniel.Wright
Added bAffectDistanceFieldLighting to landscape
Change 3935190 by Daniel.Wright
Forward Light Grid SRV's use StructuredBuffer on Metal, instead of 'invariant Buffer', which throws off RemoveUniformBuffersFromSource parsing
Change 3935606 by Daniel.Wright
Removed LightmapPolicy::Set which was needed for vertex lightmaps
Renamed FVertexFactory::Set to SetStreams to make it findable
Change 3936510 by Rolando.Caloca
DR - vk - Update glslangValidator.exe to 1.0.65.1 for dumped debug SPIRV shaders
Change 3936545 by Richard.Wallis
Clone of CL's (3925763, 3925430, 3925424, 3925385, 3925278) Mark Satt's Xcode fixes from task stream //Tasks/UE4/Dev-UERNDR-354-mtlpp/
Plus XCode 9.2 compile fix in ApplicationPlatformCompilerPreSetup.h for -Wunused-lambda-capture.
Change 3938061 by Daniel.Wright
Vulkan: Added support for SRV's in Uniform Buffers
Change 3938123 by Daniel.Wright
Vulkan: Slightly better assert for null resources in uniform buffer
Change 3939197 by Rolando.Caloca
DR - vk - Disable custom memory mgmt
Change 3939677 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3939809 by Rolando.Caloca
DR - vk - Fixes for async compute
Change 3939875 by Rolando.Caloca
DR - vk - Support for -vktrace
Change 3939977 by Rolando.Caloca
DR - vk - Skip a condition during gather UBs
- Set up efficient compute async var
- Fix validation cmd line
Change 3939982 by Rolando.Caloca
DR - vk - Revert mipchain
Change 3939984 by Rolando.Caloca
DR - vk - Remove unnecessary asserts
Change 3940082 by Rolando.Caloca
DR - vk - Custom mem mgr
Change 3940475 by Rolando.Caloca
DR - vk - Fix DFAO (indirect draw offset)
Change 3940555 by Rolando.Caloca
DR - vk - Minor fixes
Change 3940675 by Rolando.Caloca
DR - vk - Fix indirect type mismatch
Change 3941111 by Rolando.Caloca
DR - Renderpass bGeneratingMips
Change 3941847 by Daniel.Wright
Fixed Volumetric Lightmaps on Static geometry only working if the geometry had been built with Surface Lightmaps before
Change 3941978 by Rolando.Caloca
DR - vk - Minor fixes for presenting on compute queue
Change 3942074 by Rolando.Caloca
DR - vk - Remove some RHI stalls
- Fixed swap chain stat
Change 3943946 by Daniel.Wright
Fixed Texcoord0 on Volume materials on a particle sprite, including SubUV particles.
Change 3944065 by Daniel.Wright
Fixed SceneDepth collision getting broken on GPU particles when a scene capture is rendering
Change 3944158 by Daniel.Wright
Fixed ViewUniformShaderParameters accessing GEngine->PreIntegratedSkinBRDFTexture too early during slate loading screen
Change 3944865 by Rolando.Caloca
DR - vk - Prep for render passes
Change 3945196 by Rolando.Caloca
DR - Move render pass validate to cpp
Change 3945202 by Rolando.Caloca
DR - vk - Some fixes for using real render passes
Change 3945357 by Rolando.Caloca
DR - Fix bad condition
Change 3946295 by Yuriy.ODonnell
Added a sentinel member to FLightMap, which is initialized in the ctor and reset in the dtor. Sentinel is then checked in FLightCacheInterface::GetLightMapInteraction().
This aims to shed some more light on a hard-to-repro crash, which is suspected to be a use-after-free bug: http://crashreporter/Buggs/Show/1785593
Change 3946407 by Rolando.Caloca
DR - vk - Prep for refactor
Change 3946648 by Rolando.Caloca
DR - vk - Fixes for async compute (wip)
Change 3947299 by Rolando.Caloca
DR - vk - FIx static analysis
Change 3948434 by Rolando.Caloca
DR - vk - Fix exiting with parallel
Change 3948928 by Rolando.Caloca
DR - vk - Fix enabling draw markers for tools
Change 3949021 by Rolando.Caloca
DR - vk - Buffer tracking layer
Change 3949602 by Rolando.Caloca
DR - vk - static analysis fix
Change 3949757 by Rolando.Caloca
DR - vk - Remove bogus parameter
Change 3949810 by Rolando.Caloca
DR - vk - Move waits for cmd buffer
Change 3950270 by Guillaume.Abadie
Implements dedicated gather pass for foreground hole filling to avoid being VGPR bound in foreground gather pass, but still being hable to amend foreground.
Change 3950272 by Rolando.Caloca
DR - vk - Minor refactor for semaphores
Change 3950279 by Guillaume.Abadie
Oups... fixes build
Change 3950298 by Rolando.Caloca
DR - vk - Gather wait semaphores in the cmd buffers
Change 3950371 by Rolando.Caloca
DR - vk - fixes for async compute
Change 3950597 by Rolando.Caloca
DR - vk - Fix for clip distance (fixes planar reflections)
Change 3951075 by Rolando.Caloca
DR - vk - Fix for async compute
Change 3952524 by Guillaume.Abadie
Some DOF enum refactoring.
Change 3955016 by Daniel.Wright
Fixed BuiltData package getting renamed into the map package during a content browser folder move, causing a redirector to be incorrectly placed in the map package
Change 3955668 by Guillaume.Abadie
Fixes a bug where full res coc buffer was computed even if not doing slight out of focus.
Change 3956722 by Guillaume.Abadie
Fixes a bug where r.DOF.MaximalForegroundBlurringRadius was screen percentage dependent.
Change 3959212 by Guillaume.Abadie
Prefixes all DOF's shaders files with DOF keyword.
Change 3959705 by Guillaume.Abadie
Optimises the DOF setup pass outputing half res and full res with LDS downsample.
Change 3959941 by Guillaume.Abadie
Halfs DOF's hybrid scatter compilation by using a unique downsampling for both foreground and background, instead of 2 reduce passes.
Change 3962273 by Rolando.Caloca
DR - Fix typos
#jira UE-56317
PR #4586
Change 3962615 by Rolando.Caloca
DR - vk - Compile fix
Change 3962949 by Rolando.Caloca
DR - Fix DOFDownsample extension
Change 3962993 by Guillaume.Abadie
Back out changelist 3962949
Change 3963016 by Guillaume.Abadie
Adds missing DOFDownsample.usf
Change 3963041 by Rolando.Caloca
DR - vk - Misc changes to help integrate
Change 3964293 by Guillaume.Abadie
Fixes DOF's setup pass reading outside of the viewport.
Change 3964475 by Guillaume.Abadie
Collapses DOF's hybrid scatter compilation passes into reduce passes.
Change 3964883 by Daniel.Wright
Fixed 3d texture in uniform buffer on unsupporting RHI
Change 3964897 by Rolando.Caloca
DR - Compile fixes
Change 3964914 by Guillaume.Abadie
Fixes a bug on r.DOF.RecombineQuality=0
Change 3965153 by Guillaume.Abadie
Fixes compile warning in D3D12Commands.cpp.
Change 3965814 by Rolando.Caloca
DR - Prep for integration conflict resolve
Change 3965899 by Rolando.Caloca
DR - Fix odd linkage issue
Change 3966072 by Rolando.Caloca
DR - More prep for merge
Change 3966163 by Rolando.Caloca
DR - Merge prep
Change 3966844 by Guillaume.Abadie
Packs multiple DOF scattered bokeh per instance and uses PT_RectList in DOF for platforms that can.
Change 3967116 by Rolando.Caloca
DR - Compile fixes for integration
Change 3967273 by Rolando.Caloca
DR - Use same path for mip generation
Change 3967277 by Rolando.Caloca
DR - vk - Fix mips on cubemaps
Change 3967693 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, missing shaders
Change 3967851 by Rolando.Caloca
DR - Copying //UE4/Dev-Main@3912313 to //UE4-DevRendering, Engine 2/2
Change 3968083 by Rolando.Caloca
DR - Integration compile fixes
Change 3968240 by Rolando.Caloca
DR - Shader compile fixes for integration
Change 3968270 by Rolando.Caloca
DR - Fix for missing hash calculation
Change 3969426 by Rolando.Caloca
DR - vk - Fix warning
Change 3969869 by Krzysztof.Narkowicz
Back out changelist 3946295 - UE-54537 is fixed, so no need for this debug sentinel.
#jira none
Change 3969944 by Rolando.Caloca
DR - Warning fix
Change 3970020 by Rolando.Caloca
DR - Bump after integration
Change 3970052 by Rolando.Caloca
DR - Fix for mobile
Change 3970236 by Daniel.Wright
Causing decal shader to recompile to fix a merge bug
Change 3970270 by Daniel.Wright
Bump shader version from merge
Change 3970339 by Olaf.Piesche
Replace series of locks/unlocks with a single one for curve injection
#tests QAGame
Change 3970390 by Rolando.Caloca
DR - Rename FSceneTextureUniformParameters to FSceneTexturesUniformParameters
- Remove duplicate method for occlusion queries
Change 3970523 by Rolando.Caloca
DR - Fix serialization of shaders
Change 3970533 by Arne.Schober
DR - fix for removing the Speed tree wind when the scene gets deleted. The original enque rendercommand requeues the element onto the renderthread although the call already came from the Renderthread and the scene can get lost in between.
#jira UE-56322
Change 3971160 by Guillaume.Abadie
Fixes CompositeEditorPrimtive pass and SelectionOutline pass for VR editor to work with TAAU.
Change 3971516 by Guillaume.Abadie
Cherry-pick 3912629: Fixes SSR that was computing vigneting according to PrevScreen that could let some outside viewport samples going through when rotating the camera.
#jira UE-55353
Change 3971594 by Krzysztof.Narkowicz
Fixed assert inside BindLightMapVertexBuffer. FSplineMeshSceneProxy was calling BindLightMapVertexBuffer for invalid (still not generated) lightmap UV channel after mesh reimport. Simplified assert, as at the moment almost all of the high callsites already clamp lightmap uv channel.
#jira UE-56321
Change 3971622 by Krzysztof.Narkowicz
Fixed crash inside Indirect Lighting Cache. Data (reflection captures and lightmap) generation calls ULevel::GetOrCreateMapBuildData(), which can destroy lightmap data if level has legacy data. Last Lightmap generation step recreates this data, but if user cancels lightmap generation - it won't do that.
#jira UE-56171
Change 3974788 by Rolando.Caloca
DR - Remove GSupportsGenerateMips
Change 3974789 by Rolando.Caloca
DR - Remove bogus function
Change 3974986 by Rolando.Caloca
DR - vk - Tracking fixes
Change 3974989 by Rolando.Caloca
DR - vk - Don't submit dummy barriers
Change 3975075 by Olaf.Piesche
Update for particle curve injection improvement, fixing ES2 problems
#tests QAGame tm-shadermodels, various color curve tests in-editor
Change 3975957 by Uriel.Doyon
Fixed invalid max texture resolution when using the bake material tools.
Change 3978471 by Daniel.Wright
New cvar r.SkylightUpdateEveryFrame
Change 3978779 by Rolando.Caloca
DR - Accessor for texture sizes
Change 3978797 by Rolando.Caloca
DR - Clean up RHI CopyTexture API
Change 3978832 by Rolando.Caloca
DR - vk - Workaround for RenderDoc crashing due to Descriptor Pool reset
Change 3978836 by Rolando.Caloca
DR - vk - Remove generate mips
Change 3979201 by Rolando.Caloca
DR - vk - RHI CopyTexture. Uses general layout for generating mips
Change 3979204 by Rolando.Caloca
DR - Use render passes and CopyTexture to generate mips
Change 3979592 by Rolando.Caloca
DR - Warning fix
Change 3980855 by Krzysztof.Narkowicz
Optimize bounding sphere radius after non-uniform scale by using bounding box extent.
#jira UE-56227
Change 3981065 by Rolando.Caloca
DR - vk - Fix bad layout
#jira UE-56238
Change 3981346 by Rolando.Caloca
DR - Copy from 3707257
Support for not flushing compute jobs (r.D3D11.UAVFlushNV)
Change 3981347 by Rolando.Caloca
DR - Copy from 3707257
Don't flush between morph dispatched
Change 3981932 by Mark.Satterthwaite
Generate the shader hash and function name when a Metal shader error needs to be reported so that even without shader code we get something to go on.
Change 3982442 by Rolando.Caloca
DR - Fix warning
Change 3982652 by Rolando.Caloca
DR - vk - Signal semaphore cleanup
Change 3983917 by Richard.Wallis
Clone of CL 3974146 converted for mtlpp along with extra mtlpp usage suggestions by Mark Satt:
Fix for black flickering on first paint with weighted material landscape on Mac. When using AsyncCopyFromBufferToTexture in Metal we put the blit operation on the prologue encoder - however after a draw call using that resource the copy operation should happen after on the current encoder, this keeps the correct order of operations.
Added Bool return from various Asnyc renderpass resource requests so caller can decide correct further action. Updated to include the other async functions.
Change 3984409 by Guillaume.Abadie
Attempts to make static analysis happy again.
Change 3984435 by Nick.Bullard
Checking in Performance Test level provided to us by Tor Frick based on UE-44841.
This has been utilized for checking issues against Aftermath performance impact.
The Map includes 2 Level Book marks, most testing has been done against Bookmark 1 view, in fullscreen, in game mode
Change 3985087 by Mark.Satterthwaite
Make sure that the particle scratch buffer is large enough to hold all the data for the curve texture we are rendering to, otherwise a full set of curves will start scribbling memory after 64Kb (the curve texture is 256Kb of data - 512x512x4 as sizeof(RGBAUInt8) == 4). This happens in ElementalDemo.
Change 3985201 by Rolando.Caloca
DR - Fix bad CopyTexture
Change 3985258 by Mark.Satterthwaite
Try and detect orientation changes so that we don't blow-up on iOS due to a huge mismatch between the drawable texture for the display and the scene's depth-stencil target. I can't just fiddle with the depth-stencil texture itself without running the risk of obliterating in-use data and really we shouldn't permit such a mismatch anyway but it is fallout from 3620990.
#jira UE-55756
Change 3986449 by Rolando.Caloca
DR - vk - Update & consolidate Vulkan headers to 1.1.70.1
Consolidate SDK into one
Change 3986571 by Guillaume.Abadie
Makes PVS-Studio happy again in DOF.
Change 3987039 by Yuriy.ODonnell
Initial implementation of tracing profiler to show CPU and multiple GPUs on the same timeline. Currently only supported on DX12 platforms.
Use `TracingProfiler frames=N` console command to trigger a capture of the next N frames. Trace is saved to disk as a JSON file into `Saved/Profiling/Traces` directory.
Trace file uses Google Tracing format and can be visualized in Chrome built-in profiler (chrome://tracing).
`r.GPUStatsChildTimesIncluded=1` CVar makes timing scopes hierarchical.
`TracingProfiler.BufferSize=N` CVar controls the size of the tracing buffer, which may need to be increased for long traces (default is 65k events). Only can be set at startup.
Change 3987074 by Yuriy.ODonnell
Implemented timestamp calibration on DX11. Calibration is only performed when tracing profiler session starts.
Change 3987160 by Yuriy.ODonnell
Added thread naming and ordering to the tracing profiler output
Change 3987331 by Mark.Satterthwaite
Remove the Nvidia hack to retain resource references in command-buffers for UE-46604 as the mtlpp refactor provides stronger resource lifetime guarantees.
#jira UE-46604
Change 3987754 by Mark.Satterthwaite
Fix MetalRHI memory reporting in non-default path.
PR #4568
Change 3988184 by Arciel.Rekman
Linux: Fix editor OpenGL performance (UE-55960).
- GetCurrentThreadId() calls became much more frequent with the OpenGL RHIT refactor.
- We used to only cache that value in monolithic builds, because having per-thread static variables in dynamic libraries is risky due to OS limits.
- This change adds dynamically-managed per-thread cache for non-monolithic builds.
#jira UE-55960
Change 3988394 by Rolando.Caloca
DR - vk - Improve memory mgmt
- Use 256MB pages for Device heap (or 1/8th if less).
- Remove texture allocations not going through resource manager
Change 3988405 by Marcin.Undak
Fix VulkanQuery crash on exit #codereview rolando.caloca #codereview arciel.rekman #rb arciel.rekman
Change 3988567 by Rolando.Caloca
DR - vk - Support for packed global UBs on pci aperture heap
Change 3988668 by Rolando.Caloca
DR - vk - Remove old comments
Change 3988956 by Marcin.Undak
RecordPerformance: added option to skip building/cooking before tests #rb none #codereview arciel.rekman
Change 3989161 by Yuriy.ODonnell
Static analysis error fix
Change 3989196 by Guillaume.Abadie
Fixes a crash in light shaft's TAA pass.
#jira UE-57366
Change 3989207 by Yuriy.ODonnell
Refactored FRealtimeGPUProfilerFrame to avoid splitting profile events when calculating exclusive times of scopes. This allows tracing profiler to retain the hierarchical view of the data, while keeping CSV and GPU Stat system behavior intact.
Change 3989469 by Rolando.Caloca
DR - vk - Fix for bad index; fix for bad transition
Change 3989772 by Yuriy.ODonnell
Implemented timestamp calibration on Vulkan
Change 3990040 by Marcus.Wassmer
Aftermath enabled by default.
Removed unnecessary warning for other vendors
Change 3990064 by Mark.Satterthwaite
Ensure that packed globals are reuploaded when the command-encoder is restarted - don't simply invalidate the existing parameters. This properly handles cases where a single logical render-pass is broken into multiple command-encoders and/or command-buffers - otherwise all shaders must reset all parameters each time. When we move between frames we *do* want to perform a full state reset though as previous frame globals are treated as invalid.
Change 3990080 by Mark.Satterthwaite
Change the way we invalidate the visibility buffer between command-buffers and command-encoders so that on iOS you can reuse the same buffer within the same command-buffer, but not across more than one. The code provides an exception to this rule when running under the MetalRHI validation tools which can break each draw call into its own buffer.
Change 3990084 by Mark.Satterthwaite
Get MetalStatistics compiling again.
Change 3990381 by Arciel.Rekman
Bring back D3D12 in RecordPerformance.
Change 3991113 by Rolando.Caloca
DR - Fix crash on RHI thread on mobile preview
- Check RHI objects are not null in the PSO initializer
Change 3991191 by Ryan.Vance
#jira UE-55952
Reimplemented instanced stereo for forward lighting cull grid after the srv/ub clean up.
Change 3991343 by Rolando.Caloca
DR - Copy from 3911492
UE4 - Disabled parallel mobile bass pass by default. This is experiemental and not known to be useful on any mobile platform.
Change 3991375 by Mark.Satterthwaite
Proper copyright assignment in the mtlpp debugger header.
Change 3993151 by Daniel.Wright
Fix RTDF resource transition found by Rolando
Change 3993818 by Rolando.Caloca
DR - Missed file
Change 3993923 by Krzysztof.Narkowicz
Fixed crashes inside RemoveSpeedTreeWind() and RemoveSpeedTreeWind_RenderThread().
FStaticMeshComponentRecreateRenderStateContext didn't flush deferred render updates causing stale RenderData to be left:
1. Thumbnail manager called SetStaticMesh(nullptr), which added StaticMeshComponent to deferred render updates.
2. UStaticMesh::Build called FStaticMeshComponentRecreateRenderStateContext and destroyed DenderData, but didn't touch Thumbnail's manager StaticMeshComponent as it was nullptr.
3. This resulted in a StaticMeshComponent with stale RenderData pointer.
#jira UE-54544
Change 3994033 by Rolando.Caloca
DR - vk - Reworked layers & extensions, as we were not doing it properly
- Remove -vulkanstandardvalidation and -novulkanstandardvalidation as they are not needed anymore
Change 3994275 by Mark.Satterthwaite
Change to linking against mtlpp via AddEngineThirdPartyPrivateStaticDependencies and marking its header with THIRD_PARTY_* macros in the vain hope that might convince the remote compilation code to distribute the module to the remote machine when building MetalRHI.
#jira UE-57507
Change 3994365 by Mark.Satterthwaite
Pilfer some code from the old MetalHeap file to handle calculating texture memory size on older macOS and iOS builds when running with stats or LLM enabled.
#jira UE-57513
Change 3994382 by Rolando.Caloca
DR - vk - Some missing locks during image tracking
Change 3994422 by Rolando.Caloca
DR - vk - Remove bogus shader format
Change 3995530 by Rolando.Caloca
DR - vk - Fix for crash when validation is enabled
Change 3995531 by Rolando.Caloca
DR - vk - Fix static analysis
Change 3995532 by Rolando.Caloca
DR - vk - Added support for r.Vulkan.SaveValidationCache
Change 3995610 by Uriel.Doyon
Texture Streaming Changes and Fixes:
- Using the small FOV items (like scopes) now only affect visible primitives (through "r.Streaming.MaxHiddenPrimitiveViewBoost").
- Static components added after the level is registered in the streaming manager are now handled correctly (fixes the low quality on the chests)
- Dynamic components do not need to register to the streaming manager anymore.
- Optimized dynamic component management by removing duplicate entries in the update list.
- Added a pregarbage collect pass to the dynamic component management to optimize GC handling.
- Added a budget reset logic whenever the scene requirements change significantly.
- PIE worlds now have correct visibility information.
- Fixed possible invalid memory access when processing the streaming manager slave views.
- Refactored the incremental level texture data build to prevent new components from being unhandled.
- Removed StreamingManager callbacks for NotifyActorSpawned() and NotifyPrimitiveAttached()
- Added a StreamingManager callback NotifyPrimitiveUpdated(), to be used whenever a primitive streaming state must be updated.
#jira none
Change 3995908 by Arciel.Rekman
Fix compile errors when using new Vulkan queries.
Change 3995990 by Arciel.Rekman
More compile fixes to new Vulkan queries.
- MSVC did not catch this, clang did.
Change 3996101 by Rolando.Caloca
DR - vk - Win32 compile fix
Change 3996323 by Mark.Satterthwaite
Use the right include path to export the mtlpp headers.
#jira UE-57507
Change 3996392 by Arciel.Rekman
Vulkan: fix crash on start when using new queries.
- CommandBufferManager was not yet set at that point and the code in queries relied on it.
Change 3996585 by Rolando.Caloca
DR - Slight improvement to GL being black, but just a temporary 'workaround' as it's not correct.
Change 3998806 by Arciel.Rekman
Fix Linux build (UE-57602).
#jira UE-57602
Change 3998866 by Arciel.Rekman
SubwaySequencer: fix old shader platform name.
Change 3998947 by Mark.Satterthwaite
Silence deprecation warnings in CEF on macOS now that we've moved to 10.12 as the minimum.
#jira UE-57577
Change 3998951 by Mark.Satterthwaite
Fix last of the deprecation errors that I am aware of for macOS 10.12.
#jira UE-57581
Change 3998984 by Mark.Satterthwaite
Build mtlpp for iOS 9.0 not 9.3.
#jira UE-57586
Change 3999065 by Rolando.Caloca
DR - vk - Make sure we use version 1.0.0
#jira UE-57521
Change 3999071 by Arne.Schober
DR - [UE-55433, UE-57361] Hack SNORM support in OpenGL by re-interpreting UNORM. Underlying data is always SNORM.
#jira UE-55433, UE-57361
Change 3999494 by Rolando.Caloca
DR - Enable r.UnbindResourcesBetweenDrawsInDX11 in debug
- Clear compute resources when r.UnbindResourcesBetweenDrawsInDX11 is enabled
Change 4000197 by Krzysztof.Narkowicz
Mesh simplifier - normalize TexCoordWeights using min/max TexCoord range. This fixes precision issues for very big TexCoord values and allows to optimize for all TexCoord channels when channels have values of different magnitudes (e.g. non standard TexCoord data).
#jira UE-54935
Change 4000305 by Yuriy.ODonnell
Suppress PVS Studio warning V547 (Expression is always true) related to Aftermath
Reported issue to PVS team and to NVIDIA. Confirmed false positive, fix coming in future PVS version (v6.24).
#jira UE-57579
Change 4000853 by Arciel.Rekman
Linux: fix not calling CrashReportClient (UE-57678).
#jira UE-57678
Change 4001504 by Rolando.Caloca
DR - vk - Fix transition
Change 4002460 by Krzysztof.Narkowicz
Toggle for contant shadow length in word space
Exposed contact shadows to Blueprints
#jira none
Change 4002608 by Rolando.Caloca
DR - vk - Fix static analysis
- Fix potential debug image tracking crash
- Comment out unused methods
Change 4002615 by Rolando.Caloca
DR - vk - Allow r.Vulkan.WaitForIdleOnSubmit to be set at startup (e.g. in ConsoleVariables.ini)
Previously, if your map needed to UpdateSkyCaptureContents on startup, an ensure would fail if GWaitForIdleOnSubmit was set.
PrepareForCPURead needs to wait for the command buffer to finish before trying to read the results back, but the wait has already happened when r.Vulkan.WaitForIdleOnSubmit is set. Trying to wait again correctly complains that the command buffer is not in the correct state. So, skip the WaitForCmdBuffer call when r.Vulkan.WaitForIdleOnSubmit is set.
Change 4002640 by Rolando.Caloca
DR - vk - Missing support for CVarDefaultBackBufferPixelFormat
Change 4002919 by Guillaume.Abadie
Implements DOF's temporal upsampling pass for better dynamic resolution stability.
Change 4002984 by Guillaume.Abadie
Integrates Sebastian Aaltonen's ALU optimisations for TAAU.
Change 4003112 by Olaf.Piesche
Fir for TBB stall (resulting in severe hitches and hangs in the editor with stats active); tested multiple scenarios and encountered no hitches.
#tests QAGame PerformanceTest and RenderTest map with various stats on and off
Change 4003159 by Mark.Satterthwaite
Undo parts of changelist 3970553 - the ref-counted pointer approach to returning textures to the pool is not working as expected so we'll remove that. It'll be faster on the CPU without it and everything works thanks to the changes this CL made to the way textures were released.
#jira UE-57538
Change 4003287 by zachary.wilson
Adding reflection capture content to TM-LightingScenarios
Change 4003395 by Arne.Schober
DR - Fix unitzialised value when clicking Go To in the editor
#jira UE-57048
Change 4003425 by Rolando.Caloca
DR - vk - Fix for new occlusion queries
Change 4003530 by Arne.Schober
DR - Disable GPU Benchmark in headless configurations
#jira UE-57673
Change 4003717 by Rolando.Caloca
DR - vk - Fix for depth not store, stencil store
Change 4003719 by Rolando.Caloca
DR - Minor switch to render pass
Change 4003720 by Mark.Satterthwaite
Don't suballocate private memory buffers on Vega and only Vega as there is something wrong with the blits in those cases but I can't capture a GPU trace to find out what right now (the driver is broken) - could be a bug in my code but this works on Polaris and Nvidia so it will need to be filed as a radar for AMD.
Remove the FMetalBufferChunk from FMetalBuffer and simply store a pointer to the owning Heap/Magazine allocator. The FMetalResourceHeap now calls a new Release function to return the buffer to the allocator which will be faster on the CPU.
#jira UE-57659
Change 4003854 by Mark.Satterthwaite
Undo parts of 3990064 and try a different approach to get the uniforms to upload and remain available in the right places. As the original bug has been lost to time we should keep an eye out for missing buffer bindings by running under the Metal validation layer periodically.
#jira UE-57576
Change 4004709 by Rolando.Caloca
DR - Support for D3D 11, 12 & Vulkan for UAVs off Index Buffers
Change 4005149 by Guillaume.Abadie
Adds shader permutation to avoid clamping input buffer UV in DOF's gather pass.
Change 4005284 by Uriel.Doyon
Resaved volume texture assets with proper engine version.
#jira UE-57534
Change 4005286 by Guillaume.Abadie
Reduces constant setup in DOF's gather pass.
Change 4005359 by Rolando.Caloca
DR - vk - Fix annoying warning
Change 4005363 by Rolando.Caloca
DR - Fix android not finding vulkan shaders
Change 4005457 by Rolando.Caloca
DR - vk - Fix swapchain crash
Change 4005473 by Patrick.Kelly
UE-57135: Editor crash if set Reflection Capture Resolution to be 64 and New a Default level
Codde by Daniel
Tested by Patrick
Change 4005474 by Rolando.Caloca
DR - vk - Remove glsl code from shaders. Packaged QAGame goes from 176MB to 162MB
Change 4005759 by Krzysztof.Narkowicz
Fixed a bug, where reflection capture build is called, even though we are in mobile preview mode.
#jira UE-57743
Change 4005774 by Mark.Satterthwaite
Update the wave intrinsics to avoid implicit bool->uint conversion that Apple don't like.
#jira UE-57750
Change 4005974 by Mark.Satterthwaite
Don't use cubemap array types on iOS Metal as they aren't available on all devices and we need to maintain backward compatibiliy for years to come.
#jira UE-57083
Change 4006056 by Mark.Satterthwaite
Remove the use of the PrimitiveType argument from Metal draw calls.
#jira UE-57822
Change 4006139 by Mark.Satterthwaite
- Move the render-pass functions into the MetalRHI implementation for later alteration.
- Implement Index buffer UAVs for Metal - makes them more like vertex-buffers so this is one more step on the road to a unified buffer base-class implementation.
Change 4006215 by Mark.Satterthwaite
Metal's begin & end render/compute pass API implementation will take some time, but for now make it not depend on the parent stub implementation.
Change 4006394 by Mark.Satterthwaite
In lieu of a real instruction count just use the number of lines in the "Main" function of the shader as the instruction count for Metal.
#jira UE-57551
Change 4006493 by Mark.Satterthwaite
MetalRHI can currently support 4-component formats for Buffer UAVs - this might need some thought in the future as the API evolves but we might as well take advantage while we can.
Change 4006495 by Daniel.Wright
Integrate from Refactor branch
* New FMaterialRenderProxy function GetMaterialWithFallback which provides both the FMaterialRenderProxy and FMaterial. Needed when falling back to default material, so that proxy and material resource match.
* Local vertex factory uniform buffer
Change 4006851 by Brian.Karis
Fix for joined charts forming an L to inflate both axii.
Thanks to Jess Kube of The Coalition.
Change 4006852 by Brian.Karis
Fix for hard coded reflection capture cube map size. Should fix light static light aliasing in captures
Change 4006918 by Brian.Karis
New ByteBuffer functionality. Memcpy and scatter upload. Can implement GPU side TArray reflection.
Not yet used by checked in code. WIP optimization.
Change 4007246 by Guillaume.Abadie
Creates lower quality permutation for DOF's gathering pass, without Coc based weighting of the samples, and lower number of gathering ring for fast accumulator.
Change 4007291 by Guillaume.Abadie
Exposes more DOF scalability settings.
Change 4007328 by Guillaume.Abadie
Optimises DOF's half res only setup pass using gather4
Change 4007627 by Richard.Wallis
Fix for when Magic Mouse cannot zoom in World Composition editor. Missing default SNodePanel::OnMouseMove behaviour. Tested using a classic 2xbutton + wheel mouse and a Mac MagicMouse.
#jira UE-57030
Change 4007682 by Richard.Wallis
No video when playing HLS streaming video on Mac. 2 Issues, FPS was zero making duration for video sample buffer nonsense and Video Track dimensions were going to zero on the AVAsset once fully initialized when playing HSL streams. Now cache relevant details and handle zero frame rate.
Notes:
- Caching the frame rate is not as important as we could look it up each time and fix for zero - ignoring that at the moment.
- Assume we DO NOT want the FrameSize to be the last fetched video frame size from the AvfMediaVideoSampler as I think that is the video quality for streaming video and not the media frame size.
- Renamed a variable in the AvfMediaVideoSample - was called FrameRate but it was the FrameDuration by that point.
#jira UE-56734
Change 4007731 by Rolando.Caloca
DR - Disable byte buffers on non-hlsl based platforms
#jira UE-57851
Change 4007741 by Rolando.Caloca
DR - Disable byte buffers on hlslcc platforms
Change 4007782 by Mark.Satterthwaite
Force Metal shaders, including the stdlib, to recompile.
Change 4007918 by Rolando.Caloca
DR - vk - Some static asserts
Change 4008404 by Arciel.Rekman
Do not crash on incompatible Vulkan drivers (UE-57521).
#jira UE-57521
Change 4008442 by Daniel.Wright
Better comments on ERHIFeatureLevel expectations
Change 4008494 by Arne.Schober
DR - moved bDeletedThroughDeferredCleanup before begincleanup to catch cases where the reference is added twice to the array. also removed finishcleanup as all they ever did was deleting the pointer anyway, and it sould be adfded if such functionallity is ever required fom outside of the regular destructor.
#jira UE-57754
Change 4008730 by Mark.Satterthwaite
After the most recent changes to handling uniform buffer dirty bits in MetalRHI we should guard against attempts to set an unbound uniform buffer.
#jira UE-57870
Change 4008949 by Brian.Karis
Fix compile warning
Change 4008951 by Brian.Karis
Added LTC LUT textures
Change 4009326 by Guillaume.Abadie
Compiles out DOF's gathering bokeh simulation on platform other than desktop.
Change 4009380 by Krzysztof.Narkowicz
Moved area light code before the contact shadows, so contact shadows use representative light's direction.
Merged all contact shadows shader code.
Contact shadows keep constant screen space length independent of FoV settings.
Contact shadows for translucents.
Contact shadows for eye.
Change 4009555 by Guillaume.Abadie
Splits DOFCocTile.usf in two.
Change 4009999 by Yuriy.ODonnell
MallocStomp can now be enabled on certain platforms using '-stompmalloc' command line argument.
Previously it was necessary to modify MallocaStomp.h and re-compile the engine.
Currently supported platforms: Win64, Mac, Linux.
Replaced hard-coded page size with FPlatformMemory::GetConstants().PageSize.
Change 4010288 by Rolando.Caloca
DR - vk - Fix for vertex streams
Change 4010289 by Krzysztof.Narkowicz
D3D12 - fixed depth bounds bug, where depth bounds wasn't properly set to [0;1] after disabling.
#jira UE-57510
Change 4010297 by Rolando.Caloca
DR - vk - Remove some functions for android
Change 4010315 by Rolando.Caloca
DR - vk - Remove create info macro
Change 4010451 by Rolando.Caloca
DR - vk - Reuse samplers
- Infiltrator goes from 5759 to 24 samplers!
Change 4010627 by Rolando.Caloca
DR - vk - Fix missing values for tracking swapchain validation
Change 4011924 by Guillaume.Abadie
Implements tile based early return optimisation on DOF's postfiltering method.
Change 4011941 by Guillaume.Abadie
Shaves some ALU in DOF's accumulator for LowQuality permutation.
Change 4012093 by Yuriy.ODonnell
Disable MallocStompOverrunTest() in static analysis config, as it intentionally performs an out-of-bounds access.
Change 4012195 by Rolando.Caloca
DR - vk - Fix for mobile backbuffer layout
Change 4012202 by Rolando.Caloca
DR - vk - Don't use staging buffers on UMA
Change 4012467 by Rolando.Caloca
DR - Remove redundant check
Change 4012486 by Rolando.Caloca
DR - Fix missing transition
Change 4012518 by Guillaume.Abadie
Implements fast shader permutation for DOF's TAA pass.
Change 4013084 by Arciel.Rekman
Fix for Linux clock discrepancy.
- Causing at least one precision issue, possibly more.
(Edigrating 4003273, 4012462 from //UE4/Dev-Editor/... to //UE4/Dev-Rendering/...)
Change 4013266 by Uriel.Doyon
Fixed crash when setting SceneDepthTextureNonMS and not having valid depth buffers in the SceneContext.
Change 4013626 by Uriel.Doyon
Fixed crash in the lighting build when creating a blueprint of the ALight and placing a light component in it.
#jira UE-51672
Change 4013805 by Rolando.Caloca
DR - Fix more missing transitions
Change 4014128 by Arne.Schober
DR - Do not create LocalVFUniformBuffer when running without MVF
#jira UE-57929
Change 4014193 by Uriel.Doyon
Editing component transforms now invalidate the component's lighting cache.
#jira UE-48134
Change 4014282 by Rolando.Caloca
DR - vk - Remove extra validation during dump
Change 4014584 by Uriel.Doyon
Duplicated static meshes now generate a new GUID to prevent possible issues with lightmass.
#jira UE-49064
Change 4014604 by Uriel.Doyon
UStaticMesh postduplicate now only generates a new GUID if !bDuplicateForPIE.
Change 4015460 by Guillaume.Abadie
Composes separate translucency within DOF's recombine pass.
Change 4015571 by Guillaume.Abadie
Refactors tonemapper to use global shader permutation API, that adds permutation for HDR output device rather than dynamic branching that some shader compiler are not very well optimizing.
Change 4015984 by Krzysztof.Narkowicz
Fixed crash inside DFAO resource allocation, when DFAO viewport has zero area.
#jira UE-58000
Change 4016056 by Mark.Satterthwaite
Fix Mac Metal shader compilation of texture cube arrays.
Change 4016062 by Richard.Wallis
Convert things like Space, Delete, F6 etc to unicode so they display correctly on the Mac menu rather than first letter of word. Added the default Mac commands to the GenericCommands so we get a Chord overwrite message and stop things like cmd+ q / w / h from getting bound.
#jira UE-46999
Change 4016109 by Mark.Satterthwaite
One unified Metal buffer implementation - will make further changes a heck of a lot easier.
Change 4016221 by Patrick.Kelly
UE-57617: Ensure changing viewmode to ShaderComplexity while in -game
Change 4016238 by Guillaume.Abadie
Makes clang happy again in Tonemapper.
Change 4016309 by Mark.Satterthwaite
More *_RenderThread implementations for MetalRHI.
Change 4016414 by Mark.Satterthwaite
And MetalRHI version of CreateStructuredBuffer_RenderThread...
Change 4016498 by Mark.Satterthwaite
Don't hold on to the uniform buffers bound to the hull shader when switching to a tessellated draw call as they'll have the wrong buffer layout.
#jira UE-57930
Change 4017394 by Juan.Canada
OpenGL: Fixed shading artifacts due incorrect UNORM/SNORM conversions in skin/skincache/computetangent shaderss.
#jira UE-57691
Change 4017522 by Rolando.Caloca
DR - vk - Remove unused code path (old mip generation detection)
Change 4017539 by Rolando.Caloca
DR - vk - Fix for sky lighting mips showing green on AMD
Change 4017542 by Arciel.Rekman
Moved appCountTrailingZeros to a non-SSE header (fixes ARM64 build).
- Arguably WITH_SLI shouldn't apply to Linux on ARM but the fact that the function wasn't available is bad on its own.
Change 4017827 by Guillaume.Abadie
Optimises DOF's scattering cost by a third.
Change 4017835 by Rolando.Caloca
DR - Only allow a render pass to generate mips for one color render target
Change 4017889 by Mark.Satterthwaite
Cache all the Metal state objects to avoid hitting the API unnecessarily.
Change 4018251 by Mark.Satterthwaite
Fix broken rendering on Metal that tracked back to the innocuous looking changes in CL #4006495 (no blame attached - these changes are entirely reasonable) and cause various bugs in QAGame's TM-DistanceFields, ElementalDemo and probably more. Doesn't fix broken SpeedTree rendering :(.
MetalRHI was allowing uniform buffers to blow away linear texture buffers when the constant buffer has been elided due to dead-code elimination. This problem can manifest without linear textures if the uniform buffer contains both constant data and a resource-table but the shader doesn't use any of the constant data. That's because Metal doesn't separate constant buffers from any other kind of buffer unlike D3D which separates all the slots out - and Metal doesn't provide enough buffers to emulate the D3D arrangement. So far this has only manifested in the MVF + Linear Texture case but a more robust solution will be necessary long term.
Change 4018514 by Guillaume.Abadie
Implements r.DOF.Scatter.MinCocRadius.
Change 4018553 by Guillaume.Abadie
Implements r.DOF.Scatter.MaxSpriteRatio to control the budget upperbound of DOF's scattering
Change 4020369 by Yuriy.ODonnell
Disable MallocStompOverrunTest in all static analysis configs (using USING_CODE_ANALYSIS macro)
Previously was only disabled for PVS-Studio.
Change 4020620 by Arciel.Rekman
Fix XboxOne CIS (fallout of appCountTrailingZeros move).
Change 4020949 by Guillaume.Abadie
Configures DOF in scalability settings.
Change 4021593 by Rolando.Caloca
DR - vk - Support for Aftermath style api on AMD
Change 4021740 by Rolando.Caloca
DR - vk - Change log output
Change 4022008 by Uriel.Doyon
Fixed renderthread stalls when streaming texture mips on low end systems.
Change 4022135 by Rolando.Caloca
DR - vk - Fix last mip's layout during mip chain creation
Change 4022607 by Jian.Ru
Speculative fix for a bug where an invalid vertex buffer is deferenced
#jira UE-56229
Change 4022890 by Rolando.Caloca
DR - Fix reference count not getting released
Change 4023540 by Mark.Satterthwaite
Avoid some pointless retain/release calls on Metal Encoders.
Change 4023796 by Marcus.Wassmer
Tell users they are over the maximum size when allocating very large rendertargets.
Change 4025337 by Yuriy.ODonnell
Improved use-after-free detection mechanism and physical memory usage of MallocStomp on Windows.
MallocStomp on Windows will now reserve virtual address space for every allocation and then commit physical pages only to the valid usable part.
Physical pages will be unmapped on Free, but virtual address space will not be released and therefore will never be re-used.
Virtual address space is allocated from the OS in blocks of 1GB and then linearly sub-allocated.
This reduces VA space usage, as VirtualAlloc returns blocks on 64KB granularity even if we just need 4KB. As a small bonus, this also reduces number of syscalls per allocation.
This dramatically increases accuracy of use-after-free detection, but consumes significant amount of memory for the OS page table.
Virtual memory limit for a process on Win10 is 128 TB, which means we can afford to keep virtual memory reserved for a long time.
Running Infiltrator demo consumes ~700MB of virtual address space per second.
Additionally, committing physical pages only for the usable part of the entire virtual block reduces physical memory usage by ~30% compared to old behavior,
which allocated and committed entire block of pages via BinnedAllocFromOS and then marks border page as non-accessible.
Change 4026047 by Rolando.Caloca
DR - Fix test/shipping
#jira UE-58148
Change 4026150 by Krzysztof.Narkowicz
Force proper ordering of buffer visualization materials - after tonemapping (so exposure doesn't influence it) and before editor stuff like icons.
#jira UE-57992
Change 4026226 by Rolando.Caloca
DR - Fix static analysis
#jira UE-58150
Change 4026354 by Jian.Ru
Debug check trying to catch a crash. Only enabled in editor build
#jira UE-50111
Change 4026655 by Rolando.Caloca
DR - Fix for static analysis
#jira UE-58149
Change 4026763 by Rolando.Caloca
DR - Remove references to defunct CCT to avoid confusing licensees
Change 4027167 by Uriel.Doyon
Fixed possible out of bound buffer access when serializing with FDuplicateDataWriter.
#jira UE-56509
Change 4027850 by Jian.Ru
Prevent log spam
#jira UE-50111
Change 4029546 by Rolando.Caloca
DR - Compile fixes
Change 4029624 by Yuriy.ODonnell
Addressed static analysis errors in MallocStomp
- VirtualAlloc return value is now explicitly checked.
- C6250 is suppressed, as VirtualFree does not release address space by design.
Change 4030225 by Yuriy.ODonnell
Static analysis warning fix: make sure declaration of Sleep() is consistent between Windows headers and TBB
The complexity with this particular case is that the warning is generated in synchapi.h, which is included by some Windows headers.
If a module includes TBB and then Windows platform headers, static analyzer will report this warning.
Suppressing it would require wrapping all instances of Windows header includes in third-party macros.
Current pragmatic solution is to modify the Sleep() declaration in TBB header to be consistent with Windows and to report the issue to Intel for a permanent fix.
Change 4030440 by Rolando.Caloca
DR - Fix crash on mobile
#jira UE-58222
Change 4030570 by Daniel.Wright
Allow null SRV's in uniform buffers for feature levels that don't support SRV's in shaders
Change 4030618 by Arne.Schober
DR - missing tangent/normal sign conversion after integration from main
#jira UE-58224
Change 4031588 by Rolando.Caloca
DR - vk - Fix compile error when missing vkCmdWriteBufferMarkerAMD
Change 4032145 by Mark.Satterthwaite
Fix UE-58268 by only emitting the base_instance/base_vertex variables required to fix-up the instance/vertex ID values to match D3D when the Metal version is 1.1 or higher, earlier versions don't support these features.
#jira UE-58268
Change 4032209 by Rolando.Caloca
DR - Fix crash on EngineTest: Mesh Batch's UserIndex is not a union anymore
Change 4033178 by Guillaume.Abadie
Fixes FXAA sampling outside viewports, that was causing black outline on bottom and right edge of the screen when ViewSize != BufferSize, problematic for some screenshot automated test.
#jira UE-58151
Change 4034489 by Daniel.Wright
Fixed UStaticMeshComponent modifying its UStaticMesh when undoing a change. This caused a crash when other static mesh components using the same mesh asset were rendered, since their rendering state was not recreated. A component should not modify its asset during PostEditUndo.
* This behavior has been present for a long time but was previously hidden because only the vertex factory of the mesh asset is cached in static draw lists, not any of its rendering resources (eg vertex declaration).
Change 4035157 by Uriel.Doyon
Fixed deadlock in the streaming code when running with -onethread.
#jira UE-58299
Change 4035198 by Rolando.Caloca
DR - vk - Fix issue when an older SDK was installed, UBT would pick it (should pick the newer of ThirdParty\Vulkan or installed SDK).
#jira UE-58267
Change 4035730 by Arne.Schober
DR - Fix missing Fog parameters during LightScattering Injection
#jira UE-57608
Change 4035843 by Daniel.Wright
Reimplemented support for EyeAdaptation node in opaque materials
Change 4036837 by Marcus.Wassmer
Replace some of the screenshots to match new un-tonemapped buffer visualization
Change 4036980 by Rolando.Caloca
DR - vk - Fix deadlock contention during mem allocation on Linux
Change 4037225 by Guillaume.Abadie
Fixes jittering selection outline.
#jira UE-58350
Change 4038056 by Marcus.Wassmer
roll back changelist 4026150. breaks a bunch of automated tests by cutting off half the image.
Change can go back in later with that part fixed also
Change 4038296 by Jian.Ru
Static analysis fix
#jira UE-58377
Change 4038402 by Ben.Marsh
Suppress IncludeTool warnings caused by CL 3998947.
Change 4038514 by Arne.Schober
DR - Fix case with MVF where instance offset is not supported by the API (in this case only foliage OpenGL and TvOS), usually the buffers are offsetted instead but with MVF we do not use offsetted buffers, therfore the offset needs to be passed into the shader although we are drawing with offset of 0.
#jira UE-57652
Change 4038747 by Marcus.Wassmer
Back out changelist 3853645, causing us to lose shadows in the shaderhair test
Change 4040138 by Rolando.Caloca
DR - Fix compile warning
Change 4041614 by Rolando.Caloca
DR - vk - Fix for Oculus module
#jira UE-58267
Change 3810277 by Daniel.Wright
Ray Traced Distance Field shadows use a two pass tile culling algorithm with no tile max - fixes flickering from tile overflow in dense areas or with a low sun angle. Costs .2ms on PS4.
The distance field scene buffers now use float4 on PS4 and Xbox, saves .1ms on PS4.
Change 3817029 by Uriel.Doyon
Added UVolumeTexture, which use 3D textures. Compressed formats are supported on DX11, DX12, PS4 and XB1.
Projects targetting OpengGL don't have access to compressed formats (as the implementation has texture tiling issues).
Add "r.AllowVolumeTextureAssetCreation" set as 0 by default, which controls whether volume texture can be sampled in materials and whether they can be created from 2D texture assets.
Platform not supporting BC7, will now fallback on RGBA8 instead of DXT to preserve quality, in an attemps to increase usage of BC7.
#jira UE-32263
Change 3819960 by Michael.Lentine
Expose UEPhysics Clothing Parameters through UI.
Change 3823401 by Rolando.Caloca
DR - Add NumQueriesInBatch to RHIBeginOcclusionQueryBatch
Change 3844805 by Arne.Schober
DR - Increased Intermediate normal of Umodel and Skelmesh from 8bit Unorm Compressed to float. A resave/rebuid/reimport of the meshes is recommended to recover some lost precision.
Fixed an issue with compressed (packed) normals on the GPU which were off by one integer representation. Also switched from UNORM to SNORM to get a discrete zero representation and removed some mads from all the VertexShaders.
Change 3847283 by Marcus.Wassmer
Extra fixes from Uriel
Change 3876607 by Rolando.Caloca
DR - Use render passes when running occlusion queries
- Removes the RHI(Begin|End)OcclusionQueryBatch API
Change 3903799 by Daniel.Wright
[Integrate] Pass Uniform Buffers
* All pass-constant shader inputs should go into the appropriate pass uniform buffer, instead of being set per-draw
* Moved many per-draw base pass parameters over to the Base Pass Uniform Buffer
* Opaque and Translucent base pass shaders have different uniform buffers, which allows compile errors when accessing an invalid resource (eg GBuffer in Opaque), instead of silently falling back to GBlackTexture
Uniform buffers can now contain nested structs with UNIFORM_MEMBER_STRUCT()
* This allows composing a uniform buffer at a particular update frequency out of many features, with encapsulation of each feature's parameters in a struct.
* Eg deferred fog uses FFogUniformParameters, but so does translucency in the base pass, where FFogUniformParameters is reused nested inside the base pass uniform buffer.
* Resources can now be located anywhere in the uniform buffer. Padding is inserted to the cbuffer representation to keep memory layouts matching. In the future the cbuffer could be compacted.
* RemoveUniformBuffersFromSource() which works around HLSLCC lack of struct initializers now handles nested structs
Change 3917500 by Rolando.Caloca
DR - Change depth bounds so only the enable bit is in the PSO, allow min/max to be dynamically modified
Change 3964907 by Guillaume.Abadie
Implements RectList topology support in RHI.
Change 3979171 by Mark.Satterthwaite
Copying //Tasks/UE4/Dev-UERNDR-354-mtlpp to Dev-Rendering (//UE4/Dev-Rendering):
Rewrites MetalRHI in terms of mtlpp, which is a C++ wrapper library built around Metal's Objective-C API that attempts to reduce overheads and eliminate resource lifetime errors.
Regarding mtlpp:
- The mtlpp library uses C++ constructor/destructor and smart-pointer style management of Objective-C retain/release calls to prevent over- and under-release problems.
- To reduce Objective-C overheads the mtlpp library caches the internal C-function that implements the Objective-C selectors for the most commonly used Metal protocol types and calls the function directly - this avoids objc_msgSend which does this look-up dynamically and thus improves CPU performance slightly.
- Another advantage is that mtlpp provides infrastructure to extend the Metal API slightly to help improve MetalRHI - the two important aspects are mtlpp::CommandBufferFence which provides a consistent CPU<->GPU synchronisation primitive and sub-buffer allocations from mtlpp::Buffer which allow for far superior memory management.
- Validation functionality is also provided by mtlpp to detect CPU vs. GPU data races and resource lifetime validation - this is expensive and is thus optional and compiled out from Shipping binaries that should be used when performance is most critical. The validation only works between resource modification and *submitted* command-buffers - anything that is being actively encoded on the CPU is ignored and it remains the responsibility of the application to validate the order of operations when encoding.
Apple Platform:
- LLM support which tracks Objective-C objects is enabled only on macOS - we don't have the necessary libraries to intercept and override the internal system calls on iOS.
MetalRHI:
- All the types are switched over, (mostly) insuling the external API from the horror of Metal and Objective-C.
- Buffers are now managed quite differently, small buffers are allocated from a magazine allocator that allocates in fixed blocks from a larger parent buffer, intermediate sized buffers are allocated from a simple heap allocator that wraps a larger buffer and anything of reasonable size (>2Mb) will use the pooled allocator. This *radically* reduces the number of buffer resources, by as much as a factor of 10, because they are now sub-allocated without the need to use MTLHeap or MTLFence so they are performance equivalent to the existing implementation on the GPU and much faster on the CPU. Total memory use is approximately the same.
- Vertex & index buffer management has been updated to reflect changes in the management and to avoid reallocating buffers which provide a Linear Texture (for SRVs) unless strictly necessary. This ensures that even in cases where a dynamic buffer is updated multiple times in a frame it will still work acceptably well.
- The Metal ring-buffer implementation is completely different again, this time it can use Managed memory on macOS which allows for much better performance on eGPUs which will be more and more important for Mac.
- Everyone that needs to wait on a command-buffer fence (rather than a command-buffer itself) now use mtlpp::CommandBufferFence, which prevents race conditions between the different command-buffer handlers (which sometimes execute out of order).
- LLM tracking should now report the same data as the MetalRHI stats group for buffer & texture allocations - there is no segmentation for Vertex/index/Structured/Uniform allocations in Metal so these numbers are going to be wrong and will need to be rethought.
- What will be unseen are the number of small but important resource usage fixes that avoid stale resources from being bound to the device after the point at which they become invalid. This should eliminate a class of errors where the GPU uses a resource pointer that is modified by the CPU and was necessary to satisfy the new mtlpp validation code.
Other:
- Remove the Metal focused workarounds from the ClothBuffer resource binding and related vertex-buffer SRV - these were put in when MetalRHI/MetalShaderFormat couldn't handle float->uint conversions correctly and they should now.
- Fix a validation error caused by trying to render a 0-sized scissor rect which is invalid in Metal and simply pointless elsewhere.
- Consistency of disabling the Manual Vertex Fetch behaviour in shaders.
#jira UERNDR-354
Change 3979312 by Rolando.Caloca
DR - Remove bogus bKeepOriginalSurface parameter in CopyToResolveTarget
Change 4005122 by Rolando.Caloca
DR - Support for PS4 Index Buffer UAVs
Change 4016298 by Guillaume.Abadie
Fixes DOF hybrid scattering on platforms that supports RectList topology.
Change 4018575 by Guillaume.Abadie
Optimises DOF's reduce pass when doing scattering compilation.
Change 4020317 by Guillaume.Abadie
Implements WaveBroadcastIntrinsics.ush.
[CL 4042226 by Marcus Wassmer in Main branch]
2018-05-01 10:36:33 -04:00
|
|
|
const int32 MaxTextureSize = 1 << (MAX_TEXTURE_MIP_COUNT - 1); // Don't use GetMax2DTextureDimension() as this is for the RHI only.
|
|
|
|
|
const FIntPoint ClampedTargetSize(FMath::Clamp(InTargetSize.X, 1, MaxTextureSize), FMath::Clamp(InTargetSize.Y, 1, MaxTextureSize));
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3537446)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3491514 by Jonathan.Poncelet
Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units.
Change 3495025 by Jonathan.Poncelet
Back out changelist 3491514
"Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units."
Change 3505086 by Danny.Bouimad
Updating test content in TM-AnimPhys and TM-TangentNormals
Change 3505375 by James.Cobbett
Automating Settle test map
Change 3505714 by Lina.Halper
Add more descriptive pin name and node text for constraint node
#jira: UE-45895
#rb: Ori.Cohen
Change 3505731 by Lina.Halper
1. Renamed FTargetReference to FBoneSocketTarget
- this allows users to choose either bone or socket as a target.
2. Two Bone IK refactor to use FBoneSocketTarget
- Effector Target and Joint Target are converted to use FBoneSocketTarget, so you can use socket or bone
- Effector Location and Joint Target Location is used as offset from target location, so you can use as a combination of FBoneSocketTarget
- Editor code now uses runtime node instead of Graph Node, will have more discussion with Tom on this.
3. FABRIK refactor to use FBoneSocketTarget
#code review: Laurent.Delayen, Martin.Wilson, Thomas.Sarkanen
#rb: Laurent.Delayen
Change 3505770 by Lina.Halper
IK automation test
#jira: UE-46250
Change 3506369 by Lina.Halper
Fix initialization order issue
#rb:none
#rnx
Change 3506697 by Martin.Wilson
Fix root motion when using ForceAnimRate's of more than 1
#jira UE-39021
Change 3506765 by Lina.Halper
It's confusing to see the same name multiple times. So fixed so that this utility functions show up later, and then added function instead.
#jira: UE-45871
#rb: Martin.Wilson
Change 3506787 by Ori.Cohen
Added single threaded physx tasks stats using "stat PhysXTasks"
Change 3506803 by Ori.Cohen
Turn off debug code which was submitted by accident
Change 3506840 by Jurre.deBaare
Fix for automation vertex-color warning
Change 3506917 by Danny.Bouimad
Checking in Edits made to AnimBP Constraint Content
Change 3507045 by James.Cobbett
Submitting final Settle test map updates
Change 3509208 by Danny.Bouimad
Checking in content changes for TM-SuspendCloth
Change 3509235 by James.Cobbett
Deleting Settle test map from QAGame - now lives in EngineTest
Change 3509935 by Lina.Halper
One customization tree for supporting Bone and Socket
: you can just use FBoneSocketTarget and that will allow displaying sockets also
#jira: UE-45778
#rb: Thomas.Sarkanen
#code review:Thomas.Sarkanen
Change 3511250 by Martin.Wilson
Fix crash when performing drag operations in the notify track window
#jira UE-46420
Change 3511397 by Thomas.Sarkanen
Asset reloading now defers re-opening asset editors until post-GC phase
This prevents an issue in some asset editors (like Persona) which may reference other assets in their UI.
#jira UE-46442 - Crash when opening skeletal mesh editor window after reloading asset
Change 3512849 by Aaron.McLeran
#jira UE-46576 Fixing granulator loading multiple sound waves
Change 3513414 by James.Cobbett
Fixing destructible test map
Change 3513588 by Benn.Gallagher
Clothing LOD improvements
- Added full pipeline for adding LODs to clothing assets in editor
- Added methods for mapping parameters between masks on meshes with differing topology
- Fixed a few UI bugs
Change 3513599 by Benn.Gallagher
Missed files from last checkin
Change 3513920 by Martin.Wilson
Move Live Link Retarget Asset to live link plugin and remove engine dependency from LiveLinkInterface (fixes maya live link compiling)
Change 3515400 by Aaron.McLeran
#jira UE-46299 Added a fade in function to audio device so audio can resume after fading out in main audio device.
Change 3515495 by Joe.Conley
Had reports some AnimationBP deterministic cooking errors were being caused by FBakedAnimationState::bAlwaysResetOnEntry not being initialized in the constructor explicitly. Changing that to be explicitly initialized to false in the constructor, as well as UAnimStateNode::bAlwaysResetOnEntry.
Change 3515641 by Benn.Gallagher
CIS fix for game builds
Change 3516817 by Aaron.McLeran
Moving opus lib to subfolder Windows instead of win32 to fix UGS game sync issues.
Change 3516853 by Aaron.McLeran
Slight optimization in converting proc audio buffer to 16 bit PCM.
Change 3517525 by Jonathan.Poncelet
Fix comment for FName operator!=
Change 3517826 by James.Cobbett
Test files for bug UE-46719
Change 3518049 by James.Cobbett
Updating Settle automated test map to include settling on convex floors. Also added step to save actor starting location in Ground Truth, and reset actors to that location at the end of the test.
Change 3518185 by Ori.Cohen
Fix merge error as reported by NVIDIA
Change 3518711 by Ethan.Geller
Integrating fix for switch crash on load level.
Change 3518720 by Ethan.Geller
Back out changelist 3518711
Change 3519040 by Aaron.McLeran
Simple feature to add attack/decay interpolation times for focus feature to avoid fast focus/out-of-focus volume scaling.
Change 3519972 by James.Golding
Fix constructor order for FSoundAttenuationSettings to fix CIS
Change 3520141 by Martin.Wilson
Make retarget assets are no longer assets but blueprints instead.
Add blueprint function for remap asset to allow blueprints to transform bone names
#jira UEAP-235
Change 3520568 by Martin.Wilson
CIS fix
Change 3520677 by Benn.Gallagher
Added ability to rename clothing assets after creation
Change 3520727 by Benn.Gallagher
Removed unecessary header for asset list
Change 3520791 by Martin.Wilson
Fix multiple calls to FinalizeBoneTransforms when calling RefreshBoneTransforms outside of tick
Change 3521069 by Jurre.deBaare
Merging an actor with recompute normal and Overlapping UVs causes the normals generate incorrectly
#fix old code path was causing normals to be recompute when it wasn't required causing the smooth normals on the issueing asset
#jira UE-46806
Change 3521070 by Jurre.deBaare
Ensure occurs when performing a Bake Out Material on Cube
#fix Make sure that we update the Material data used for texture streaming when adding/changing materials during material baking
#jira UE-46807
Change 3521142 by Jurre.deBaare
Bake Material large Texture size crash
#fix Added clamping to baked out material texture sizes in all occurences (GetMax2DTextureDimension())
#jira UE-46808
Change 3523294 by Aaron.McLeran
Resetting available byte count when resetting the procedural sound wave
Change 3523297 by Aaron.McLeran
Adding thread safe mode for plugin interface shared ptrs.
Change 3524153 by Jurre.deBaare
Issue where new blend space samples list in detailsview would not regenerate blendspace sampling
#fix Unified what happens when you change the grid sample value (this issue also caused undo/redo not to work with these numeric boxes)
Change 3524154 by Jurre.deBaare
Advanced preview tool tip in BlendSpace editor has different behaviour when grid doesn't have focus, and broke the sample dragging functionality.
#fix Undid some added state cleanup code which actually was invalid to do, and made sure the CTRL down isn't a toggle but a constant state
Change 3524282 by Thomas.Sarkanen
Fixed OculusAudio in line with new API
Post-Main merge fixup
Change 3524348 by Thomas.Sarkanen
Merging using Dev-Physics-Upgrade_PhysX3_To_Dev-AnimPhys_PhysX
Original CL 3521358:
[From trunk] 22410436 [Px-1090]PCm sphere convex jittering in UE4 [Reviewer: Kier]
p4rmerge of Change 22415420 by sschirm
from e:\P4\dev1\sw\physx\Releases\distro_mirrors\PhysX_3.4_APEX_1.4\Mirror_scripts\patch/cl-22415420.p4r
moved from //sw/physx/Releases/distro_mirrors/PhysX_3.4_APEX_1.4/Mirror/ to //UE4/Dev-Physics-Upgrade/Engine/Source/ThirdParty/PhysX3/
#jira UE-46668 - PCM still has stability issues
Change 3524541 by Jurre.deBaare
Disabled material baking automated tests for now
#jira UE-46510
Change 3524684 by Jurre.deBaare
If you paste a invalid name into Bones to Remove and hit apply the editor will crash
#fix did not check for INDEX_NONE or NAME_NONE bones when retrieving bone indices
#jira UE-46830
Change 3525244 by Ori.Cohen
Added the ability to verify the DDC content is not stale. Systems have to opt in (-VerifyDDC)
Change 3525248 by Ori.Cohen
Physx DDC will now run with verify ddc. Also fixed bad key which was missing the complexity type of body setup
Change 3525263 by Ori.Cohen
Fix typo with printf
Change 3525279 by Ori.Cohen
Fix CIS
Change 3525478 by Ethan.Geller
Adding memory aligned audio buffer support
Change 3525688 by Aaron.McLeran
Removing unnecessary code
Change 3526391 by Benn.Gallagher
Clothing optimization pass, mainly removing allocations and precaching some skin information. 10% Overall non-gamethread time reduction, gamethread sync completion task time halved.
#jira UEAP-197
Change 3526454 by Benn.Gallagher
CIS fix
Change 3526919 by Chad.Garyet
adding verifyddc flag to automated tests
Change 3527006 by Lina.Halper
Fix crash with blendspace sample value change
- Matt also fixed undo transaction, queuing every move vs only final value
- Matt fixed property changed to send interactive or not paramger, so that it doens't call object changed for every single move
#jira: UE-46929
#rb: Matt.Kuhlenschmidt
#code review: Jurre.DeBaare, Matt.Kuhlenschmidt
Change 3528684 by Benn.Gallagher
Static analysis fix, excessive statement left to signal reasons clothing assets would invalidate their caches triggered SA fail.
Change 3528687 by Benn.Gallagher
CIS Fix, method definition outside of declaration #if block.
Change 3528890 by Ori.Cohen
Fix false negative with PIE and verify DDC
Change 3528899 by Martin.Wilson
Smart name refactor part 1 - Changed FindUID api to return UID rather than pointer to UID, fix code in Orion that was caching a pointer to internal TMap allocated memory.
#jira UEAP-264
Change 3530148 by Aaron.McLeran
Making check for Supporting multiple audio devices only happen in editor builds.
Change 3530519 by Jonathan.Poncelet
Deprecated original angular physics functions in preference of a consistent API, using degrees vs. radians
Functions are now suffixed "InDegrees" or "InRadians", to make it obvious which are used.
The deprecated functions now call whichever degrees or radians counterpart is needed.
FBodyInstance now works entirely in radians, to avoid unnecessary conversions.
Automated tests have been added to verify behaviour.
#jira UE-39757 Torque and angular velocity are inconsistent
Change 3530943 by Benn.Gallagher
Fixed clothing shader model automation test.
#jira UE-47052
Change 3530993 by Thomas.Sarkanen
Merging using Dev-Rendering_To_Dev-AnimPhys from CL 3512333. Converting integrates to edits.
Oiriginal CL desc:
Texture source data is not released anymore in WillNeverCacheCookedPlatformDataAgain().
This prevents an issue where texture referenced through CompositeTexture have no source data available.
This doesn't affect peak memory so much as texture loaded with AllowAsyncLoading already release their temporary load data.
#jira UE-47083 - Cook Odin fails with LogTexture: Error: Unable to get texture source mips because its bulk data was released.
Change 3536312 by Chad.Garyet
adding verifyddc into the automatedtestbuild xml
Change 3537375 by James.Golding
Merge Ocean GC crash fix (OCN-7666) from CL 3512485
#jira UE-47211
DONE!
[CL 3537460 by Thomas Sarkanen in Main branch]
2017-07-14 06:36:47 -04:00
|
|
|
auto RenderTargetComparison = [bInForceLinearGamma, InPixelFormat, ClampedTargetSize](const UTextureRenderTarget2D* CompareRenderTarget) -> bool
|
2017-06-21 10:25:35 -04:00
|
|
|
{
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3537446)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3491514 by Jonathan.Poncelet
Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units.
Change 3495025 by Jonathan.Poncelet
Back out changelist 3491514
"Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units."
Change 3505086 by Danny.Bouimad
Updating test content in TM-AnimPhys and TM-TangentNormals
Change 3505375 by James.Cobbett
Automating Settle test map
Change 3505714 by Lina.Halper
Add more descriptive pin name and node text for constraint node
#jira: UE-45895
#rb: Ori.Cohen
Change 3505731 by Lina.Halper
1. Renamed FTargetReference to FBoneSocketTarget
- this allows users to choose either bone or socket as a target.
2. Two Bone IK refactor to use FBoneSocketTarget
- Effector Target and Joint Target are converted to use FBoneSocketTarget, so you can use socket or bone
- Effector Location and Joint Target Location is used as offset from target location, so you can use as a combination of FBoneSocketTarget
- Editor code now uses runtime node instead of Graph Node, will have more discussion with Tom on this.
3. FABRIK refactor to use FBoneSocketTarget
#code review: Laurent.Delayen, Martin.Wilson, Thomas.Sarkanen
#rb: Laurent.Delayen
Change 3505770 by Lina.Halper
IK automation test
#jira: UE-46250
Change 3506369 by Lina.Halper
Fix initialization order issue
#rb:none
#rnx
Change 3506697 by Martin.Wilson
Fix root motion when using ForceAnimRate's of more than 1
#jira UE-39021
Change 3506765 by Lina.Halper
It's confusing to see the same name multiple times. So fixed so that this utility functions show up later, and then added function instead.
#jira: UE-45871
#rb: Martin.Wilson
Change 3506787 by Ori.Cohen
Added single threaded physx tasks stats using "stat PhysXTasks"
Change 3506803 by Ori.Cohen
Turn off debug code which was submitted by accident
Change 3506840 by Jurre.deBaare
Fix for automation vertex-color warning
Change 3506917 by Danny.Bouimad
Checking in Edits made to AnimBP Constraint Content
Change 3507045 by James.Cobbett
Submitting final Settle test map updates
Change 3509208 by Danny.Bouimad
Checking in content changes for TM-SuspendCloth
Change 3509235 by James.Cobbett
Deleting Settle test map from QAGame - now lives in EngineTest
Change 3509935 by Lina.Halper
One customization tree for supporting Bone and Socket
: you can just use FBoneSocketTarget and that will allow displaying sockets also
#jira: UE-45778
#rb: Thomas.Sarkanen
#code review:Thomas.Sarkanen
Change 3511250 by Martin.Wilson
Fix crash when performing drag operations in the notify track window
#jira UE-46420
Change 3511397 by Thomas.Sarkanen
Asset reloading now defers re-opening asset editors until post-GC phase
This prevents an issue in some asset editors (like Persona) which may reference other assets in their UI.
#jira UE-46442 - Crash when opening skeletal mesh editor window after reloading asset
Change 3512849 by Aaron.McLeran
#jira UE-46576 Fixing granulator loading multiple sound waves
Change 3513414 by James.Cobbett
Fixing destructible test map
Change 3513588 by Benn.Gallagher
Clothing LOD improvements
- Added full pipeline for adding LODs to clothing assets in editor
- Added methods for mapping parameters between masks on meshes with differing topology
- Fixed a few UI bugs
Change 3513599 by Benn.Gallagher
Missed files from last checkin
Change 3513920 by Martin.Wilson
Move Live Link Retarget Asset to live link plugin and remove engine dependency from LiveLinkInterface (fixes maya live link compiling)
Change 3515400 by Aaron.McLeran
#jira UE-46299 Added a fade in function to audio device so audio can resume after fading out in main audio device.
Change 3515495 by Joe.Conley
Had reports some AnimationBP deterministic cooking errors were being caused by FBakedAnimationState::bAlwaysResetOnEntry not being initialized in the constructor explicitly. Changing that to be explicitly initialized to false in the constructor, as well as UAnimStateNode::bAlwaysResetOnEntry.
Change 3515641 by Benn.Gallagher
CIS fix for game builds
Change 3516817 by Aaron.McLeran
Moving opus lib to subfolder Windows instead of win32 to fix UGS game sync issues.
Change 3516853 by Aaron.McLeran
Slight optimization in converting proc audio buffer to 16 bit PCM.
Change 3517525 by Jonathan.Poncelet
Fix comment for FName operator!=
Change 3517826 by James.Cobbett
Test files for bug UE-46719
Change 3518049 by James.Cobbett
Updating Settle automated test map to include settling on convex floors. Also added step to save actor starting location in Ground Truth, and reset actors to that location at the end of the test.
Change 3518185 by Ori.Cohen
Fix merge error as reported by NVIDIA
Change 3518711 by Ethan.Geller
Integrating fix for switch crash on load level.
Change 3518720 by Ethan.Geller
Back out changelist 3518711
Change 3519040 by Aaron.McLeran
Simple feature to add attack/decay interpolation times for focus feature to avoid fast focus/out-of-focus volume scaling.
Change 3519972 by James.Golding
Fix constructor order for FSoundAttenuationSettings to fix CIS
Change 3520141 by Martin.Wilson
Make retarget assets are no longer assets but blueprints instead.
Add blueprint function for remap asset to allow blueprints to transform bone names
#jira UEAP-235
Change 3520568 by Martin.Wilson
CIS fix
Change 3520677 by Benn.Gallagher
Added ability to rename clothing assets after creation
Change 3520727 by Benn.Gallagher
Removed unecessary header for asset list
Change 3520791 by Martin.Wilson
Fix multiple calls to FinalizeBoneTransforms when calling RefreshBoneTransforms outside of tick
Change 3521069 by Jurre.deBaare
Merging an actor with recompute normal and Overlapping UVs causes the normals generate incorrectly
#fix old code path was causing normals to be recompute when it wasn't required causing the smooth normals on the issueing asset
#jira UE-46806
Change 3521070 by Jurre.deBaare
Ensure occurs when performing a Bake Out Material on Cube
#fix Make sure that we update the Material data used for texture streaming when adding/changing materials during material baking
#jira UE-46807
Change 3521142 by Jurre.deBaare
Bake Material large Texture size crash
#fix Added clamping to baked out material texture sizes in all occurences (GetMax2DTextureDimension())
#jira UE-46808
Change 3523294 by Aaron.McLeran
Resetting available byte count when resetting the procedural sound wave
Change 3523297 by Aaron.McLeran
Adding thread safe mode for plugin interface shared ptrs.
Change 3524153 by Jurre.deBaare
Issue where new blend space samples list in detailsview would not regenerate blendspace sampling
#fix Unified what happens when you change the grid sample value (this issue also caused undo/redo not to work with these numeric boxes)
Change 3524154 by Jurre.deBaare
Advanced preview tool tip in BlendSpace editor has different behaviour when grid doesn't have focus, and broke the sample dragging functionality.
#fix Undid some added state cleanup code which actually was invalid to do, and made sure the CTRL down isn't a toggle but a constant state
Change 3524282 by Thomas.Sarkanen
Fixed OculusAudio in line with new API
Post-Main merge fixup
Change 3524348 by Thomas.Sarkanen
Merging using Dev-Physics-Upgrade_PhysX3_To_Dev-AnimPhys_PhysX
Original CL 3521358:
[From trunk] 22410436 [Px-1090]PCm sphere convex jittering in UE4 [Reviewer: Kier]
p4rmerge of Change 22415420 by sschirm
from e:\P4\dev1\sw\physx\Releases\distro_mirrors\PhysX_3.4_APEX_1.4\Mirror_scripts\patch/cl-22415420.p4r
moved from //sw/physx/Releases/distro_mirrors/PhysX_3.4_APEX_1.4/Mirror/ to //UE4/Dev-Physics-Upgrade/Engine/Source/ThirdParty/PhysX3/
#jira UE-46668 - PCM still has stability issues
Change 3524541 by Jurre.deBaare
Disabled material baking automated tests for now
#jira UE-46510
Change 3524684 by Jurre.deBaare
If you paste a invalid name into Bones to Remove and hit apply the editor will crash
#fix did not check for INDEX_NONE or NAME_NONE bones when retrieving bone indices
#jira UE-46830
Change 3525244 by Ori.Cohen
Added the ability to verify the DDC content is not stale. Systems have to opt in (-VerifyDDC)
Change 3525248 by Ori.Cohen
Physx DDC will now run with verify ddc. Also fixed bad key which was missing the complexity type of body setup
Change 3525263 by Ori.Cohen
Fix typo with printf
Change 3525279 by Ori.Cohen
Fix CIS
Change 3525478 by Ethan.Geller
Adding memory aligned audio buffer support
Change 3525688 by Aaron.McLeran
Removing unnecessary code
Change 3526391 by Benn.Gallagher
Clothing optimization pass, mainly removing allocations and precaching some skin information. 10% Overall non-gamethread time reduction, gamethread sync completion task time halved.
#jira UEAP-197
Change 3526454 by Benn.Gallagher
CIS fix
Change 3526919 by Chad.Garyet
adding verifyddc flag to automated tests
Change 3527006 by Lina.Halper
Fix crash with blendspace sample value change
- Matt also fixed undo transaction, queuing every move vs only final value
- Matt fixed property changed to send interactive or not paramger, so that it doens't call object changed for every single move
#jira: UE-46929
#rb: Matt.Kuhlenschmidt
#code review: Jurre.DeBaare, Matt.Kuhlenschmidt
Change 3528684 by Benn.Gallagher
Static analysis fix, excessive statement left to signal reasons clothing assets would invalidate their caches triggered SA fail.
Change 3528687 by Benn.Gallagher
CIS Fix, method definition outside of declaration #if block.
Change 3528890 by Ori.Cohen
Fix false negative with PIE and verify DDC
Change 3528899 by Martin.Wilson
Smart name refactor part 1 - Changed FindUID api to return UID rather than pointer to UID, fix code in Orion that was caching a pointer to internal TMap allocated memory.
#jira UEAP-264
Change 3530148 by Aaron.McLeran
Making check for Supporting multiple audio devices only happen in editor builds.
Change 3530519 by Jonathan.Poncelet
Deprecated original angular physics functions in preference of a consistent API, using degrees vs. radians
Functions are now suffixed "InDegrees" or "InRadians", to make it obvious which are used.
The deprecated functions now call whichever degrees or radians counterpart is needed.
FBodyInstance now works entirely in radians, to avoid unnecessary conversions.
Automated tests have been added to verify behaviour.
#jira UE-39757 Torque and angular velocity are inconsistent
Change 3530943 by Benn.Gallagher
Fixed clothing shader model automation test.
#jira UE-47052
Change 3530993 by Thomas.Sarkanen
Merging using Dev-Rendering_To_Dev-AnimPhys from CL 3512333. Converting integrates to edits.
Oiriginal CL desc:
Texture source data is not released anymore in WillNeverCacheCookedPlatformDataAgain().
This prevents an issue where texture referenced through CompositeTexture have no source data available.
This doesn't affect peak memory so much as texture loaded with AllowAsyncLoading already release their temporary load data.
#jira UE-47083 - Cook Odin fails with LogTexture: Error: Unable to get texture source mips because its bulk data was released.
Change 3536312 by Chad.Garyet
adding verifyddc into the automatedtestbuild xml
Change 3537375 by James.Golding
Merge Ocean GC crash fix (OCN-7666) from CL 3512485
#jira UE-47211
DONE!
[CL 3537460 by Thomas Sarkanen in Main branch]
2017-07-14 06:36:47 -04:00
|
|
|
return (CompareRenderTarget->SizeX == ClampedTargetSize.X && CompareRenderTarget->SizeY == ClampedTargetSize.Y && CompareRenderTarget->OverrideFormat == InPixelFormat && CompareRenderTarget->bForceLinearGamma == bInForceLinearGamma);
|
2017-06-21 10:25:35 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Find any pooled render target with suitable properties.
|
|
|
|
|
UTextureRenderTarget2D** FindResult = RenderTargetPool.FindByPredicate(RenderTargetComparison);
|
|
|
|
|
|
|
|
|
|
if (FindResult)
|
|
|
|
|
{
|
|
|
|
|
RenderTarget = *FindResult;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Not found - create a new one.
|
|
|
|
|
RenderTarget = NewObject<UTextureRenderTarget2D>();
|
|
|
|
|
check(RenderTarget);
|
|
|
|
|
RenderTarget->AddToRoot();
|
|
|
|
|
RenderTarget->ClearColor = FLinearColor(1.0f, 0.0f, 1.0f);
|
|
|
|
|
RenderTarget->ClearColor.A = 1.0f;
|
|
|
|
|
RenderTarget->TargetGamma = 0.0f;
|
Copying //UE4/Dev-AnimPhys to //UE4/Dev-Main (Source: //UE4/Dev-AnimPhys @ 3537446)
#lockdown Nick.Penwarden
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3491514 by Jonathan.Poncelet
Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units.
Change 3495025 by Jonathan.Poncelet
Back out changelist 3491514
"Added new functions AddTorqueDegrees and AddAngularImpulseDegrees to UPrimitiveComponent
Provided automated tests ensure that the angular velocity is consistent for each of the new functions by comparing it with an equivalent call to the original function.
#jira UE-39757 Torque and angular velocity are inconsistent
#automation Tests verify that AddTorque/AddTorqueDegrees and AddAngularImpulse/AddAngularImpulseDegrees both produce the correct angular velocity, when passed the same value in different units."
Change 3505086 by Danny.Bouimad
Updating test content in TM-AnimPhys and TM-TangentNormals
Change 3505375 by James.Cobbett
Automating Settle test map
Change 3505714 by Lina.Halper
Add more descriptive pin name and node text for constraint node
#jira: UE-45895
#rb: Ori.Cohen
Change 3505731 by Lina.Halper
1. Renamed FTargetReference to FBoneSocketTarget
- this allows users to choose either bone or socket as a target.
2. Two Bone IK refactor to use FBoneSocketTarget
- Effector Target and Joint Target are converted to use FBoneSocketTarget, so you can use socket or bone
- Effector Location and Joint Target Location is used as offset from target location, so you can use as a combination of FBoneSocketTarget
- Editor code now uses runtime node instead of Graph Node, will have more discussion with Tom on this.
3. FABRIK refactor to use FBoneSocketTarget
#code review: Laurent.Delayen, Martin.Wilson, Thomas.Sarkanen
#rb: Laurent.Delayen
Change 3505770 by Lina.Halper
IK automation test
#jira: UE-46250
Change 3506369 by Lina.Halper
Fix initialization order issue
#rb:none
#rnx
Change 3506697 by Martin.Wilson
Fix root motion when using ForceAnimRate's of more than 1
#jira UE-39021
Change 3506765 by Lina.Halper
It's confusing to see the same name multiple times. So fixed so that this utility functions show up later, and then added function instead.
#jira: UE-45871
#rb: Martin.Wilson
Change 3506787 by Ori.Cohen
Added single threaded physx tasks stats using "stat PhysXTasks"
Change 3506803 by Ori.Cohen
Turn off debug code which was submitted by accident
Change 3506840 by Jurre.deBaare
Fix for automation vertex-color warning
Change 3506917 by Danny.Bouimad
Checking in Edits made to AnimBP Constraint Content
Change 3507045 by James.Cobbett
Submitting final Settle test map updates
Change 3509208 by Danny.Bouimad
Checking in content changes for TM-SuspendCloth
Change 3509235 by James.Cobbett
Deleting Settle test map from QAGame - now lives in EngineTest
Change 3509935 by Lina.Halper
One customization tree for supporting Bone and Socket
: you can just use FBoneSocketTarget and that will allow displaying sockets also
#jira: UE-45778
#rb: Thomas.Sarkanen
#code review:Thomas.Sarkanen
Change 3511250 by Martin.Wilson
Fix crash when performing drag operations in the notify track window
#jira UE-46420
Change 3511397 by Thomas.Sarkanen
Asset reloading now defers re-opening asset editors until post-GC phase
This prevents an issue in some asset editors (like Persona) which may reference other assets in their UI.
#jira UE-46442 - Crash when opening skeletal mesh editor window after reloading asset
Change 3512849 by Aaron.McLeran
#jira UE-46576 Fixing granulator loading multiple sound waves
Change 3513414 by James.Cobbett
Fixing destructible test map
Change 3513588 by Benn.Gallagher
Clothing LOD improvements
- Added full pipeline for adding LODs to clothing assets in editor
- Added methods for mapping parameters between masks on meshes with differing topology
- Fixed a few UI bugs
Change 3513599 by Benn.Gallagher
Missed files from last checkin
Change 3513920 by Martin.Wilson
Move Live Link Retarget Asset to live link plugin and remove engine dependency from LiveLinkInterface (fixes maya live link compiling)
Change 3515400 by Aaron.McLeran
#jira UE-46299 Added a fade in function to audio device so audio can resume after fading out in main audio device.
Change 3515495 by Joe.Conley
Had reports some AnimationBP deterministic cooking errors were being caused by FBakedAnimationState::bAlwaysResetOnEntry not being initialized in the constructor explicitly. Changing that to be explicitly initialized to false in the constructor, as well as UAnimStateNode::bAlwaysResetOnEntry.
Change 3515641 by Benn.Gallagher
CIS fix for game builds
Change 3516817 by Aaron.McLeran
Moving opus lib to subfolder Windows instead of win32 to fix UGS game sync issues.
Change 3516853 by Aaron.McLeran
Slight optimization in converting proc audio buffer to 16 bit PCM.
Change 3517525 by Jonathan.Poncelet
Fix comment for FName operator!=
Change 3517826 by James.Cobbett
Test files for bug UE-46719
Change 3518049 by James.Cobbett
Updating Settle automated test map to include settling on convex floors. Also added step to save actor starting location in Ground Truth, and reset actors to that location at the end of the test.
Change 3518185 by Ori.Cohen
Fix merge error as reported by NVIDIA
Change 3518711 by Ethan.Geller
Integrating fix for switch crash on load level.
Change 3518720 by Ethan.Geller
Back out changelist 3518711
Change 3519040 by Aaron.McLeran
Simple feature to add attack/decay interpolation times for focus feature to avoid fast focus/out-of-focus volume scaling.
Change 3519972 by James.Golding
Fix constructor order for FSoundAttenuationSettings to fix CIS
Change 3520141 by Martin.Wilson
Make retarget assets are no longer assets but blueprints instead.
Add blueprint function for remap asset to allow blueprints to transform bone names
#jira UEAP-235
Change 3520568 by Martin.Wilson
CIS fix
Change 3520677 by Benn.Gallagher
Added ability to rename clothing assets after creation
Change 3520727 by Benn.Gallagher
Removed unecessary header for asset list
Change 3520791 by Martin.Wilson
Fix multiple calls to FinalizeBoneTransforms when calling RefreshBoneTransforms outside of tick
Change 3521069 by Jurre.deBaare
Merging an actor with recompute normal and Overlapping UVs causes the normals generate incorrectly
#fix old code path was causing normals to be recompute when it wasn't required causing the smooth normals on the issueing asset
#jira UE-46806
Change 3521070 by Jurre.deBaare
Ensure occurs when performing a Bake Out Material on Cube
#fix Make sure that we update the Material data used for texture streaming when adding/changing materials during material baking
#jira UE-46807
Change 3521142 by Jurre.deBaare
Bake Material large Texture size crash
#fix Added clamping to baked out material texture sizes in all occurences (GetMax2DTextureDimension())
#jira UE-46808
Change 3523294 by Aaron.McLeran
Resetting available byte count when resetting the procedural sound wave
Change 3523297 by Aaron.McLeran
Adding thread safe mode for plugin interface shared ptrs.
Change 3524153 by Jurre.deBaare
Issue where new blend space samples list in detailsview would not regenerate blendspace sampling
#fix Unified what happens when you change the grid sample value (this issue also caused undo/redo not to work with these numeric boxes)
Change 3524154 by Jurre.deBaare
Advanced preview tool tip in BlendSpace editor has different behaviour when grid doesn't have focus, and broke the sample dragging functionality.
#fix Undid some added state cleanup code which actually was invalid to do, and made sure the CTRL down isn't a toggle but a constant state
Change 3524282 by Thomas.Sarkanen
Fixed OculusAudio in line with new API
Post-Main merge fixup
Change 3524348 by Thomas.Sarkanen
Merging using Dev-Physics-Upgrade_PhysX3_To_Dev-AnimPhys_PhysX
Original CL 3521358:
[From trunk] 22410436 [Px-1090]PCm sphere convex jittering in UE4 [Reviewer: Kier]
p4rmerge of Change 22415420 by sschirm
from e:\P4\dev1\sw\physx\Releases\distro_mirrors\PhysX_3.4_APEX_1.4\Mirror_scripts\patch/cl-22415420.p4r
moved from //sw/physx/Releases/distro_mirrors/PhysX_3.4_APEX_1.4/Mirror/ to //UE4/Dev-Physics-Upgrade/Engine/Source/ThirdParty/PhysX3/
#jira UE-46668 - PCM still has stability issues
Change 3524541 by Jurre.deBaare
Disabled material baking automated tests for now
#jira UE-46510
Change 3524684 by Jurre.deBaare
If you paste a invalid name into Bones to Remove and hit apply the editor will crash
#fix did not check for INDEX_NONE or NAME_NONE bones when retrieving bone indices
#jira UE-46830
Change 3525244 by Ori.Cohen
Added the ability to verify the DDC content is not stale. Systems have to opt in (-VerifyDDC)
Change 3525248 by Ori.Cohen
Physx DDC will now run with verify ddc. Also fixed bad key which was missing the complexity type of body setup
Change 3525263 by Ori.Cohen
Fix typo with printf
Change 3525279 by Ori.Cohen
Fix CIS
Change 3525478 by Ethan.Geller
Adding memory aligned audio buffer support
Change 3525688 by Aaron.McLeran
Removing unnecessary code
Change 3526391 by Benn.Gallagher
Clothing optimization pass, mainly removing allocations and precaching some skin information. 10% Overall non-gamethread time reduction, gamethread sync completion task time halved.
#jira UEAP-197
Change 3526454 by Benn.Gallagher
CIS fix
Change 3526919 by Chad.Garyet
adding verifyddc flag to automated tests
Change 3527006 by Lina.Halper
Fix crash with blendspace sample value change
- Matt also fixed undo transaction, queuing every move vs only final value
- Matt fixed property changed to send interactive or not paramger, so that it doens't call object changed for every single move
#jira: UE-46929
#rb: Matt.Kuhlenschmidt
#code review: Jurre.DeBaare, Matt.Kuhlenschmidt
Change 3528684 by Benn.Gallagher
Static analysis fix, excessive statement left to signal reasons clothing assets would invalidate their caches triggered SA fail.
Change 3528687 by Benn.Gallagher
CIS Fix, method definition outside of declaration #if block.
Change 3528890 by Ori.Cohen
Fix false negative with PIE and verify DDC
Change 3528899 by Martin.Wilson
Smart name refactor part 1 - Changed FindUID api to return UID rather than pointer to UID, fix code in Orion that was caching a pointer to internal TMap allocated memory.
#jira UEAP-264
Change 3530148 by Aaron.McLeran
Making check for Supporting multiple audio devices only happen in editor builds.
Change 3530519 by Jonathan.Poncelet
Deprecated original angular physics functions in preference of a consistent API, using degrees vs. radians
Functions are now suffixed "InDegrees" or "InRadians", to make it obvious which are used.
The deprecated functions now call whichever degrees or radians counterpart is needed.
FBodyInstance now works entirely in radians, to avoid unnecessary conversions.
Automated tests have been added to verify behaviour.
#jira UE-39757 Torque and angular velocity are inconsistent
Change 3530943 by Benn.Gallagher
Fixed clothing shader model automation test.
#jira UE-47052
Change 3530993 by Thomas.Sarkanen
Merging using Dev-Rendering_To_Dev-AnimPhys from CL 3512333. Converting integrates to edits.
Oiriginal CL desc:
Texture source data is not released anymore in WillNeverCacheCookedPlatformDataAgain().
This prevents an issue where texture referenced through CompositeTexture have no source data available.
This doesn't affect peak memory so much as texture loaded with AllowAsyncLoading already release their temporary load data.
#jira UE-47083 - Cook Odin fails with LogTexture: Error: Unable to get texture source mips because its bulk data was released.
Change 3536312 by Chad.Garyet
adding verifyddc into the automatedtestbuild xml
Change 3537375 by James.Golding
Merge Ocean GC crash fix (OCN-7666) from CL 3512485
#jira UE-47211
DONE!
[CL 3537460 by Thomas Sarkanen in Main branch]
2017-07-14 06:36:47 -04:00
|
|
|
RenderTarget->InitCustomFormat(ClampedTargetSize.X, ClampedTargetSize.Y, InPixelFormat, bInForceLinearGamma);
|
2017-06-21 10:25:35 -04:00
|
|
|
|
|
|
|
|
RenderTargetPool.Add(RenderTarget);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
checkf(RenderTarget != nullptr, TEXT("Unable to create or find valid render target"));
|
|
|
|
|
return RenderTarget;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FExportMaterialProxy* FMaterialBakingModule::CreateMaterialProxy(UMaterialInterface* Material, const EMaterialProperty Property)
|
|
|
|
|
{
|
|
|
|
|
FExportMaterialProxy* Proxy = nullptr;
|
|
|
|
|
|
2019-08-21 10:14:22 -04:00
|
|
|
// Find all pooled material proxy matching this material
|
|
|
|
|
TArray<FMaterialPoolValue> Entries;
|
|
|
|
|
MaterialProxyPool.MultiFind(Material, Entries);
|
|
|
|
|
|
|
|
|
|
// Look for the matching property
|
|
|
|
|
for (FMaterialPoolValue& Entry : Entries)
|
2017-06-21 10:25:35 -04:00
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
if (Entry.Key == Property)
|
|
|
|
|
{
|
|
|
|
|
Proxy = Entry.Value;
|
|
|
|
|
break;
|
|
|
|
|
}
|
2017-06-21 10:25:35 -04:00
|
|
|
}
|
2019-08-21 10:14:22 -04:00
|
|
|
|
|
|
|
|
// Not found, create a new entry
|
|
|
|
|
if (Proxy == nullptr)
|
2017-06-21 10:25:35 -04:00
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
Proxy = new FExportMaterialProxy(Material, Property);
|
|
|
|
|
MaterialProxyPool.Add(Material, FMaterialPoolValue(Property, Proxy));
|
2017-06-21 10:25:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Proxy;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::ReadTextureOutput(FTextureRenderTargetResource* RenderTargetResource, EMaterialProperty Property, FBakeOutput& Output)
|
|
|
|
|
{
|
2019-01-18 11:33:01 -05:00
|
|
|
checkf(!Output.PropertyData.Contains(Property) && !Output.PropertySizes.Contains(Property), TEXT("Should not be reading same property data twice"));
|
2017-06-21 10:25:35 -04:00
|
|
|
|
|
|
|
|
TArray<FColor>& OutputColor = Output.PropertyData.Add(Property);
|
|
|
|
|
FIntPoint& OutputSize = Output.PropertySizes.Add(Property);
|
|
|
|
|
|
|
|
|
|
// Retrieve rendered size
|
|
|
|
|
OutputSize = RenderTargetResource->GetSizeXY();
|
|
|
|
|
|
|
|
|
|
const bool bNormalmap = (Property== MP_Normal);
|
|
|
|
|
FReadSurfaceDataFlags ReadPixelFlags(bNormalmap ? RCM_SNorm : RCM_UNorm);
|
|
|
|
|
ReadPixelFlags.SetLinearToGamma(false);
|
|
|
|
|
|
|
|
|
|
if (Property != MP_EmissiveColor)
|
|
|
|
|
{
|
|
|
|
|
// Read out pixel data
|
|
|
|
|
RenderTargetResource->ReadPixels(OutputColor, ReadPixelFlags);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Emissive is a special case
|
|
|
|
|
TArray<FFloat16Color> Color16;
|
|
|
|
|
RenderTargetResource->ReadFloat16Pixels(Color16);
|
|
|
|
|
|
|
|
|
|
const int32 NumThreads = [&]()
|
|
|
|
|
{
|
|
|
|
|
return FPlatformProcess::SupportsMultithreading() ? FPlatformMisc::NumberOfCores() : 1;
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
float* MaxValue = new float[NumThreads];
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 4072632)
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3870267 by Arne.Schober
DR - SafeRelease SRVs that might be hold by the Vertexfactories (maybe due to indirect use in GlobalResources)
Note that the VFs are not owners of the data, e.g the underlying Buffers might be released before this and this reference counting should be uneccessary
Change 3872507 by Arne.Schober
Back out changelist 3870267
Change 3988916 by Marcin.Undak
Quail/Linux compilation fix #rb none #codereview arciel.rekman
Change 4042277 by Rolando.Caloca
DR - Clear UBs between PSOs on D3D to help track down not setting resources
Change 4042297 by Arne.Schober
DR - Fix case where LPV requires SSAO to run but no GBuffer is available in formward mode. In this case we force the behaviour to use the simple AO (as ASyncAO pass)
#jira UE-42135
Change 4042404 by Jian.Ru
Fix a race condition when RT is disabled and then re-enabled
#jira
Change 4042437 by Richard.Wallis
Mac Localization - Mac now uses FUICommand and NSLOCTEXT to build main menu items. Don't fetch menu items using name since that could change. Lookup using ID's.
Note:
New CB function binding system in *FStartupApplicationToMacMenuBinder*. Added to simplify the existing and new CB function binding.
Update:
Application menu now also gets an update on runtime langauge changed event. Other menu's get updated anyway as per runloop updates.
#jira UE-49526
Change 4042602 by Guillaume.Abadie
Adds support for alpha channel in DOF.
Change 4042603 by Guillaume.Abadie
Gates global sampler behind SUPPORTS_INDEPENDENT_SAMPLERS for nicer error messsage on platform that do not support them.
Change 4042671 by Guillaume.Abadie
Massages DOF's shader code for HLSLCC.
Change 4042772 by Mark.Satterthwaite
Expose the MTLComputePipelineState's label string.
Change 4043013 by Juan.Canada
Fixed bounds of skeletal meshes could be inverted (min > max) with negative scaling. That was breaking occlusion tests in some scenes, creating flicking issues.
#jira UE-49290
Change 4043171 by Rolando.Caloca
DR - Workaround crash on hlslcc
Change 4043182 by Uriel.Doyon
Fixed skylight issues when using pre-exposure.
Improved IndirectIrradiance gbuffer encoding when using pre-exposure.
Change 4043452 by Mark.Satterthwaite
Extensively refactor the MetalRHI GPU profiling code. There is now a "MetalProfiler Start/Stop/Frames=X" in-game command that will spit out JSON files similar to the platform-agnostic TracingProfiler, but this displays the command-buffer encoding and execution which actually makes sense with Metal where we can't arbitrarily insert requests for time-stamps and breaking command-buffers/encoders is expensive.
Change 4044732 by Richard.Wallis
Fix for macOs restoring to fullscreen results in render with large black border. Also tested that is fix doesn't seem to re-introduce UE-51270 (CL 3696161). There appears to be an edge case that can cause the toogleFullScreen: method to not correctly expand window frame to the full screen size - we end up with a frame size of the previous setting. Forcing the correct values doesn't fix the issue - the only consistant fix seems to be to re-introduce the - (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize delegate method.
#jira UE-57549
Change 4044741 by Guillaume.Abadie
Fixes a couple of regressions in DOF when using temporal upsampling.
Change 4044753 by Guillaume.Abadie
Fixes a bug in WaveBroadcastIntrinsics.ush
Change 4045010 by Guillaume.Abadie
Creates TM-DepthOfField in QAGame to test DOF.
Change 4045417 by Jian.Ru
Prevent recursive flush
#jira
Change 4045923 by Mark.Satterthwaite
Further insulate private plugin usage within MetalRHI.
Change 4046006 by Mark.Satterthwaite
Simplify dependency on the private module and hope it now builds properly.
Change 4046612 by Mark.Satterthwaite
Apple A9 introduced support for baseVertex & baseInstance, earlier GPUs don't support it at all. The code was incorrectly compiling shaders assuming they did at given Metal shader standard versions. Instead we always compile mobile shaders assuming they don't support base index & vertex and for dektop shaders we now need an A9 or better GPU for it to work.
#jira UE-55234
Change 4047504 by Mark.Satterthwaite
Supress warnings about the missing module when not available or enabled. Also make it work on all Metal platforms.
Change 4048765 by Uriel.Doyon
Fixed compilation issue from CL 4048308
Change 4048776 by Guillaume.Abadie
Fixes a static pixel projection regressions in TAA caused by alpha channel support in DOF.
Change 4049059 by Mark.Satterthwaite
Thread names in the MetalProfiler output and don't load the private module when selecting a device as it isn't useful anymore.
Change 4050290 by Mark.Satterthwaite
Sort out the timebase for all the different Metal clocks when profiling - everything is now in microseconds and seems to line up! Need to rework all the other timing code similarly - but not in this commit.
Change 4050822 by Mark.Satterthwaite
Partial custom counter support - still has bugs.
Change 4051210 by Guillaume.Abadie
Dumps PermutationID of shader when shader compile worker crashes.
Change 4051652 by Guillaume.Abadie
Optimises DOF's reduce with wave broadcast instrinsics.
Change 4051839 by Mark.Satterthwaite
Tiny fix to changing custom counters.
Change 4052553 by Guillaume.Abadie
Implements GATHER_INPUT_LAYOUT_RGB_SEPARATE_COC to save texture bandwidth in gather pass.
Change 4052611 by Guillaume.Abadie
Fixes a crashes in light shaft.
Change 4052916 by Mark.Satterthwaite
Extend the Mac & iOS Frame-Pacer API to proivde the target output time and the intended duration so that the MetalProfiler can record the display V-Blank window.
Change 4053111 by Rolando.Caloca
DR - hlslcc - RequiresNegateDDY()
Change 4053402 by Mark.Satterthwaite
Add instrumentation for buffer & texture allocation and shader & pipeline compilation to MetalProfiler. Everything that I personally care to track should now be in place but the implementation details are grim so there's still plenty of room for improvement.
Change 4053454 by Mark.Satterthwaite
More attempts to allow the builders to compile for Mac in such a fashion that the private module's perfectly innocuous headers don't cause an error.
Change 4053765 by Guillaume.Abadie
Fixes a failure in DOFGather's ShouldCompilePermutation() caused by R11G11B10 change.
Change 4053911 by Marcus.Wassmer
Copying //Tasks/UE4/Dev-Rendering-RectLight@4053906 to Dev-Rendering (//UE4/Dev-Rendering)
Change 4053915 by Marcus.Wassmer
Attempt to fix what looks like some unity build rearrangement issue.
Change 4053916 by Marcus.Wassmer
Fix PS4 shader compile issues. Point seems to be a reserved keyword in PSSL
Change 4054642 by Rolando.Caloca
DR - Fix SCW not showing correct callstack/exception info on crashes
Change 4054661 by Mark.Satterthwaite
Make thre MetalBackend convert depth texture sampls to float4 from float to match the expected return type and fix compiler errors.
#jira UE-58670
Change 4054780 by Guillaume.Abadie
Cuts number of shader permutation for DOF's gather pass from 138 to 41.
Change 4054950 by Rolando.Caloca
DR - vk - Fix negated ddy
Change 4055019 by Guillaume.Abadie
Cuts number of shader permutation for tonemapper from ~2k to 64.
Change 4055144 by Guillaume.Abadie
Adds an ensure to catch when there is too many permutations on a global shader.
Change 4055240 by Krzysztof.Narkowicz
Checkboard subsurface fix for resolutions non divisible by 2. Align up subsurface prepare buffer, so downsampling always pickups correct pixel from the full-res buffer.
#jira FORT-79981
Change 4055323 by Rolando.Caloca
DR - Fix GLSL-based platforms
Change 4055387 by Guillaume.Abadie
Adds a point mirror between foreground and background bokeh to be phisically accurate.
Change 4055403 by Rolando.Caloca
DR - Fix uninitialized var causing crash
Change 4055709 by Guillaume.Abadie
Fixes a crash in SunTemple.
Change 4055771 by Guillaume.Abadie
Fixes DOF's reduce pass being compiled for SM4.
#jira UE-58714
Change 4055876 by Rolando.Caloca
DR - hlslcc - Fix crash during loop analysis on empty if() blocks
Change 4056026 by Rolando.Caloca
DR - Enable volumetric fog on Vulkan
Change 4056272 by Guillaume.Abadie
Exposes new DOF settings in post process settings.
Change 4056460 by Brian.Karis
Fix uniform buffer assert.
Change 4057151 by Guillaume.Abadie
Fixes a bug in DOF's temporal stability gathering pass.
Change 4057220 by Guillaume.Abadie
Cherry-picks and reworks experimental AO decal from GDC 2017's The Human Race demo.
AO decal are on purpose not supported with ASync AO, because the proper way location to do that would be right before whenever a pass use it, but is currently challenging to track down considering the screen space AO buffer is used a by a lot of different passes through the scene texture uniform buffer.
#jira UE-53997
Change 4057587 by Rolando.Caloca
DR - Enable Diaphgram DOF on Vulkan
Change 4058022 by Guillaume.Abadie
Exposes new DOF settings to UCineCameraComponent
Change 4058136 by Guillaume.Abadie
Replaces Circle DOF with Diaphragm DOF on supported platforms by default, with renderer settings to fallback.
Change 4058338 by Jostin.Bilyeu
Checking in new map for verifying Mobile rendering features in conjunction with TAAU
Change 4058352 by Matt.Collins
Wrapped NSString for lambda capture.
Change 4058500 by Rolando.Caloca
DR - Fix bad normals & tangents on GL mobile
#jira UE-57769
Change 4058723 by Rolando.Caloca
DR - vk - Split device pipeline cache off generic cache file
Change 4058782 by Mark.Satterthwaite
Rebuild Mac hlslcc for 4055876
Change 4058791 by Mark.Satterthwaite
Force MetalBackend to pick up new hlslcc.
Change 4058840 by Guillaume.Abadie
Fixes a bug in DOF's scalability setting groups
Change 4058928 by Daniel.Wright
Fixed dangling FSceneViewStateReference references getting created when scene capture reallocates its ViewStates array
Change 4059141 by Marcus.Wassmer
PR #3799: Fix for leak in BatchedLines (Contributed by DSDambuster)
Change 4059227 by Brian.Karis
Fix for simple forward
Change 4059269 by Marcus.Wassmer
Update test screenshots to account for minroughness changes from devrectlight
Change 4059478 by Mark.Satterthwaite
It looks like FMetalCompiledShaderCache was misusing FRWScopeLock in ways that I can't believe even compiled - it looks like it ended up creating and destroying the scope-lock as a temporary rather than treating it as a block-local variable.
#jira UE-58773
Change 4059870 by Guillaume.Abadie
Works arround an HLSLCC bug in DOF's recombine pass that was using a AtomicMax(asfloat(MyFloat)).
#jira UE-58850
Change 4060324 by Rolando.Caloca
DR - Very minor render pass
Change 4060328 by Rolando.Caloca
DR - vk - Fix crash when running with r.Vulkan.DelayAcquireBackBuffer=0
Change 4060461 by Jostin.Bilyeu
Updated test map for use during Mobile Rendering based testing. Map name TM-Mobile_TAAU
Change 4060698 by Marcus.Wassmer
Merging xbox compile fix
Change 4060930 by Marcus.Wassmer
Fix android compile
Change 4060971 by Mark.Satterthwaite
Some missing #defines to guard functions that require an external plugin.
#jira UE-58910
Change 4061104 by Guillaume.Abadie
Whitelists mobile tonemapper's high number of permutation in mean time it gets fixed by UE-58014.
#jira UE-58900
Change 4061364 by Jostin.Bilyeu
updated Test map TM-TAAU_Mobile to added lighting importance volume, reflection spheres etc.
Change 4061743 by Mark.Satterthwaite
Fix another build error for iOS.
#jira UE-58827
Change 4061753 by Arne.Schober
DR - Higher precision (16bit per channel) for RecomputeTangent and Skincache
#jira UE-58525
Change 4062236 by Mark.Satterthwaite
AppleTV doesn't appear to support the set*Bytes APIs in Metal.
#jira UE-58580
Change 4062320 by Guillaume.Abadie
Enables bokeh simulation on scattered bokeh on Epic post process settings.
Change 4062402 by Guillaume.Abadie
Phiscally animates the rotation of the bokeh as aperture changes.
Change 4062587 by Mark.Satterthwaite
Fix another Ocean compile error.
#jira N/A
Change 4062811 by Marcus.Wassmer
Only do newton iterations for area lights
Fixes a host of AMD-only bugs
Change 4063174 by Marcus.Wassmer
Workaround shipping build compile error for all clang platforms.
Change 4063760 by Guillaume.Abadie
Changes the default number of diaphragm blades to 7.
Change 4063992 by Marcus.Wassmer
Fix DX12 crash when depthboundstest not available.
Change 4064233 by Rolando.Caloca
DR - Proper fix for GL changes related to tangents
#jira UE-58948
Change 4064323 by Uriel.Doyon
Increase the max number of uavs to 16
#jira 58898
Change 4064428 by Guillaume.Abadie
Fixes a crashes on XB1 when doing async SSAO.
Change 4064525 by Uriel.Doyon
Better logic for depth bound support in d3d12.
#jira 58956
Change 4064694 by Jian.Ru
Fix a bug in FMaterialBakingModule::ReadTextureOutput caused by uninitialized variables
Change 4064873 by Guillaume.Abadie
Fixes wrong resource transitions in DOF's reduce passes.
Change 4064956 by Guillaume.Abadie
Disables R11G11B10 optimisations on platforms that can't supports more than 8 UAVs.
Change 4065215 by Arne.Schober
DR - Make Clang Happy the standart says: "A variable or non-overloaded function whose name appears as a potentially-evaluated expression is odr-used unless it is an object that satisfies the requirements for appearing in a constant expression (5.19) and the lvalue-to-rvalue conversion (4.1) is immediately applied."
In English this means that when the reference is taken (or it is passed by reference) the pointers could be compared and therefore needed to be allocated.
Change 4065312 by Guillaume.Abadie
Fixes D3D12RHI doing a draw indexed indirect behind a DrawPrimitiveIndirect()
Change 4070361 by Guillaume.Abadie
Fixes resource transitions for PS4. PS4 RHI's logic to check for resource transition is still buggy.
Change 4070778 by Marcus.Wassmer
Fix bad merge
Change 4071337 by Rolando.Caloca
DR - vk - Do not spam log
Change 4048308 by Uriel.Doyon
Merging //UE4/Partner-MGPU to Dev-Rendering (//UE4/Dev-Rendering) at CL 4047519 :
- Fixed d3derror when resizing the window in multi-gpu.
- Fixed d3d12 checks when exiting in multi-gpu.
- Command context containter can now only be used with a single gpu mask. This cleans up passing the mask everywhere.
- RenderPass now reuse the current GPUMask instead of assuming the view mask. Decoupling furter more the binding.
- Removed of IRHIComputeContext::GetContextForGPUMask().
- Removed GPUMask from QueueRenderThreadCommandListSubmit and QueueCommandListSubmit since it is now a member of FRHICommandListBase.
- FRHICommandListBase::CopyContext() can not change anymore the GPUMask and the target list must have the same GPUMask as the reference one.
- Command lists now have a GPU mask set at creation time.
- Support for immediate command list GPU mask.
- Using the new SCOPED_GPU_MASK where we previously used a new command list on the stack.
- Refactored most NodeMask naming to GPUMask, and also "const FRHIGPUMask&" to "FRHIGPUMask".
- Commandline option "-mgpu" is now replaced by "-MaxGPUCount=" and "-PresentGPU="
- Multi-gpu modes are now controlled through -mgpumode={ gpu0, gpu1, broadcast, avr, afr }
- Defines WITH_SLI and WITH_MGPU now control the path to multi-gpu support in the engine.
- Variable GNumActiveGPUsForRendering is now split in GNumAlternateFrameRenderingGroups and GNumExplicitGPUsForRendering.
[CL 4072858 by Marcus Wassmer in Main branch]
2018-05-15 11:11:48 -04:00
|
|
|
FMemory::Memset(MaxValue, 0, NumThreads * sizeof(MaxValue[0]));
|
2017-06-21 10:25:35 -04:00
|
|
|
const int32 LinesPerThread = FMath::CeilToInt((float)OutputSize.Y / (float)NumThreads);
|
|
|
|
|
|
|
|
|
|
// Find maximum float value across texture
|
|
|
|
|
ParallelFor(NumThreads, [&Color16, LinesPerThread, MaxValue, OutputSize](int32 Index)
|
|
|
|
|
{
|
|
|
|
|
const int32 EndY = FMath::Min((Index + 1) * LinesPerThread, OutputSize.Y);
|
|
|
|
|
float& CurrentMaxValue = MaxValue[Index];
|
|
|
|
|
const FFloat16Color MagentaFloat16 = FFloat16Color(FLinearColor(1.0f, 0.0f, 1.0f));
|
|
|
|
|
for (int32 PixelY = Index * LinesPerThread; PixelY < EndY; ++PixelY)
|
|
|
|
|
{
|
|
|
|
|
const int32 YOffset = PixelY * OutputSize.X;
|
|
|
|
|
for (int32 PixelX = 0; PixelX < OutputSize.X; PixelX++)
|
|
|
|
|
{
|
|
|
|
|
const FFloat16Color& Pixel16 = Color16[PixelX + YOffset];
|
|
|
|
|
// Find maximum channel value across texture
|
|
|
|
|
if (!(Pixel16 == MagentaFloat16))
|
|
|
|
|
{
|
|
|
|
|
CurrentMaxValue = FMath::Max(CurrentMaxValue, FMath::Max3(Pixel16.R.GetFloat(), Pixel16.G.GetFloat(), Pixel16.B.GetFloat()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
const float GlobalMaxValue = [&MaxValue, NumThreads]
|
|
|
|
|
{
|
|
|
|
|
float TempValue = 0.0f;
|
|
|
|
|
for (int32 ThreadIndex = 0; ThreadIndex < NumThreads; ++ThreadIndex)
|
|
|
|
|
{
|
|
|
|
|
TempValue = FMath::Max(TempValue, MaxValue[ThreadIndex]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return TempValue;
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
if (GlobalMaxValue <= 0.01f)
|
|
|
|
|
{
|
|
|
|
|
// Black emissive, drop it
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Now convert Float16 to Color using the scale
|
|
|
|
|
OutputColor.SetNumUninitialized(Color16.Num());
|
|
|
|
|
const float Scale = 255.0f / GlobalMaxValue;
|
|
|
|
|
ParallelFor(NumThreads, [&Color16, LinesPerThread, &OutputColor, OutputSize, Scale](int32 Index)
|
|
|
|
|
{
|
|
|
|
|
const int32 EndY = FMath::Min((Index + 1) * LinesPerThread, OutputSize.Y);
|
|
|
|
|
for (int32 PixelY = Index * LinesPerThread; PixelY < EndY; ++PixelY)
|
|
|
|
|
{
|
|
|
|
|
const int32 YOffset = PixelY * OutputSize.X;
|
|
|
|
|
for (int32 PixelX = 0; PixelX < OutputSize.X; PixelX++)
|
|
|
|
|
{
|
|
|
|
|
const FFloat16Color& Pixel16 = Color16[PixelX + YOffset];
|
2019-01-18 11:33:01 -05:00
|
|
|
|
|
|
|
|
const FFloat16Color MagentaFloat16 = FFloat16Color(FLinearColor(1.0f, 0.0f, 1.0f));
|
2017-06-21 10:25:35 -04:00
|
|
|
FColor& Pixel8 = OutputColor[PixelX + YOffset];
|
2019-04-26 09:47:57 -04:00
|
|
|
if (Pixel16 == MagentaFloat16)
|
2019-01-18 11:33:01 -05:00
|
|
|
{
|
|
|
|
|
Pixel8.R = 255;
|
|
|
|
|
Pixel8.G = 0;
|
|
|
|
|
Pixel8.B = 255;
|
|
|
|
|
}
|
2019-04-26 09:47:57 -04:00
|
|
|
else
|
2019-01-18 11:33:01 -05:00
|
|
|
{
|
|
|
|
|
Pixel8.R = (uint8)FMath::RoundToInt(Pixel16.R.GetFloat() * Scale);
|
|
|
|
|
Pixel8.G = (uint8)FMath::RoundToInt(Pixel16.G.GetFloat() * Scale);
|
|
|
|
|
Pixel8.B = (uint8)FMath::RoundToInt(Pixel16.B.GetFloat() * Scale);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-06-21 10:25:35 -04:00
|
|
|
Pixel8.A = 255;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// This scale will be used in the proxy material to get the original range of emissive values outside of 0-1
|
|
|
|
|
Output.EmissiveScale = GlobalMaxValue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FMaterialBakingModule::OnObjectModified(UObject* Object)
|
|
|
|
|
{
|
|
|
|
|
if (CVarUseMaterialProxyCaching.GetValueOnAnyThread())
|
|
|
|
|
{
|
|
|
|
|
if (Object && Object->IsA<UMaterialInterface>())
|
|
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
UMaterialInterface* MaterialToInvalidate = Cast<UMaterialInterface>(Object);
|
|
|
|
|
|
|
|
|
|
// Search our proxy pool for materials or material instances that refer to MaterialToInvalidate
|
|
|
|
|
for (auto It = MaterialProxyPool.CreateIterator(); It; ++It)
|
2017-06-21 10:25:35 -04:00
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
TWeakObjectPtr<UMaterialInterface> PoolMaterialPtr = It.Key();
|
|
|
|
|
|
|
|
|
|
// Remove stale entries from the pool
|
|
|
|
|
bool bMustDelete = PoolMaterialPtr.IsValid();
|
|
|
|
|
if (!bMustDelete)
|
2017-06-21 10:25:35 -04:00
|
|
|
{
|
2019-08-21 10:14:22 -04:00
|
|
|
bMustDelete = PoolMaterialPtr == MaterialToInvalidate;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// No match - Test the MaterialInstance hierarchy
|
|
|
|
|
if (!bMustDelete)
|
|
|
|
|
{
|
|
|
|
|
UMaterialInstance* MaterialInstance = Cast<UMaterialInstance>(PoolMaterialPtr);
|
|
|
|
|
while (!bMustDelete && MaterialInstance && MaterialInstance->Parent != nullptr)
|
|
|
|
|
{
|
|
|
|
|
bMustDelete = MaterialInstance->Parent == MaterialToInvalidate;
|
|
|
|
|
MaterialInstance = Cast<UMaterialInstance>(MaterialInstance->Parent);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// We have a match, remove the entry from our pool
|
|
|
|
|
if (bMustDelete)
|
|
|
|
|
{
|
|
|
|
|
FExportMaterialProxy* Proxy = It.Value().Value;
|
|
|
|
|
delete Proxy;
|
|
|
|
|
|
|
|
|
|
It.RemoveCurrent();
|
2017-06-21 10:25:35 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#undef LOCTEXT_NAMESPACE //"MaterialBakingModule"
|