2019-01-03 19:16:26 -05:00
|
|
|
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
/*=============================================================================
|
|
|
|
|
PostProcessSubsurface.cpp: Screenspace subsurface scattering implementation.
|
|
|
|
|
=============================================================================*/
|
|
|
|
|
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
|
|
|
#include "PostProcess/PostProcessSubsurface.h"
|
|
|
|
|
#include "PostProcess/SceneRenderTargets.h"
|
2019-04-01 19:37:48 -04:00
|
|
|
#include "Engine/SubsurfaceProfile.h"
|
|
|
|
|
#include "CanvasTypes.h"
|
|
|
|
|
#include "RenderTargetTemp.h"
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-06 04:43:26 -04:00
|
|
|
ENGINE_API IPooledRenderTarget* GetSubsufaceProfileTexture_RT(FRHICommandListImmediate& RHICmdList);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
namespace
|
|
|
|
|
{
|
|
|
|
|
TAutoConsoleVariable<int32> CVarSubsurfaceScattering(
|
|
|
|
|
TEXT("r.SubsurfaceScattering"),
|
|
|
|
|
1,
|
|
|
|
|
TEXT(" 0: disabled\n")
|
|
|
|
|
TEXT(" 1: enabled (default)"),
|
|
|
|
|
ECVF_RenderThreadSafe | ECVF_Scalability);
|
2014-09-05 17:48:09 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<float> CVarSSSScale(
|
|
|
|
|
TEXT("r.SSS.Scale"),
|
|
|
|
|
1.0f,
|
|
|
|
|
TEXT("Affects the Screen space subsurface scattering pass")
|
|
|
|
|
TEXT("(use shadingmodel SubsurfaceProfile, get near to the object as the default)\n")
|
|
|
|
|
TEXT("is human skin which only scatters about 1.2cm)\n")
|
|
|
|
|
TEXT(" 0: off (if there is no object on the screen using this pass it should automatically disable the post process pass)\n")
|
|
|
|
|
TEXT("<1: scale scatter radius down (for testing)\n")
|
|
|
|
|
TEXT(" 1: use given radius form the Subsurface scattering asset (default)\n")
|
|
|
|
|
TEXT(">1: scale scatter radius up (for testing)"),
|
|
|
|
|
ECVF_Scalability | ECVF_RenderThreadSafe);
|
2016-02-16 05:48:48 -05:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<int32> CVarSSSHalfRes(
|
|
|
|
|
TEXT("r.SSS.HalfRes"),
|
|
|
|
|
1,
|
|
|
|
|
TEXT(" 0: full quality (not optimized, as reference)\n")
|
|
|
|
|
TEXT(" 1: parts of the algorithm runs in half resolution which is lower quality but faster (default)"),
|
|
|
|
|
ECVF_RenderThreadSafe | ECVF_Scalability);
|
2014-10-16 13:08:38 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<int32> CVarSSSQuality(
|
|
|
|
|
TEXT("r.SSS.Quality"),
|
|
|
|
|
0,
|
|
|
|
|
TEXT("Defines the quality of the recombine pass when using the SubsurfaceScatteringProfile shading model\n")
|
|
|
|
|
TEXT(" 0: low (faster, default)\n")
|
|
|
|
|
TEXT(" 1: high (sharper details but slower)\n")
|
|
|
|
|
TEXT("-1: auto, 1 if TemporalAA is disabled (without TemporalAA the quality is more noticable)"),
|
|
|
|
|
ECVF_RenderThreadSafe | ECVF_Scalability);
|
2014-09-05 17:48:09 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<int32> CVarSSSFilter(
|
|
|
|
|
TEXT("r.SSS.Filter"),
|
|
|
|
|
1,
|
|
|
|
|
TEXT("Defines the filter method for Screenspace Subsurface Scattering feature.\n")
|
|
|
|
|
TEXT(" 0: point filter (useful for testing, could be cleaner)\n")
|
|
|
|
|
TEXT(" 1: bilinear filter"),
|
|
|
|
|
ECVF_RenderThreadSafe | ECVF_Scalability);
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<int32> CVarSSSSampleSet(
|
|
|
|
|
TEXT("r.SSS.SampleSet"),
|
|
|
|
|
2,
|
|
|
|
|
TEXT("Defines how many samples we use for Screenspace Subsurface Scattering feature.\n")
|
|
|
|
|
TEXT(" 0: lowest quality (6*2+1)\n")
|
|
|
|
|
TEXT(" 1: medium quality (9*2+1)\n")
|
|
|
|
|
TEXT(" 2: high quality (13*2+1) (default)"),
|
|
|
|
|
ECVF_RenderThreadSafe | ECVF_Scalability);
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TAutoConsoleVariable<int32> CVarSSSCheckerboard(
|
|
|
|
|
TEXT("r.SSS.Checkerboard"),
|
|
|
|
|
2,
|
|
|
|
|
TEXT("Enables or disables checkerboard rendering for subsurface profile rendering.\n")
|
|
|
|
|
TEXT("This is necessary if SceneColor does not include a floating point alpha channel (e.g 32-bit formats)\n")
|
|
|
|
|
TEXT(" 0: Disabled (high quality) \n")
|
|
|
|
|
TEXT(" 1: Enabled (low quality). Surface lighting will be at reduced resolution.\n")
|
|
|
|
|
TEXT(" 2: Automatic. Non-checkerboard lighting will be applied if we have a suitable rendertarget format\n"),
|
|
|
|
|
ECVF_RenderThreadSafe);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum class ESubsurfaceMode : uint32
|
|
|
|
|
{
|
|
|
|
|
// Performs a full resolution scattering filter.
|
|
|
|
|
FullRes,
|
|
|
|
|
|
|
|
|
|
// Performs a half resolution scattering filter.
|
|
|
|
|
HalfRes,
|
|
|
|
|
|
|
|
|
|
// Reconstructs lighting, but does not perform scattering.
|
|
|
|
|
Bypass,
|
|
|
|
|
|
|
|
|
|
MAX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Returns the [0, N] clamped value of the 'r.SSS.Scale' CVar.
|
2014-10-15 16:18:43 -04:00
|
|
|
float GetSubsurfaceRadiusScale()
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-10-15 16:18:43 -04:00
|
|
|
static const auto CVar = IConsoleManager::Get().FindTConsoleVariableDataFloat(TEXT("r.SSS.Scale"));
|
|
|
|
|
check(CVar);
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
return FMath::Max(0.0f, CVar->GetValueOnRenderThread());
|
2014-10-15 16:18:43 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
// Returns the current subsurface mode required by the current view.
|
|
|
|
|
ESubsurfaceMode GetSubsurfaceModeForView(const FViewInfo& View)
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
const float Radius = GetSubsurfaceRadiusScale();
|
|
|
|
|
const bool bShowSubsurfaceScattering = Radius > 0 && View.Family->EngineShowFlags.SubsurfaceScattering;
|
|
|
|
|
|
|
|
|
|
if (bShowSubsurfaceScattering)
|
|
|
|
|
{
|
|
|
|
|
const bool bHalfRes = CVarSSSHalfRes.GetValueOnRenderThread() != 0;
|
|
|
|
|
if (bHalfRes)
|
|
|
|
|
{
|
|
|
|
|
return ESubsurfaceMode::HalfRes;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return ESubsurfaceMode::FullRes;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return ESubsurfaceMode::Bypass;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns the SS profile texture with a black fallback texture if none exists yet.
|
|
|
|
|
FTextureRHIRef GetSubsurfaceProfileTexture(FRHICommandListImmediate& RHICmdList)
|
|
|
|
|
{
|
|
|
|
|
const IPooledRenderTarget* ProfileTextureTarget = GetSubsufaceProfileTexture_RT(RHICmdList);
|
|
|
|
|
|
|
|
|
|
if (!ProfileTextureTarget)
|
|
|
|
|
{
|
|
|
|
|
// No subsurface profile was used yet
|
|
|
|
|
ProfileTextureTarget = GSystemTextures.BlackDummy;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ProfileTextureTarget->GetRenderTargetItem().ShaderResourceTexture;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns a half-scaled size rounded to an even multiple of two (but clamped to 1x1 minimum).
|
|
|
|
|
FIntPoint GetHalfSize(FIntPoint Size)
|
|
|
|
|
{
|
|
|
|
|
Size = FIntPoint::DivideAndRoundUp(Size, 2);
|
|
|
|
|
Size.X = FMath::Max(1, Size.X);
|
|
|
|
|
Size.Y = FMath::Max(1, Size.Y);
|
|
|
|
|
return Size;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns a half-scaled rect, with the max rounded to the nearest multiple of two.
|
|
|
|
|
FIntRect GetHalfRect(FIntRect Rect)
|
|
|
|
|
{
|
|
|
|
|
return FIntRect(Rect.Min / 2, GetHalfSize(Rect.Max));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Set of common shader parameters shared by all subsurface shaders.
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FSubsurfaceParameters, )
|
|
|
|
|
SHADER_PARAMETER(FVector4, SubsurfaceParams)
|
|
|
|
|
SHADER_PARAMETER_STRUCT_INCLUDE(FScreenPassCommonParameters, ScreenPassCommonParameters)
|
|
|
|
|
SHADER_PARAMETER_TEXTURE(Texture2D, SSProfilesTexture)
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
|
|
|
|
|
|
FSubsurfaceParameters GetSubsurfaceCommonParameters(FRHICommandListImmediate& RHICmdList, FScreenPassContextRef Context)
|
|
|
|
|
{
|
|
|
|
|
const float DistanceToProjectionWindow = Context->View.ViewMatrices.GetProjectionMatrix().M[0][0];
|
|
|
|
|
const float SSSScaleZ = DistanceToProjectionWindow * GetSubsurfaceRadiusScale();
|
|
|
|
|
const float SSSScaleX = SSSScaleZ / SUBSURFACE_KERNEL_SIZE * 0.5f;
|
|
|
|
|
|
|
|
|
|
FSubsurfaceParameters Parameters;
|
|
|
|
|
Parameters.ScreenPassCommonParameters = Context->ScreenPassCommonParameters;
|
|
|
|
|
Parameters.SubsurfaceParams = FVector4(SSSScaleX, SSSScaleZ, 0, 0);
|
|
|
|
|
Parameters.SSProfilesTexture = GetSubsurfaceProfileTexture(RHICmdList);
|
|
|
|
|
return Parameters;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Base class for a subsurface shader.
|
|
|
|
|
class FSubsurfaceShader : public FGlobalShader
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
|
|
|
|
|
{
|
|
|
|
|
return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment)
|
|
|
|
|
{
|
|
|
|
|
FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment);
|
|
|
|
|
OutEnvironment.SetDefine(TEXT("SUBSURFACE_RADIUS_SCALE"), SUBSURFACE_RADIUS_SCALE);
|
|
|
|
|
OutEnvironment.SetDefine(TEXT("SUBSURFACE_KERNEL_SIZE"), SUBSURFACE_KERNEL_SIZE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FSubsurfaceShader() = default;
|
|
|
|
|
FSubsurfaceShader(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
|
|
|
|
|
: FGlobalShader(Initializer)
|
|
|
|
|
{}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Encapsulates the post processing subsurface scattering pixel shader.
|
|
|
|
|
class FSubsurfaceVisualizePS : public FSubsurfaceShader
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
DECLARE_GLOBAL_SHADER(FSubsurfaceVisualizePS);
|
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FSubsurfaceVisualizePS, FSubsurfaceShader);
|
|
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
SHADER_PARAMETER_STRUCT_INCLUDE(FSubsurfaceParameters, Subsurface)
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput0)
|
|
|
|
|
SHADER_PARAMETER_TEXTURE(Texture2D, MiniFontTexture)
|
|
|
|
|
RENDER_TARGET_BINDING_SLOTS()
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_GLOBAL_SHADER(FSubsurfaceVisualizePS, "/Engine/Private/PostProcessSubsurface.usf", "VisualizePS", SF_Pixel);
|
|
|
|
|
|
|
|
|
|
// Encapsulates the post processing subsurface scattering pixel shader.
|
|
|
|
|
class FSubsurfaceSetupPS : public FSubsurfaceShader
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
DECLARE_GLOBAL_SHADER(FSubsurfaceSetupPS);
|
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FSubsurfaceSetupPS, FSubsurfaceShader)
|
|
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
SHADER_PARAMETER_STRUCT_INCLUDE(FSubsurfaceParameters, Subsurface)
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput0)
|
|
|
|
|
RENDER_TARGET_BINDING_SLOTS()
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
|
|
|
|
|
|
class FDimensionHalfRes : SHADER_PERMUTATION_BOOL("SUBSURFACE_HALF_RES");
|
|
|
|
|
class FDimensionCheckerboard : SHADER_PERMUTATION_BOOL("SUBSURFACE_PROFILE_CHECKERBOARD");
|
|
|
|
|
using FPermutationDomain = TShaderPermutationDomain<FDimensionHalfRes, FDimensionCheckerboard>;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_GLOBAL_SHADER(FSubsurfaceSetupPS, "/Engine/Private/PostProcessSubsurface.usf", "SetupPS", SF_Pixel);
|
|
|
|
|
|
|
|
|
|
// Shader for the SSS separable blur.
|
|
|
|
|
class FSubsurfacePS : public FSubsurfaceShader
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
DECLARE_GLOBAL_SHADER(FSubsurfacePS);
|
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FSubsurfacePS, FSubsurfaceShader);
|
|
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
SHADER_PARAMETER_STRUCT_INCLUDE(FSubsurfaceParameters, Subsurface)
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput0)
|
|
|
|
|
RENDER_TARGET_BINDING_SLOTS()
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT()
|
|
|
|
|
|
|
|
|
|
// Direction of the 1D separable filter.
|
|
|
|
|
enum class EDirection : uint32
|
|
|
|
|
{
|
|
|
|
|
Horizontal,
|
|
|
|
|
Vertical,
|
|
|
|
|
MAX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Controls the quality (number of samples) of the blur kernel.
|
|
|
|
|
enum class EQuality : uint32
|
|
|
|
|
{
|
|
|
|
|
Low,
|
|
|
|
|
Medium,
|
|
|
|
|
High,
|
|
|
|
|
MAX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class FDimensionDirection : SHADER_PERMUTATION_ENUM_CLASS("SUBSURFACE_DIRECTION", EDirection);
|
|
|
|
|
class FDimensionQuality : SHADER_PERMUTATION_ENUM_CLASS("SUBSURFACE_QUALITY", EQuality);
|
|
|
|
|
class FDimensionManuallyClampUV : SHADER_PERMUTATION_BOOL("SUBSURFACE_MANUALLY_CLAMP_UV");
|
|
|
|
|
using FPermutationDomain = TShaderPermutationDomain<FDimensionDirection, FDimensionQuality, FDimensionManuallyClampUV>;
|
|
|
|
|
|
|
|
|
|
// Returns the sampler state based on the requested SSS filter CVar setting.
|
|
|
|
|
static FSamplerStateRHIParamRef GetSamplerState()
|
|
|
|
|
{
|
|
|
|
|
if (CVarSSSFilter.GetValueOnRenderThread())
|
|
|
|
|
{
|
|
|
|
|
return TStaticSamplerState<SF_Bilinear, AM_Border, AM_Border, AM_Border>::GetRHI();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return TStaticSamplerState<SF_Point, AM_Border, AM_Border, AM_Border>::GetRHI();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Returns the SSS quality level requested by the SSS SampleSet CVar setting.
|
|
|
|
|
static EQuality GetQuality()
|
|
|
|
|
{
|
|
|
|
|
return static_cast<FSubsurfacePS::EQuality>(
|
|
|
|
|
FMath::Clamp(
|
|
|
|
|
CVarSSSSampleSet.GetValueOnRenderThread(),
|
|
|
|
|
static_cast<int32>(FSubsurfacePS::EQuality::Low),
|
|
|
|
|
static_cast<int32>(FSubsurfacePS::EQuality::High)));
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_GLOBAL_SHADER(FSubsurfacePS, "/Engine/Private/PostProcessSubsurface.usf", "MainPS", SF_Pixel);
|
|
|
|
|
|
|
|
|
|
// Encapsulates the post processing subsurface recombine pixel shader.
|
|
|
|
|
class FSubsurfaceRecombinePS : public FSubsurfaceShader
|
|
|
|
|
{
|
|
|
|
|
DECLARE_GLOBAL_SHADER(FSubsurfaceRecombinePS);
|
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FSubsurfaceRecombinePS, FSubsurfaceShader);
|
|
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
SHADER_PARAMETER_STRUCT_INCLUDE(FSubsurfaceParameters, Subsurface)
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput0)
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput1)
|
|
|
|
|
RENDER_TARGET_BINDING_SLOTS()
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT();
|
|
|
|
|
|
|
|
|
|
// Controls the quality of lighting reconstruction.
|
|
|
|
|
enum class EQuality : uint32
|
|
|
|
|
{
|
|
|
|
|
Low,
|
|
|
|
|
High,
|
|
|
|
|
MAX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class FDimensionMode : SHADER_PERMUTATION_ENUM_CLASS("SUBSURFACE_RECOMBINE_MODE", ESubsurfaceMode);
|
|
|
|
|
class FDimensionQuality : SHADER_PERMUTATION_ENUM_CLASS("SUBSURFACE_RECOMBINE_QUALITY", EQuality);
|
|
|
|
|
class FDimensionCheckerboard : SHADER_PERMUTATION_BOOL("SUBSURFACE_PROFILE_CHECKERBOARD");
|
|
|
|
|
using FPermutationDomain = TShaderPermutationDomain<FDimensionMode, FDimensionQuality, FDimensionCheckerboard>;
|
|
|
|
|
|
|
|
|
|
// Returns the Recombine quality level requested by the SSS Quality CVar setting.
|
|
|
|
|
static EQuality GetQuality(const FViewInfo& View)
|
|
|
|
|
{
|
|
|
|
|
const uint32 QualityCVar = CVarSSSQuality.GetValueOnRenderThread();
|
|
|
|
|
|
|
|
|
|
// Quality is forced to high when the CVar is set to 'auto' and TAA is NOT enabled.
|
|
|
|
|
// TAA improves quality through temporal filtering, making it less necessary to use
|
|
|
|
|
// high quality mode.
|
|
|
|
|
const bool bUseHighQuality = (QualityCVar == -1 && View.AntiAliasingMethod != AAM_TemporalAA);
|
|
|
|
|
|
|
|
|
|
if (QualityCVar == 1 || bUseHighQuality)
|
|
|
|
|
{
|
|
|
|
|
return EQuality::High;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
return EQuality::Low;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_GLOBAL_SHADER(FSubsurfaceRecombinePS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceRecombinePS", SF_Pixel);
|
|
|
|
|
|
|
|
|
|
// Encapsulates a simple copy pixel shader.
|
|
|
|
|
class FSubsurfaceViewportCopyPS : public FSubsurfaceShader
|
|
|
|
|
{
|
|
|
|
|
DECLARE_GLOBAL_SHADER(FSubsurfaceViewportCopyPS);
|
|
|
|
|
SHADER_USE_PARAMETER_STRUCT(FSubsurfaceViewportCopyPS, FSubsurfaceShader);
|
|
|
|
|
|
|
|
|
|
BEGIN_SHADER_PARAMETER_STRUCT(FParameters, )
|
|
|
|
|
SHADER_PARAMETER_STRUCT(FScreenPassInput, SubsurfaceInput0)
|
|
|
|
|
RENDER_TARGET_BINDING_SLOTS()
|
|
|
|
|
END_SHADER_PARAMETER_STRUCT();
|
|
|
|
|
|
|
|
|
|
static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters)
|
|
|
|
|
{
|
|
|
|
|
return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM4);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_GLOBAL_SHADER(FSubsurfaceViewportCopyPS, "/Engine/Private/PostProcessSubsurface.usf", "SubsurfaceViewportCopyPS", SF_Pixel);
|
|
|
|
|
|
|
|
|
|
bool IsSubsurfaceEnabled()
|
|
|
|
|
{
|
|
|
|
|
const bool bEnabled = CVarSubsurfaceScattering.GetValueOnAnyThread() != 0;
|
|
|
|
|
const bool bHasScale = CVarSSSScale.GetValueOnAnyThread() > 0.0f;
|
|
|
|
|
return (bEnabled && bHasScale);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsSubsurfaceRequiredForView(const FViewInfo& View)
|
|
|
|
|
{
|
|
|
|
|
const bool bSimpleDynamicLighting = IsAnyForwardShadingEnabled(View.GetShaderPlatform());
|
|
|
|
|
const bool bSubsurfaceEnabled = IsSubsurfaceEnabled();
|
|
|
|
|
const bool bViewHasSubsurfaceMaterials = ((View.ShadingModelMaskInView & GetUseSubsurfaceProfileShadingModelMask()) != 0);
|
|
|
|
|
return (bSubsurfaceEnabled && bViewHasSubsurfaceMaterials && !bSimpleDynamicLighting);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool IsSubsurfaceCheckerboardFormat(EPixelFormat SceneColorFormat)
|
|
|
|
|
{
|
|
|
|
|
int CVarValue = CVarSSSCheckerboard.GetValueOnRenderThread();
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
if (CVarValue == 0)
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2019-04-01 19:37:48 -04:00
|
|
|
else if (CVarValue == 1)
|
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3091903)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
2016-08-17 11:38:13 -04:00
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if (CVarValue == 2)
|
|
|
|
|
{
|
|
|
|
|
switch (SceneColorFormat)
|
|
|
|
|
{
|
|
|
|
|
case PF_A32B32G32R32F:
|
|
|
|
|
case PF_FloatRGBA:
|
|
|
|
|
return false;
|
|
|
|
|
default:
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FRDGTextureRef ComputeSubsurface(
|
|
|
|
|
FRDGBuilder& GraphBuilder,
|
|
|
|
|
FScreenPassContextRef Context,
|
|
|
|
|
FRDGTextureRef SceneTexture)
|
2014-10-15 16:18:43 -04:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
check(Context);
|
|
|
|
|
check(SceneTexture);
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
const FPooledRenderTargetDesc& SceneTextureDesc = SceneTexture->Desc;
|
|
|
|
|
const ESubsurfaceMode SubsurfaceMode = GetSubsurfaceModeForView(Context->View);
|
|
|
|
|
const bool bHalfRes = (SubsurfaceMode == ESubsurfaceMode::HalfRes);
|
|
|
|
|
|
|
|
|
|
// Viewport rect mapped onto the scene texture. Not necessarily a full screen mapping (e.g. VR).
|
|
|
|
|
const FIntRect ViewportRectFinal = Context->ViewportRect;
|
|
|
|
|
|
|
|
|
|
// Viewport for intermediate passes, which may be half resolution depending on the pass settings.
|
|
|
|
|
const FIntRect ViewportRectIntermediate = bHalfRes ? GetHalfRect(ViewportRectFinal) : ViewportRectFinal;
|
|
|
|
|
|
|
|
|
|
// Size of the final scene texture.
|
|
|
|
|
const FIntPoint TextureSizeFinal = SceneTextureDesc.Extent;
|
|
|
|
|
|
|
|
|
|
// Size of intermediate textures, which may be half resolution depending on pass settings.
|
|
|
|
|
const FIntPoint TextureSizeIntermediate = bHalfRes ? GetHalfSize(TextureSizeFinal) : TextureSizeFinal;
|
|
|
|
|
|
|
|
|
|
// Description shared by all intermediate pass textures.
|
|
|
|
|
const FRDGTextureDesc TextureDescIntermediate = FRDGTextureDesc::Create2DDesc(
|
|
|
|
|
TextureSizeIntermediate,
|
|
|
|
|
PF_FloatRGBA,
|
|
|
|
|
FClearValueBinding(),
|
|
|
|
|
TexCreate_None,
|
|
|
|
|
TexCreate_RenderTargetable | TexCreate_ShaderResource,
|
|
|
|
|
false);
|
|
|
|
|
|
|
|
|
|
// Common subsurface parameters shared by all passes.
|
|
|
|
|
const FSubsurfaceParameters SubsurfaceCommonParameters = GetSubsurfaceCommonParameters(GraphBuilder.RHICmdList, Context);
|
|
|
|
|
|
|
|
|
|
// Texture handles used by subsurface passes.
|
|
|
|
|
FRDGTextureRef SetupTexture = SceneTexture;
|
|
|
|
|
FRDGTextureRef SubsurfaceTextureX = nullptr;
|
|
|
|
|
FRDGTextureRef SubsurfaceTextureY = nullptr;
|
|
|
|
|
FRDGTextureRef RecombineTexture = nullptr;
|
|
|
|
|
|
|
|
|
|
// Sampler handles used by subsurface passes.
|
|
|
|
|
FSamplerStateRHIParamRef PointClampSampler = TStaticSamplerState<SF_Point, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
|
|
|
|
|
FSamplerStateRHIParamRef BilinearBorderState = TStaticSamplerState<SF_Bilinear, AM_Border, AM_Border, AM_Border>::GetRHI();
|
|
|
|
|
|
|
|
|
|
// Whether to use checkerboard rendering for subsurface passes (predicated on CVar and format).
|
|
|
|
|
const bool bCheckerboard = IsSubsurfaceCheckerboardFormat(SceneTextureDesc.Format);
|
|
|
|
|
|
|
|
|
|
// When in bypass mode the setup and convolution passes are skipped, but lighting
|
|
|
|
|
// reconstruction is still performed in the recombine pass.
|
|
|
|
|
if (SubsurfaceMode != ESubsurfaceMode::Bypass)
|
2014-10-15 16:18:43 -04:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
SetupTexture = GraphBuilder.CreateTexture(TextureDescIntermediate, TEXT("SubsurfaceSetupTexture"));
|
|
|
|
|
|
|
|
|
|
// Setup pass outputs the diffuse scene color and depth in preparation for the scatter passes.
|
2014-10-15 16:18:43 -04:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
FSubsurfaceSetupPS::FParameters* PassParameters = GraphBuilder.AllocParameters<FSubsurfaceSetupPS::FParameters>();
|
|
|
|
|
PassParameters->Subsurface = SubsurfaceCommonParameters;
|
|
|
|
|
PassParameters->RenderTargets[0] = FRenderTargetBinding(SetupTexture, ERenderTargetLoadAction::ENoAction, ERenderTargetStoreAction::EStore);
|
|
|
|
|
PassParameters->SubsurfaceInput0 = GetScreenPassInputParameters(SceneTexture, PointClampSampler);
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
// Reading from the final target; writing to intermediate target.
|
|
|
|
|
const FIntRect ViewportRect = ViewportRectIntermediate;
|
|
|
|
|
const FIntRect TextureRect = ViewportRectFinal;
|
|
|
|
|
const FIntPoint TextureSize = TextureSizeFinal;
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FSubsurfaceSetupPS::FPermutationDomain PixelShaderPermutationVector;
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfaceSetupPS::FDimensionHalfRes>(bHalfRes);
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfaceSetupPS::FDimensionCheckerboard>(bCheckerboard);
|
|
|
|
|
TShaderMapRef<FSubsurfaceSetupPS> PixelShader(Context->ShaderMap, PixelShaderPermutationVector);
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
AddDrawScreenPass(GraphBuilder, RDG_EVENT_NAME("SubsurfaceSetup"), Context, ViewportRect, TextureRect, TextureSize, *PixelShader, PassParameters);
|
2014-10-15 16:18:43 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
SubsurfaceTextureX = GraphBuilder.CreateTexture(TextureDescIntermediate, TEXT("SubsurfaceTextureX"));
|
|
|
|
|
SubsurfaceTextureY = GraphBuilder.CreateTexture(TextureDescIntermediate, TEXT("SubsurfaceTextureY"));
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FSamplerStateRHIParamRef SubsurfaceSamplerState = FSubsurfacePS::GetSamplerState();
|
|
|
|
|
const FSubsurfacePS::EQuality SubsurfaceQuality = FSubsurfacePS::GetQuality();
|
|
|
|
|
|
2019-04-02 06:32:38 -04:00
|
|
|
static const FRDGEventName SubsurfacePassNameByDirection[] =
|
2019-04-01 19:37:48 -04:00
|
|
|
{
|
2019-04-02 06:32:38 -04:00
|
|
|
RDG_EVENT_NAME("SubsurfaceX"),
|
|
|
|
|
RDG_EVENT_NAME("SubsurfaceY")
|
2019-04-01 19:37:48 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
FRDGTextureRef SubsurfacePassOutputByDirection[] =
|
|
|
|
|
{
|
|
|
|
|
SubsurfaceTextureX,
|
|
|
|
|
SubsurfaceTextureY
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
FRDGTextureRef SubsurfacePassInputByDirection[] =
|
|
|
|
|
{
|
|
|
|
|
SetupTexture,
|
|
|
|
|
SubsurfaceTextureX
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// Horizontal / Vertical scattering passes using a separable filter.
|
|
|
|
|
for (uint32 DirectionIndex = 0; DirectionIndex < static_cast<uint32>(FSubsurfacePS::EDirection::MAX); ++DirectionIndex)
|
|
|
|
|
{
|
|
|
|
|
const auto Direction = static_cast<FSubsurfacePS::EDirection>(DirectionIndex);
|
|
|
|
|
|
|
|
|
|
FSubsurfacePS::FParameters* PassParameters = GraphBuilder.AllocParameters<FSubsurfacePS::FParameters>();
|
|
|
|
|
PassParameters->Subsurface = SubsurfaceCommonParameters;
|
|
|
|
|
PassParameters->RenderTargets[0] = FRenderTargetBinding(SubsurfacePassOutputByDirection[DirectionIndex], ERenderTargetLoadAction::ENoAction, ERenderTargetStoreAction::EStore);
|
|
|
|
|
PassParameters->SubsurfaceInput0 = GetScreenPassInputParameters(SubsurfacePassInputByDirection[DirectionIndex], SubsurfaceSamplerState);
|
|
|
|
|
|
|
|
|
|
// Read / Write between intermediate targets.
|
|
|
|
|
const FIntRect ViewportRect = ViewportRectIntermediate;
|
|
|
|
|
const FIntRect TextureRect = ViewportRectIntermediate;
|
|
|
|
|
const FIntPoint TextureSize = TextureSizeIntermediate;
|
|
|
|
|
|
|
|
|
|
// If we are sampling from a subset of the texture (e.g. stereo rendering), we have to manually clamp UVs.
|
|
|
|
|
const bool bManuallyClampUV = TextureSize != TextureRect.Size();
|
|
|
|
|
|
|
|
|
|
FSubsurfacePS::FPermutationDomain PixelShaderPermutationVector;
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfacePS::FDimensionDirection>(Direction);
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfacePS::FDimensionQuality>(SubsurfaceQuality);
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfacePS::FDimensionManuallyClampUV>(bManuallyClampUV);
|
|
|
|
|
TShaderMapRef<FSubsurfacePS> PixelShader(Context->ShaderMap, PixelShaderPermutationVector);
|
|
|
|
|
|
|
|
|
|
AddDrawScreenPass(GraphBuilder, FRDGEventName(SubsurfacePassNameByDirection[DirectionIndex]), Context, ViewportRect, TextureRect, TextureSize, *PixelShader, PassParameters);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RecombineTexture = GraphBuilder.CreateTexture(SceneTextureDesc, TEXT("SubsurfaceRecombine"));
|
|
|
|
|
|
|
|
|
|
// If multiple views exist (e.g. VR) we need to copy all other viewports from the scene texture
|
|
|
|
|
// to the recombine target so we don't lose them.
|
|
|
|
|
if (Context->ViewFamily.Views.Num())
|
|
|
|
|
{
|
|
|
|
|
FSubsurfaceViewportCopyPS::FParameters* PassParameters = GraphBuilder.AllocParameters<FSubsurfaceViewportCopyPS::FParameters>();
|
|
|
|
|
PassParameters->RenderTargets[0] = FRenderTargetBinding(RecombineTexture, ERenderTargetLoadAction::ENoAction, ERenderTargetStoreAction::EStore);
|
|
|
|
|
PassParameters->SubsurfaceInput0 = GetScreenPassInputParameters(SceneTexture, PointClampSampler);
|
|
|
|
|
|
|
|
|
|
const FIntPoint TextureSize = SceneTextureDesc.Extent;
|
|
|
|
|
|
|
|
|
|
TShaderMapRef<FSubsurfaceViewportCopyPS> PixelShader(Context->ShaderMap);
|
|
|
|
|
|
|
|
|
|
GraphBuilder.AddPass(
|
|
|
|
|
RDG_EVENT_NAME("SubsurfaceViewportCopy"),
|
|
|
|
|
PassParameters,
|
|
|
|
|
ERenderGraphPassFlags::None,
|
|
|
|
|
[Context, PixelShader, TextureSize, PassParameters](FRHICommandListImmediate& RHICmdList)
|
|
|
|
|
{
|
|
|
|
|
const FSceneViewFamily& ViewFamily = Context->ViewFamily;
|
|
|
|
|
|
|
|
|
|
for (uint32 ViewId = 0, ViewCount = ViewFamily.Views.Num(); ViewId < ViewCount; ++ViewId)
|
2014-11-19 17:01:23 -05:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
const FViewInfo* LocalView = static_cast<const FViewInfo*>(ViewFamily.Views[ViewId]);
|
|
|
|
|
|
|
|
|
|
// Skip the view we are currently processing.
|
|
|
|
|
if (LocalView != &Context->View)
|
|
|
|
|
{
|
|
|
|
|
const FIntRect Rect = LocalView->ViewRect;
|
|
|
|
|
|
|
|
|
|
DrawScreenPass(RHICmdList, Context, Rect, Rect, TextureSize, *PixelShader, *PassParameters);
|
|
|
|
|
}
|
2014-11-19 17:01:23 -05:00
|
|
|
}
|
2019-04-01 19:37:48 -04:00
|
|
|
});
|
|
|
|
|
}
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
// Recombines scattering result with scene color.
|
|
|
|
|
{
|
|
|
|
|
FSubsurfaceRecombinePS::FParameters* PassParameters = GraphBuilder.AllocParameters<FSubsurfaceRecombinePS::FParameters>();
|
|
|
|
|
PassParameters->Subsurface = SubsurfaceCommonParameters;
|
|
|
|
|
PassParameters->RenderTargets[0] = FRenderTargetBinding(RecombineTexture, ERenderTargetLoadAction::ELoad, ERenderTargetStoreAction::EStore);
|
|
|
|
|
PassParameters->SubsurfaceInput0 = GetScreenPassInputParameters(SceneTexture, BilinearBorderState);
|
2014-10-15 16:18:43 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
// Scattering output target is only used when scattering is enabled.
|
|
|
|
|
if (SubsurfaceMode != ESubsurfaceMode::Bypass)
|
|
|
|
|
{
|
|
|
|
|
PassParameters->SubsurfaceInput1 = GetScreenPassInputParameters(SubsurfaceTextureY, BilinearBorderState);
|
2014-10-15 16:18:43 -04:00
|
|
|
}
|
2019-04-01 19:37:48 -04:00
|
|
|
|
|
|
|
|
// Read from intermediate target; write to final target.
|
|
|
|
|
const FIntRect ViewportRect = ViewportRectFinal;
|
|
|
|
|
const FIntRect TextureRect = ViewportRectIntermediate;
|
|
|
|
|
const FIntPoint TextureSize = TextureSizeIntermediate;
|
|
|
|
|
|
|
|
|
|
const FSubsurfaceRecombinePS::EQuality RecombineQuality = FSubsurfaceRecombinePS::GetQuality(Context->View);
|
|
|
|
|
|
|
|
|
|
FSubsurfaceRecombinePS::FPermutationDomain PixelShaderPermutationVector;
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfaceRecombinePS::FDimensionMode>(SubsurfaceMode);
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfaceRecombinePS::FDimensionQuality>(RecombineQuality);
|
|
|
|
|
PixelShaderPermutationVector.Set<FSubsurfaceRecombinePS::FDimensionCheckerboard>(bCheckerboard);
|
|
|
|
|
TShaderMapRef<FSubsurfaceRecombinePS> PixelShader(Context->ShaderMap, PixelShaderPermutationVector);
|
|
|
|
|
|
|
|
|
|
AddDrawScreenPass(GraphBuilder, RDG_EVENT_NAME("SubsurfaceRecombine"), Context, ViewportRect, TextureRect, TextureSize, *PixelShader, PassParameters);
|
2014-10-15 16:18:43 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
return RecombineTexture;
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FRDGTextureRef VisualizeSubsurface(
|
|
|
|
|
FRDGBuilder& GraphBuilder,
|
|
|
|
|
FScreenPassContextRef Context,
|
|
|
|
|
FRDGTextureRef SceneTexture)
|
|
|
|
|
{
|
|
|
|
|
check(Context);
|
|
|
|
|
check(SceneTexture);
|
|
|
|
|
|
|
|
|
|
FSamplerStateRHIParamRef PointClampState = TStaticSamplerState<SF_Point, AM_Clamp, AM_Clamp, AM_Clamp>::GetRHI();
|
|
|
|
|
|
|
|
|
|
FRDGTextureRef VisualizeTexture = GraphBuilder.CreateTexture(SceneTexture->Desc, TEXT("SubsurfaceVisualize"));
|
|
|
|
|
|
|
|
|
|
FSubsurfaceVisualizePS::FParameters* PassParameters = GraphBuilder.AllocParameters<FSubsurfaceVisualizePS::FParameters>();
|
|
|
|
|
PassParameters->Subsurface = GetSubsurfaceCommonParameters(GraphBuilder.RHICmdList, Context);
|
|
|
|
|
PassParameters->RenderTargets[0] = FRenderTargetBinding(VisualizeTexture, ERenderTargetLoadAction::EClear, ERenderTargetStoreAction::EStore);
|
|
|
|
|
PassParameters->SubsurfaceInput0 = GetScreenPassInputParameters(SceneTexture, PointClampState);
|
|
|
|
|
PassParameters->MiniFontTexture = GetMiniFontTexture();
|
|
|
|
|
|
|
|
|
|
GraphBuilder.AddPass(
|
|
|
|
|
RDG_EVENT_NAME("SubsurfaceVisualize"),
|
|
|
|
|
PassParameters,
|
|
|
|
|
ERenderGraphPassFlags::None,
|
|
|
|
|
[Context, SceneTexture, VisualizeTexture, PassParameters](FRHICommandListImmediate& RHICmdList)
|
|
|
|
|
{
|
|
|
|
|
const FIntRect ViewportRect = Context->ViewportRect;
|
|
|
|
|
const FIntRect TextureRect = ViewportRect;
|
|
|
|
|
const FIntPoint TextureSize = SceneTexture->Desc.Extent;
|
|
|
|
|
|
|
|
|
|
TShaderMapRef<FSubsurfaceVisualizePS> PixelShader(Context->ShaderMap);
|
|
|
|
|
|
|
|
|
|
DrawScreenPass(RHICmdList, Context, ViewportRect, TextureRect, TextureSize, *PixelShader, *PassParameters);
|
|
|
|
|
|
|
|
|
|
// Draw debug text
|
|
|
|
|
{
|
|
|
|
|
const FSceneViewFamily& ViewFamily = Context->ViewFamily;
|
|
|
|
|
FRenderTargetTemp TempRenderTarget(static_cast<FTexture2DRHIParamRef>(VisualizeTexture->GetRHITexture()), TextureSize);
|
|
|
|
|
FCanvas Canvas(&TempRenderTarget, nullptr, ViewFamily.CurrentRealTime, ViewFamily.CurrentWorldTime, ViewFamily.DeltaWorldTime, Context->View.GetFeatureLevel());
|
|
|
|
|
|
|
|
|
|
float X = 30;
|
|
|
|
|
float Y = 28;
|
|
|
|
|
const float YStep = 14;
|
|
|
|
|
|
|
|
|
|
FString Line = FString::Printf(TEXT("Visualize Screen Space Subsurface Scattering"));
|
|
|
|
|
Canvas.DrawShadowedString(X, Y += YStep, *Line, GetStatsFont(), FLinearColor(1, 1, 1));
|
|
|
|
|
|
|
|
|
|
Y += YStep;
|
|
|
|
|
|
|
|
|
|
uint32 Index = 0;
|
|
|
|
|
while (GSubsurfaceProfileTextureObject.GetEntryString(Index++, Line))
|
|
|
|
|
{
|
|
|
|
|
Canvas.DrawShadowedString(X, Y += YStep, *Line, GetStatsFont(), FLinearColor(1, 1, 1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const bool bFlush = false;
|
|
|
|
|
const bool bInsideRenderPass = true;
|
|
|
|
|
Canvas.Flush_RenderThread(RHICmdList, bFlush, bInsideRenderPass);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return VisualizeTexture;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FSubsurfaceVisualizeCompositePass::FSubsurfaceVisualizeCompositePass(FRHICommandList& RHICmdList)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2014-10-15 16:18:43 -04:00
|
|
|
// we need the GBuffer, we release it Process()
|
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3196521)
#lockdown Nick.Penwarden
Change 3196499 on 2016/11/14 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3196473
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3196498 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3195674 on 2016/11/11 by Laurent.Delayen
Fix for twinblast ult mesh not disappearing at lower lods. (curves not getting properly update with URO)
Fixes https://jira.it.epicgames.net/browse/OR-31509
#rb lina.halper
#tests twinblast ult multiPIE
Change 3195245 on 2016/11/11 by Dan.Hertzka
Card crafting progress
- Device responds to UI actions appropriately and infinitely
- Backing out of device screen goes to card details first (i.e. doesn't take you all the way out of the screen)
- CraftingDevice and CraftingDeviceNode now have a few natively-controlled timelines for reversible states
- Non-reversible timelines all now play from start (so they work more than once)
Engine-side:
- Added an overload to UTimelineComponent::SetOnTimelineFinishedFunc() that takes a native (non-dynamic) delegate
- Added a way to set the owning player of a UUserWidget via a local PlayerController (since ULocalPlayer isn't a BP type) - used to establish the owner of a WidgetComponent's widget
#rb none
#tests PIE crafting
Change 3194616 on 2016/11/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3194604
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3194615 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3193875 on 2016/11/10 by Andrew.Grant
Removed GameThreadWaitForTask fatal timeout if running in editor (assumption is that some operations can cause significant blocks, and that's ok..
#jira UE-38496
#tests compiled
#rb none
#c0dereview Marcus.Wassmer
Change 3193368 on 2016/11/10 by Mieszko.Zielinski
Fixed a bug in UCharacterMovementComponent::OnMovementModeChanged making UPathFollowingComponent::OnStartedFalling being sent too late #UE4
#rb Lukasz.Furman
#test golden path
Change 3193280 on 2016/11/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3193232
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3193279 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3192376 on 2016/11/09 by Laurent.Delayen
RootMotion Sources: removed second check, as that was a perfectly valid case. Fixes https://jira.it.epicgames.net/browse/OR-31490
#rb none
#tests riftmage blackhold multiPIE
Change 3192243 on 2016/11/09 by Laurent.Delayen
UAbilityTask_ApplyRootMotionMoveToActorForce replicates TimeMappingCurve to potentially fix https://jira.it.epicgames.net/browse/OR-31266
#rb none
#tests Jump pads on Sovereign2 multiPIE
Change 3191985 on 2016/11/09 by Laurent.Delayen
Additional debug info for https://jira.it.epicgames.net/browse/OR-31300
#rb none
#tests compiles
Change 3191565 on 2016/11/09 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3191371
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3191564 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3190702 on 2016/11/08 by David.Ratti
Fix PIE autologgin mcp problem
#rb JoshM
#tests PIE autologgin
Change 3190591 on 2016/11/08 by Mieszko.Zielinski
Added a way to RecastNavMesh to retrieve navigation links in a given tile #UE4
#rb Lukasz.Furman
#test golden path
Change 3190363 on 2016/11/08 by Frank.Gigliotti
Root motion velocity clamping and bug fixes;
* Added option to clamp velocity when ending MoveToActorForce, MoveToForce, and RadialForce root motions.
* Disabled partial ticking on the FRootMotionSource_ConstantForce when applying the finishing velocity or clamping velocity on root motion ability tasks. This ensures the desired velocity is set correctly.
* Added AbilityTask_ApplyRootMotion_Base as a base class for all root motion ability tasks.
#RB David.Ratti, Zak.Middleton
#c0dereview Zak.Middleton
#Tests PIE - Multiple heroes with root motion abilities
Change 3190344 on 2016/11/08 by Laurent.Delayen
RootMotionSources: Tracking down https://jira.it.epicgames.net/browse/OR-31266
Testing for 'Matches' rule in more places, to track down where it breaks. Added more info. Switched check to ensure, so it doesn't prevent playtests.
Minor tweaks:
- Test for ID before TimeStamp
- Changed auto to proper type.
- Trim RootMotionIDMappings of outdated mappings since we can iterate over that array quite a bit.
#rb none
#tests multiPIE
Change 3190217 on 2016/11/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3190009
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3190216 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188560 on 2016/11/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3187796
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3188499 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188012 on 2016/11/05 by Andrew.Grant
Merging using ROBO://Orion/Main->//Orion/Dev-General
#rb #tests na
Change 3187818 on 2016/11/04 by Michael.Noland
Editor: Refactored the game instance PIE creation hooks, allowing them to pass an error message back that will be displayed to the user explaining why PIE was aborted/failed to start
- Fixed a potential crash trying to tear down a null world when UGameInstance::StartPlayInEditorGameInstance fails
Upgrade notes:
- UGameInstance::InitializePIE overrides should now override InitializeForPlayInEditor instead
- UGameInstance::StartPIEGameInstance overrides should now override StartPlayInEditorGameInstance instead
- These methods return a FGameInstancePIEResult which can be created via FGameInstancePIEResult::Success() or FGameInstancePIEResult::Failure(), and take a parameter struct to make it easier to send additional information in the future without breaking the signature again
#rb matt.kuhlenscmidt
#tests Tested various PIE configurations in Paragon
Change 3187756 on 2016/11/04 by Michael.Noland
Editor: Added support for games to respond to Play in Editor setting changes (by properly calling PostEditChange when the PIE/SIE menu options are picked/toggled)
#tests Tested in Paragon by binding to FCoreUObjectDelegates::OnObjectPropertyChanged
#rb ben.ziegler
Change 3187258 on 2016/11/04 by Dan.Hertzka
- UTextBlock::SetText is now virtual
- OrionTextBlock has a property ("All Caps") that, if true, will always convert all text it's given to ALL CAPS
#c0dereview Sean.Smith, Philip.Buuck, Marcel.Swanepoel, Bryan.Rathman
#rb none
#tests PIE
Change 3187157 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Case fix for staged files
#rb Ben.Marsh
#tests preflighted
#R0B0MERGE-SOURCE: CL 3187153 in //Orion/Release-34/... via CL 3187154 via CL 3187155 via CL 3187156
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186870 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3186846
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3186855 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186243 on 2016/11/03 by Michael.Noland
Engine: Fixed reporting of ScreenPct when the cvar is set directly rather than via game user settings
- Also fixed a place that was using ScreenPct as an integer instead of a float in the OSVR plugin
#jira OR-23184
#tests Tested by setting r.screenpercentage directly to a different value and inspecting the chart results
#rb ben.ziegler
Change 3185134 on 2016/11/03 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3185065
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3185131 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3183689 on 2016/11/02 by Aaron.McLeran
OR-31091 Implementing 3175639 in Dev-General
#rb zak.middleton
#tests unplug headphones and observe no log spam or other issues
Change 3183292 on 2016/11/02 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3182926
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3183084 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3182323 on 2016/11/01 by Dan.Hertzka
Fix crash in sequencer when opening a widget BP with the sequencer tab closed (failed to null check)
#c0dereview Nick.Darnell
#rb Stephan.Jiang
#tests none
Change 3182295 on 2016/11/01 by Daniel.Lamb
Fixed up routing BeginDestroy.
#rb Andrew.Grant
#jira OR-31043
#test Paragon win64 -game
Change 3181975 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181895 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181892 on 2016/11/01 by Michael.Trepka
Copy of CL 3162466
By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking
#rb Mark.Satterthwaite
#jira UE-37088
#tests Cooked MacNoEditor data on Windows
Change 3181624 on 2016/11/01 by David.Ratti
Pass attribute value by reference through SetNumericValue_Internal so that the final/clamped value is what is broadcasted to attribute change delegates
#rb none
#tests golden path w/ extra logging to verify final value is what is broadcasted
#c0dereview Billy.Bramer, Fred.Kimberley
Change 3181574 on 2016/11/01 by Jason.Bestimt
#ORION_DG - Fixing up R0B0MERGE issue
#RB:none
#Tests:none
Change 3180859 on 2016/10/31 by Brian.Karis
Removed SSAO from hair
Change 3180320 on 2016/10/31 by Daniel.Lamb
Added support for rebuild lighting commandlet to read maps to rebuild from ini file.
#rb Andrew.Grant
#test Paragon rebuild lighting
#jira OR-30841
Change 3180227 on 2016/10/31 by Laurent.Delayen
Disabled Warning to fix https://jira.it.epicgames.net/browse/OR-30965
Will be turned into a warning message in the BP editor.
#c0dereview benn.gallagher
#rb none
#tests none
Change 3179903 on 2016/10/31 by jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3179886
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3179895 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3177903 on 2016/10/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3177869
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3177901 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3175548 on 2016/10/26 by Michael.Noland
GameplayAbilities: Change it so that delegates registered via RegisterGameplayAttributeEvent are still called on the client when there is no aggregator entry
#rb david.ratti
#c0dereview billy.bramer
#tests Tested in multiplayer PIE client with a new minion callback and golden path in -game
Change 3175544 on 2016/10/26 by Bart.Hawthorne
Draft in replays improvements:
- Marker added to timeline bar that shows when the level change happens
- Added "Skip Draft" button when loading a replay which will bypass the draft
- Only PvP matches will record replays
- Added "Exit Replay" button to hamburger menu while in draft
- No longer load hero data before viewing a replay if not skipping draft
- Enable replay recording in PvP
#rb john.pollard
#c0dereview paul.moore
#tests nomcp golden path up to spawnpoint, created and loaded several replays
Change 3175533 on 2016/10/26 by Michael.Noland
Fix for FMallocBinned::GetAllocationSize() for aligned allocations.
#jira UE-37249
#jira UE-37243
#rb robert.manuszewski
#lockdown robert.manuszewski
[reimplementing CL# 3165739 from Release-4.13]
#tests Compiled
Change 3175311 on 2016/10/26 by Daniel.Lamb
Added support for safe zone change.
Messed up files in last checkin
#test Ps4 paragon
#jira OR-30506
#rb Matt.Kuhlenschmidt
Change 3175298 on 2016/10/26 by Daniel.Lamb
Added support for updating safe area
#rb Matt.Kuhlenschmidt
#c0dereview Andrew.Grant Nick.Darnell
#test Ps4 paragon
#jira OR-30506
Change 3175209 on 2016/10/26 by David.Ratti
Fix a few cases where default gameplay cue parameters weren't initialized properly and could not be translated by the skin system. Fixes some mayan steel issues.
#rb none
#tests pie
Change 3174858 on 2016/10/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34/33.2 @ CL 3174784
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3174857 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3174822 on 2016/10/26 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
#rb marc.audy
#test create/destroy effects with HQ lights in editor.
Change 3174344 on 2016/10/25 by Ryan.Gerleve
Added a bIsNetStartupComponent flag to UActorComponent. This will be set for components that are owned by an actor when that actor's bNetStartup flag is set.
#rb john.pollard
#tests golden path
Change 3174270 on 2016/10/25 by Marcus.Wassmer
Add LightingChannel control to High Quality particle lights.
#rb none
#test tested different lighting channels.
Change 3173855 on 2016/10/25 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3173292
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3173361 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3173843 on 2016/10/25 by Michael.Trepka
Update custom window controls on toggle fullscreen and make sure that when we switch to windowed mode we don't use window size that wouldn't fit on desktop
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3173783 on 2016/10/25 by Dan.Youhon
Add VelocityOnFinish mode options to RootMotionRadialForce so that designers can control what happens to a character's velocity when the ability task ends (part of #OR-30249)
#rb None
#tests MultiPIE
Change 3173734 on 2016/10/25 by Dan.Youhon
Protect against invalid Duration in FRootMotionSource_MoveToDynamicForce on simulated clients #OR-27128
#rb None
#tests MultiPIE
Change 3173714 on 2016/10/25 by David.Ratti
Add Game and Engine Compat versions for replays
#coderview John.Pollard
#rb Lietz
#tests golden path, replays
Change 3173681 on 2016/10/25 by Bart.Hawthorne
Implement drafting in replays. A replay spectator is spawned in the draft lobby so that the draft is saved out to the replay server, and clients are now able to travel in replays both when they occur "naturally" (at the same time as if they were a client), and also by scrubbing to a place in the timeline that's a different level.
The feature is implemented but currently disabled by default - turn on by setting CVarEnableDraftInReplays to 1. Replays should function the same as before.
Also fixed a warning on the dedicated server related to abandoning a draft.
#rb john.pollard
#c0dereview josh.markiewicz, paul.moore
#tests nomcp golden path (up to spawning), recorded multiple replays and played back with lots of scrubbing
Change 3173677 on 2016/10/25 by Andrew.Grant
Reenabled audio thread
Added safety wrapper to prevent code accidentally using events after they are returned to the pool.
#tests na
#rb Gil.Gribb
Change 3173588 on 2016/10/25 by Ryan.Gerleve
Added a replication condition to skip replays.
#tests golden path
#rb john.pollard
Change 3172692 on 2016/10/24 by Marcus.Wassmer
Fix OR-30390 caused by missing mutex lock
#rb none
#test compile ps4
Change 3172025 on 2016/10/24 by Matt.Kuhlenschmidt
Fix blur widget not respecting clip rects
#rb none
#tests paragon blur widget clipping bugs
Change 3171570 on 2016/10/23 by Mieszko.Zielinski
Moved Bots' enemy selection eqs query triggering to native code #Orion
Did this to be able to manually trigger enemy selection when current enemy dies, to avoid having a "null" enemy in BB for couple of ticks.
Also, made couple of tweaks to positioning and tower attacking behavior of melee bots
#rb none
#test golden path
Change 3171100 on 2016/10/21 by Aaron.Eady
FGameplayCueTagDetails;
Adding a check for if the RawStructData.Num > 0 before trying to use it. There was a case where you could crash the editor if you create a new GC tag inside of a BP, compile the BP, click Add New, select a GC type, then when the file is created, click away from it in the content browser. This repro wasn't 100% but often enough to caus a problem.
#rb David.Ratti (actually wrote the code)
#tests PIE
Change 3171060 on 2016/10/21 by Ryan.Gerleve
Some cleanup and fixes for deathcam:
The recording demo net driver for the deathcam replay now uses checkpoint amortization to smooth out spikes.
Converted UOrionKillcamPlayback::IsKillcamWorld to IsKillcamActor, since IsKillWorld isn't useful for the new single-world implementation.
Converted a GetValueOnGameThread to GetValueOnAnyThread (wasn't in the merge) so that deathcam replay recording can happen on a thread.
Added comment to UAbilitySystemComponent::OnComponentDestroyed.
#rb john.pollard
#tests golden path, enabled deathcam
Change 3171041 on 2016/10/21 by Ryan.Gerleve
Make the CheckpointSaveMaxMSPerFrame value a member of UDemoNetDriver so it can be set per instance, and convert the demo.CheckpointSaveMaxMSPerFrame cvar into an override for this value.
#rb john.pollard
#tests golden path
Change 3170917 on 2016/10/21 by Mieszko.Zielinski
Made a change to OrionBTTask_ObjectiveGraphMove to make it fallback to regular move if the destination is in the same or second-closest objective graph node #Orion
#rb none
#test golden path
Change 3170914 on 2016/10/21 by Mieszko.Zielinski
Fixed EQS scoring bug resulting in some items getting NaN scored #UE4
The NaN was happening when scoring but not filtering using a bool-based test, or when unintentionally skipping items by moving item iterator without doing any work.
Removed a bunch of deprecated code while there
#rb Lukasz.Furman
#test golden path
Change 3170912 on 2016/10/21 by Mieszko.Zielinski
Manual merge of crucial BT fixed over from //Fortnite/Main #UE4
Original CL#3159145 , CL#3159892
#rb Lukasz.Furman
#test golden path
Change 3170478 on 2016/10/21 by David.Ratti
fix editor crash related to recompiling gamplay cue blueprint while a preview animation is playing that invokes that gameplay cue.
#rb none
#tests editor
Change 3170231 on 2016/10/21 by Ryan.Gerleve
Fix for an issue that was preventing moving your hero after spawning in PIE in Agora: set the net driver on static level collections as well.
#tests golden path, PIE
#c0dereview john.pollard
#rb none
Change 3170074 on 2016/10/20 by Ryan.Gerleve
Merging support for recording client replays in a task parallel with Slate (optimization for deathcam) from UE4/Dev-Networking.
CL 3169209
#tests golden path, replays
#rb none
Change 3170019 on 2016/10/20 by Ryan.Gerleve
Merging support for deathcam memory optimizations (level collection work) from UE4/Main and UE4/Dev-Networking.
CLs:
3134499
3134771
3135279
3137140
3138081
3140413
3150142
3142515
3162189
3162194
#tests golden path
#rb none
Change 3169686 on 2016/10/20 by Michael.Trepka
Fixed a Windows-specific problem with parts of the custom window buttons not accepting mouse clicks when the window is maximized due to window region used by FWindowsWindow::IsPointInWindow() being offset by border size.
#rb Jeff.Campeau
#tests Tested in editor build on PC
Change 3169668 on 2016/10/20 by Max.Chen
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Copy from Odin
#rb none
#tests opened a recorded sequence
Change 3169657 on 2016/10/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_33 - Fix for localization export of web data
Fixed export of localized formatted text
- Removed the super-specific GetSourceTextsFromFormatHistory, and replaced it with the more-generic GetHistoricFormatData to get information about an FText that was generated via FText::Format.
- Added GetHistoricNumericData to get information about an FText that was generated via FText::AsNumber or FText::AsPercent.
- Updated the translation picker to use GetHistoricFormatData.
- Removed the code from FMultiLocHelper that used GetSourceTextsFromFormatHistory as it wasn't actually needed.
- Added code to FGameDataExporter to correctly localize a formatted text for a given culture, and re-format the result for export.
[c0dereviewed]: jamie.dale
#RB:none
#Tests:Exported game data!
#R0B0MERGE-SOURCE: CL 3169653 in //Orion/Release-33/... via CL 3169654 via CL 3169655 via CL 3169656
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3169616 on 2016/10/20 by David.Ratti
missed file
#rb none
#tests none
Change 3169597 on 2016/10/20 by David.Ratti
Missed include
#rb DanH
#tests none
Change 3169393 on 2016/10/20 by David.Ratti
AbilitySystem.GlobalAbilityScale cvar to help design iterate on animation/duration based tweaks
#rb none
#tests pie
Change 3168287 on 2016/10/19 by Mieszko.Zielinski
Expanded EQS info logged with vlog #UE4
#rb none
#test golden path
Change 3168282 on 2016/10/19 by David.Ratti
Restore warning when multiple GC notifies try to handle the same tag.
#rb none
#tests compile, launch editor, see warnings, cry
Change 3168196 on 2016/10/19 by Jon.Lietz
compile fix, removing the int version of FirstActiveIndex and leaving the in32 version.
#RB none
#tests compiles
Change 3168041 on 2016/10/19 by Michael.Trepka
Don't restore saved resolution on window activation in non-fullscreen modes
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3167859 on 2016/10/19 by Aaron.McLeran
UE-36288 Fixing concurrency resolution stop quietest
Implementing in Dev-General for Joey since he needs the fix ASAP.
#rb Jeff.Campeau
#tests perform tests described in JIRA bug.
Change 3167790 on 2016/10/19 by Andrew.Grant
Duplication of 3167569 from //Odion/Main for Paragon cinematics
#rb none
#tests compiled
Change 3167682 on 2016/10/19 by Laurent.Delayen
Integrated #ORION_33.1 - Disabled WindSources on Cloth and AnimDynamics, as it's not safe to access from the GameThread. https://jira.it.epicgames.net/browse/OR-30473
#rb ori.cohen, benn.gallagher
#tests Vamp, Kwang, Chains in Persona and PIE with WindActor in level.
Change 3167466 on 2016/10/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3167368
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3167456 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3167312 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#rb Lukasz.Furman
#test golden path
#jira UE-37496
Change 3166784 on 2016/10/18 by Laurent.Delayen
Don't leave PhysicsBodies::bWindEnabled uninitialized in case Wind is not enabled (Persona)
#rb none
#c0dereview benn.gallagher
#test Chains in Persona
Change 3166641 on 2016/10/18 by Mieszko.Zielinski
Made the value span used for EQS item score normalization configurable #UE4
#rb Lukasz.Furman
#test golden path
Change 3166632 on 2016/10/18 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Added support for multiple deployment sandboxes on PS4.
BuildCookRun -deploy=SomeDir
ps4.elf -deployedbuild=SomeDir
Omitting name in -deploy/-deployedbuild falls back to previous default of using 'GameName' as the deployment sandbox.
#tests BuildCookRun with -deploy and -deploy=Orion_v33, Ran PS4 with -deployedbuild and -deployedbuild=Orion_v33
[c0dereviewed] Marcus.Wassmer, Luke.Thatcher
#rb none
#R0B0MERGE-SOURCE: CL 3166622 in //Orion/Release-33/... via CL 3166629 via CL 3166630 via CL 3166631
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3166494 on 2016/10/18 by Michael.Noland
Engine: Removed irrelevant GPU stats from FPS chart server analytics reports
#jira OR-13877
#rb david.ratti
#tests Ran golden path on uncooked Win64, used forcewinmatch, and inspected the analytics arrays
Change 3166476 on 2016/10/18 by Michael.Noland
Cooker: Deleting dead GenerateManifestInfo methods
#tests Compiled
#rb none
#c0dereview daniel.lamb
Change 3166471 on 2016/10/18 by Michael.Noland
Making sure DebugWorlds/DebugWorldNames are in sync, since we expect an index from one to match the other (fixes an issue where users could select a debug world and the wrong one was chosen).
[reimplementing CL# 3157138 by Mike.Beach]
#jira UE-37107
#rb Dan.OConnor
#tests Tested multiplayer PIE and opening an anim BP
Change 3166460 on 2016/10/18 by Michael.Noland
Particles: Prevent log spam on servers about stripped emitters
#rb graeme.thornton
[reimplementing CL# 3157862 by Simon.Tovey]
#tests Ran an uncooked server and tested golden path
Change 3166339 on 2016/10/18 by Laurent.Delayen
oops, this file got away.
#rb none
#tests none
Change 3166337 on 2016/10/18 by Laurent.Delayen
Fix for AnimDynamics Wind crash.
https://jira.it.epicgames.net/browse/OR-30351
Access WindParameters on GameThread. Also minor optimization: don't iterate over bodies every frame if wind is off.
#rb benn.gallagher
#c0dereview lina.halper, thomas.sarkanen
#tests Vamp
Change 3166207 on 2016/10/18 by Mieszko.Zielinski
Bot perception work #Orion
Added a new sense that makes bots know about enemies visible on the minimap
Made jungle minions do not register as sight sources
Cleaned up bot perception component a bit
#rb none
#test golden path
Change 3166138 on 2016/10/18 by Michael.Noland
Blueprints: Converted a crash with the debug world name in the BP editor to an ensure until it can be fixed properly (see OR-29650)
#c0dereview dan.oconnor
#rb none
#tests Tested opening an anim BP during multiplayer PIE
Change 3165860 on 2016/10/18 by David.Ratti
remove some debug code that wasn't intended to be checked in
#rb none
#tests compile
Change 3165288 on 2016/10/17 by Ian.Fox
#XMPP - Add correlation id attribute to outgoing stanzas
#RB Rob.Cannaday
#Tests Correlation IDs come back in responses to xmpp messages we send
#JIRA OGS-409
Change 3165096 on 2016/10/17 by David.Ratti
Fix issue where gameplay tags net indices would be out of sync on cooked PS4 client playing on uncooked windows servers. Would cause some effects to not play.
#rb none
#tests PS4/PC crossplay
Change 3164973 on 2016/10/17 by Dan.Hertzka
Fix link error
#rb #tests compile
Change 3164910 on 2016/10/17 by Lukasz.Furman
fixed bug in merging behavior tree searches
copy of CL 3164903
#ue4
#rb Mieszko.Zielinski
#tests none
Change 3164908 on 2016/10/17 by Dan.Hertzka
Exposing the blur widget for use in Paragon
** Use OrionBlurWidget, not the base BackgroundBlurWidget
- Added it to the hero and default tooltips for reference
#rb none
#c0dereview Marcel.Swanepoel, Sean.Smith, Bryan.Rathman
#tests PIE
Change 3164482 on 2016/10/17 by David.Ratti
Editor loadtime improvements
* Refactor GameplayCue manager to support two distinct object library sets: Runtime and Editor. Editor library operates on all valid gameplay cue paths but never loads or scans, only reflects what asset registry has found. Runtime library is the initial loaded paths + any explicit requests. These scan when needed and async load at startup.
* Wrote UOrionAsyncLoadRequestQueue to feed the async load queue with requests at startup. This is to avoid submitting 300+ requests at startup and have them flushed by a sync load. The editor will wait until it is fully initialized before kicking these off.
* Changed UOrionUIManagerWidget to weakly reference all of its state widgets. In non editor builds these are all loaded at startup like before. In editor builds, we sync load them on demand. This allows us to not load everything in order to PIE.
* Added options for loading various pieces of data at editor startup: HUDwidget V4, last used hero data, and shared gameplay cues.
* -game -nomcp will now properly async load initial set of data
* BeginLoadAsyncData no longer takes netmode as parameter since it is confusing and can just use IsDedicatedServer() internally
* Added new log category: LogOrionStartup
#rb none
#c0dereview Dan.Hertzka
#tests pie, golden path, cooked PS4
Change 3163635 on 2016/10/14 by Laurent.Delayen
AnimInstance: Pass a few FNames by reference instead of by value. Added CalcSlotMontageLocalWeight to get local a slot's local weight without a frame a lag. Fixed Montage update happening after native update on gamethread, but before native update on worker thread. Now happens before both, so we can reliably get montage weights without a frame of lag regardless of where we access it.
#rb none
#c0dereview martin.wilson, thomas.sarkanen
#tests fixes Twinblast's primary fire blend out having a frame a lag.
Change 3163620 on 2016/10/14 by Laurent.Delayen
AnimNode_Slot debug: Show actual slot local weight, instead of always 1.
#rb none
#c0dereview martin.wilson
#tests twinblast debug
Change 3163061 on 2016/10/14 by Andrew.Grant
Pulling test framework changes into seprate CL
#rb #tests na
Change 3162675 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes down early.
#rb #tests na
#R0B0MERGE-SOURCE: CL 3162674 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3162062 on 2016/10/13 by Michael.Trepka
Replaced FWindowsCursor hack for warping the mouse cursor to the center of the viewport with a better fix for the original problem (users being able to resize the window while the cursor is hidden and the mouse controls the camera). This change removes round window corners in borderless window mode and disables window resizing when the cursor is hidden.
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3161489 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3161453
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3161473 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3160664 on 2016/10/12 by Ben.Salem
Fix logic order error fuzzy matching on automated tests - we were only allowing one match per filter instead of one match per test.
#rb adric.worley
#tests Ran All Ftests that start with S
Change 3159866 on 2016/10/12 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3159727
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3159865 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158870 on 2016/10/11 by John.Barrett
Fixed issue where some PacketHandler parsing errors, would not stop NetConnection processing of packets, and would not trigger a disconnect.
#JIRA OR-29219
#rb none
#tests compiles, client/server
Change 3158336 on 2016/10/11 by Lukasz.Furman
string pulling for local navigation grids
#ue4
#rb Mieszko.Zielinski
#tests PIE
Change 3158203 on 2016/10/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3158043
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3158154 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158162 on 2016/10/11 by Matt.Kuhlenschmidt
Added a blur widget to umg that applies a blur effect to whatever is behind the widget
- The widget has a content slot that can be used to display unblurred content on top of the blur
- The widget has a low quality mode brush that can be applied instead of the background blur. This is enabled by the cvar Slate.ForceBackgroundBlurLowQualityOverride=1
- This widget is currently expermental and must be subclassed to be used
#tests Tested on PS4, PC, Mac (opengl and metal)
#rb nick.darnell
Change 3157232 on 2016/10/10 by Lukasz.Furman
added local navigation grids: dynamic obstacles on static navmesh
#ue4
#rb Mieszko.Zielinski
#tests none, disabled by default
Change 3157112 on 2016/10/10 by Laurent.Delayen
Removed my layer anim node fix, since Martin did a similar fix.
#rb none
#tests compiles
#c0dereview martin.wilson
Change 3156789 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3156726
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3156788 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156717 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging 3156681 from //Orion/Release-33 to Main
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156713 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156596 on 2016/10/10 by Martin.Wilson
Fix pose flickering on LOD change when using Layered Blend by Bone node (recreated from dev-framework CL 3112086)
#Jira OR-30017
#rb Lina.Halper
#tests Tested affected anim nodes in editor
Change 3156149 on 2016/10/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes from //Orion/Release-33.2 to Main (//Orion/Main)
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156148 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3155444 on 2016/10/07 by David.Ratti
-Fix crashes from FScalableFloats caching raw curve pointers by invalidating cache on curve table swaps
-Removed the old code that was trying to do this in the editor on reimport, which never actually worked properly.
#rb none
#tests golden path
Change 3155228 on 2016/10/07 by Michael.Trepka
Partial (Windows implementation only) copy of CL 3151851 from //UE4/Main
Added DesktopRect and WorkArea to FMonitorInfo for desktop platforms and used that to fix an issue in SceneViewport where windowed fullscreen mode would be forced to primary monitor and incorrectly positioned on desktops where a taskbar/dock/etc. was on the left
#rb Dmitry.Rekman
#tests Tested in editor build on PC
Change 3154910 on 2016/10/07 by Lukasz.Furman
added new accessors in TSimpleCellGrid and inlined bunch of functions
#ue4
#rb none
#tests none
Change 3154906 on 2016/10/07 by Lukasz.Furman
adjusted comments for FGraphAStar
#ue4
#rb none
#tests none
Change 3154679 on 2016/10/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33 @ CL 3154662
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3154677 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153638 on 2016/10/06 by Andrew.Grant
Duplicating fix for UE-36087 from UE4
#rb #tests na
Change 3153325 on 2016/10/06 by David.Ratti
CurveTableSets: support for multiple spread sheets
-Sovereign data located in Sovereign subfolder, cloned from base data.
#rb none
#tests PIE, golden path
Change 3153318 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3152667
#RB:none
#Tests:none
[c0dereviewed]: kerrington.smith, matt.schembari
#R0B0MERGE-SOURCE: CL 3153310 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153268 on 2016/10/06 by David.Ratti
Missed file for engine changes
#rb none
#tests none
Change 3153264 on 2016/10/06 by David.Ratti
Move some DetailCustomziation classes to public folder so that games can override/extend them. Also made some virtual functions to override the things paragon needs to.
#rb none
#tests paragon editor
Change 3153204 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3152587
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3153171 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3152699 on 2016/10/05 by Andrew.Grant
I apologize for the mega-checkin but there are a lot of dependencies here, the work spiralled, and I've been cranking to get this in for the v33 branch. Please review and comment on what you know about and don't worry about the rest :)
-Added options-struct to MallocLeak detection to allow filtering open callstacks by frame range and size. This is now used in Paragon automatic tests to dump out memory left loaded by the previous map.
-PS4StackWalk now uses lowercase filenames as this is how non-UFS files are staged
-Renamed Orion.Foo.cs test scripts to OrionTest.Foo.cs
-Split some Orion tests into seprate scripts
-Added concept of "TestControllers". These are constructed by OrionEngine based on the -test= commandline and provide a super-simple way to implent state-based logic and checks by overriding base class functions.
-Added controllers for Boot, Soak, and Leak checks
-Renamed SimpleSolo bot to SimpleSoak. Moved a lot of logic about match composition and state to OrionTestControllerSoak
-Added new MatchStarted/MatchEnded delegates to OrionGameState for clients
-Fixed issues where OrionGameState_Base::HasMatchStarted would return true for WaitingForPlayers and MatchCountdown
-OrionBot code no longer caches command line since some TestControllers set it at runtime
-Added some ensures in Draft logic to catch/guard against a crash being triggered by bots.
#rb none
#tests verified all of the above and much more!
#c0dereview David.Ratti, Marcus.Wasmer,Michael.Noland
Change 3152605 on 2016/10/05 by Andrew.Grant
Suppressed warning about missing parent if parent package was in the KnownMissingPackageList
Added Editor ScaleRef stuff to Orion to suppress cooked warning
#rb none
#c0dereview Marcus.Wassmer
#tests Verified warning about ScaleRef being missing is gone
Change 3152596 on 2016/10/05 by Andrew.Grant
Made ASLR an option that can be disabled.
Disabled ASLR for Paragon PS4 Test builds so symbol lookup is available for diagnostics.
Made "don't optimize adaptive unity files" an official feature, off by default but turned on in Paragon
#c0dereview Luke.Thatcher
#rb none
#tests Verified test build has symbols that can be resolved. Verified an adaptive unity file is non-optimized, but non-adaptive files are optimized as normal
Change 3152399 on 2016/10/05 by Josh.Markiewicz
#UE4 - temporary fix for OSS R0B0MERGE issue
#rb david.nikdel
#test compiles
Change 3150916 on 2016/10/04 by Daniel.Lamb
Removed warning when shader compiler is in a bad state.
#rb Andrew.Grant
#jira OR-29580
#test Cook paragon
Change 3150889 on 2016/10/04 by Ben.Salem
Add log feedback to automation harness when processing commands, including syntax helpers when an unhandled command is added.
#rb adric.worley
#tests Ran several commands to see log output.
Change 3150844 on 2016/10/04 by Lukasz.Furman
compilation fix
#rb none
#tests none
Change 3150759 on 2016/10/04 by Lukasz.Furman
added "hidden" state to gameplay debugger category
#ue4
#rb Mieszko.Zielinski
#tests config changes and PIE
Change 3150758 on 2016/10/04 by Lukasz.Furman
pass on SimpleCellGrid template to make it usable for local navigation grids
#orion
#rb Mieszko.Zielinski
#tests PIE on agora, AI tactics debug on agora
Change 3150567 on 2016/10/04 by Dan.Hertzka
Rough initial implementation of a generic UI layer for moving widgets around to and from arbitrary locations. Lots of possible uses. For example, equipping a card in the card shop that then animates down into the correct hand slot.
- Not in actual use anywhere yet
#rb none
#tests PIE
Change 3150307 on 2016/10/04 by Laurent.Delayen
Removed check() not considering SimulatedRootMotion for RemoteClients.
#rb none
#tests compiles
Change 3150236 on 2016/10/04 by Josh.Markiewicz
#UE4 - added documentation to FNetworkNotify interface
- fixed bad UE_LOG category while double checking the above
#rb none
#tests compiles
Change 3150206 on 2016/10/04 by Josh.Markiewicz
#UE4 - moved ClientTravelToSession out of AGameSession and into UGameInstance
- removed similar function from UGameInstanceCommon
- more common usage location
#rb none
#c0dereview paul.moore
#tests rejoin vectors and golden path
Change 3150073 on 2016/10/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3150010
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3150072 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3150031 on 2016/10/04 by Mieszko.Zielinski
New AIData provider that generated random numbers #UE4
#rb Lukasz.Furman
#test golden path
Change 3149946 on 2016/10/04 by Ben.Woodhouse
Make UPrimitiveComponents (and derived variants) take proxy memory into account in GetResourceSize()
We do this by dereferencing the SceneProxy directly, but this should be safe, since we NULL it on the gamethread before the proxy is released.
#jira OR-26778
#rb luke.thatcher
#tests compile, run Win64 with -game, run editor
Change 3149743 on 2016/10/03 by Ben.Salem
Null check for blank test names when making functional tests to repair crash on server.
#rb nick.darnell
#tests Ran multiple FTests
Change 3149460 on 2016/10/03 by Laurent.Delayen
Refactored TickCharacterPose.
Now calls 'ShouldTickPose' so it can get properly obey bPauseAnims, MeshComponentUpdateFlag and other conditions.
Still forces updates when playing networked root motion montages, and that check is now done inside of USkeletalMeshComponent::ShouldTickPose().
Fixes human players always calling TickPose regardless of settings on dedicated servers.
Also addresses Jira UE-34720
#rb martin.wilson
#tests networked Vamp x2 + golden path
Change 3149435 on 2016/10/03 by Mieszko.Zielinski
Fixed a bug in EQS item score normalization for the purposes of drawing #UE4
Also, made printed out scores not normalized since seeing original EQS calculated score desirable
#rb Lukasz.Furman
#test golden path
Change 3148550 on 2016/10/03 by John.Barrett
Fixed bad/blocking ensure added in FBitReader. OR-29219
#tests compile
#rb none
Change 3147460 on 2016/09/30 by Laurent.Delayen
Fixed AOrionChar::UpdateAnimationTicking never setting EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered, because OnMontageEnded() is called before the MontageInstance is actually removed and deleted.
Added OnAllMontageInstancesEnded to AnimInstance, and used that to call UpdateAnimationTicking.
#rb michael.noland
#tests Golden Path
Change 3146677 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
#rb Andrew.Rodham
#tests Ran the gather
Change 3146555 on 2016/09/30 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3146524
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3146553 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3146129 on 2016/09/29 by Michael.Noland
Engine: Fixed the spectator camera (used in ToggleDebugCamera) so it moves consistently regardless of the slomo value by using the raw frame delta rather than trying to counter-correct for time dilation
#c0dereview marc.audy
#rb none
#tests Tested ToggleDebugCamera with slomo 0.00001
Change 3145574 on 2016/09/29 by Adric.Worley
Fix FunctionalTestingManager not compiling when included
#tests compile
#rb mieszko.zielinski
Change 3145224 on 2016/09/29 by Michael.Trepka
Better check for whether or not PreFullscreenWindowPlacement in FWindowsWindow is valid
#rb Dmitry.Rekman
#tests Tested editor build on PC
Change 3145132 on 2016/09/29 by Alexis.Matte
Make sure we use GetMesh instead of the SkeletalMeshPtr variable.
#jira OR-29617
#rb matt.kuhlenschmidt
#test none
Change 3144926 on 2016/09/29 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3144835
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3144925 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3144920 on 2016/09/29 by Benn.Gallagher
Added "Reset Clothing Sim" anim notify to trigger a clothing reset from an animation, to help with issues arising from extreme movements in animations.
#rb James.Golding
#tests Editor + -game vamp RMB abilities using new notify
Change 3144055 on 2016/09/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: ben.marsh
BuildGraph: Fix builds created with preconditions on nodes behind triggers, causing nightly builds to run forever due to conditions never evaluating to true.
#rb none
#tests Compared exported job definition before and after
#R0B0MERGE-SOURCE: CL 3143992 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3143801 on 2016/09/28 by Mieszko.Zielinski
Made UAIBlueprintHelperLibrary::CreateMoveToProxyObject deduce WorldContextObject from Pawn if not received from BP #Orion
Also, made failing to do so not fails a check
#rb Lukasz.Furman
#test golden path
#c0dereview Aaron.Eady
Change 3142377 on 2016/09/27 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Fix crashes when using GBuffer resources in simpleforward mode.
#rb Daniel.Wright
#test vamp Q on low settings.
#R0B0MERGE-SOURCE: CL 3142376 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3141628 on 2016/09/27 by David.Ratti
Guard against recursion in WaitGameplayEffectApplied ability task
#rb none
#tests pie crash case
Change 3141497 on 2016/09/27 by Marcus.Wassmer
Duplicate 3123743
Separate skeletal/static mesh lod interfaces
#rb none
#test created an LOD for vamp locally.
Change 3140832 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Remove dubious non-threadsafe GBuffer reference adjustments.
Possibly fix OR-29506
#rb none
#test PC on all settings
#R0B0MERGE-SOURCE: CL 3140831 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3140828 on 2016/09/26 by Uriel.Doyon
Workaround (reverting previous attemp) at fixing issue with FTextRenderSceneProxy when running command let.
#rb marcus.wassmer
#tests running lighting build with command let & loading editor
Change 3140331 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Cloning fix for UE-36253 from //UE4/Dev-Framework/...
#rb #tests na
#R0B0MERGE-SOURCE: CL 3140329 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139976 on 2016/09/26 by David.Ratti
balance tweaker + some prep for multiple data tables support
#rb none
#tests pie, golden path
Change 3139904 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Adding code to log name of package that refuses to load...
#rb none
#tests compiled
#R0B0MERGE-SOURCE: CL 3139902 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139871 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Fixes for OR-29229 and OR-29413
#rb #tests na
#R0B0MERGE-SOURCE: CL 3139870 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139751 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3139692
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3139740 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139451 on 2016/09/25 by Uriel.Doyon
Submitted a workaround for the lighting build command let crash.
#rb none
#tests loaded editor, built lighting command let
Change 3138304 on 2016/09/23 by David.Ratti
Fix checkslow in Debug editor
#rb none
#tests debug editor
#c0dereview Martin.Wilson
Change 3138068 on 2016/09/23 by Laurent.Delayen
Don't try to match invalid GUIDs in FSmartNameMapping::GetNameByGuid.
Fixes Steel's curves all getting matched to 'DistanceCurve'
#rb martin.wilson
#tests Steel's curve are not all 'DistanceCurve'
Change 3137830 on 2016/09/23 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3137699
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3137746 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3137657 on 2016/09/23 by Ben.Marsh
Fix initialization order warning.
#rb none
#tests none
Change 3137628 on 2016/09/23 by bruce.nesbit
Fixed non-unity compiles in LandscapeSplines and LandscapeSplineRaster
#rb none
#tests Compiled NU
Change 3137538 on 2016/09/23 by Thomas.Sarkanen
Fix crash rendering sequence with keyframed material parameters
Ported Frank F's fix from Dev-Sequencer. Original CL 3136577:
Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues.
#tests Rendered out problematic sequence successfully multiple times
#rb none
#jira UE-36175 - Keyframing material parameters can cause crashes when rendering
#c0dereview Frank.Fella
Change 3136580 on 2016/09/22 by Ben.Marsh
Merging CL 3136158 to fix support for generating project files with Visual Studio Express.
#rb none
#tests none
Change 3136574 on 2016/09/22 by Michael.Trepka
Fixed a crash caused by trying to redraw window contents while switching from fullscreen to windowed mode
#rb Marcus.Wassmer
#tests Tested editor build on PC
Change 3136293 on 2016/09/22 by Adric.Worley
Add BlueprintType to EFunctionalTestResult
#tests editor
#rb ben.salem
#c0dereview nick.darnell
Change 3136240 on 2016/09/22 by Andrew.Grant
Merging from //UE4/Main @ 3135156
#rb none
#tests QA pass and local golden path
Change 3136197 on 2016/09/22 by Jamie.Dale
Merging CL# 3094477 and CL# 3111827 to fix some tesselated landscape crashes
#rb Gareth.Martin
#tests Loaded the map that was crashing
Change 3135914 on 2016/09/22 by Dan.Youhon
Fixed CharacterMovementComponent impulse net correction handling during additive root motion (part of #OR-5545)
- Fixes #OR-28478, heroes tethered by Kwang cannot be knocked up
- Fixes #OR-18985, Gideon R ability negating knockback/knockup effects (including Howitzer E)
#rb None
#tests MultiPIE
#R0B0MERGE: MAIN, 32.2, 32.1
Change 3135893 on 2016/09/22 by David.Ratti
GameplayCueeditir Change override type from a checkbox to a combobox to make things a little clearer
#rb none
#tests gameplaycue editor
Change 3135843 on 2016/09/22 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3135756
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3135820 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Balance/HeroData.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Cards/Effects/P_ThunderCleaver.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/DataTables/HeroData.xlsm - can't integrate exclusive file already opened
#c0dereview: jason.bestimt
Change 3134639 on 2016/09/21 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3133910
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3134086 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#c0dereview: jason.bestimt
Change 3134367 on 2016/09/21 by Ben.Woodhouse
More complete fix for SSAO issues. Disable vertex fogging automatically if forward shading is disabled
#rb daniel.wright
#tests none
Change 3134176 on 2016/09/21 by Jason.Bestimt
#ORION_DG - UnrealPak speed improvements
Moving shelved CL to DG and submitting for DanielL
#RB:none
#Tests:none
#c0dereview: andrew.grant, daniel.lamb
Change 3134129 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
#rb none
#tests Built UAT
Change 3133864 on 2016/09/21 by Ben.Woodhouse
Default r.VertexFoggingForOpaque to 0, since it only makes sense for forward shading. This was causing fog to be modulated by SSAO in Orion.
Note: this setting is overridden to 1 in Odin's DefaultEngine.ini, so it should work in that case.
#c0dereview daniel.wright
#rb luke.thatcher
#jira OR-29262
#tests yes
Change 3133849 on 2016/09/21 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#rb Jurre.DeBaare
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3133546 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Null merge of 3131588. Fix from 31.1 is unncecessary as a more complete fix came from the engine integration that's in v32.
#rb none
#tests none
[c0dereviewed] Jason.Bestimt
#R0B0MERGE-SOURCE: CL 3132617 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3133487 on 2016/09/20 by Michael.Noland
Automation: Added Automation to the manual autocomplete list
Change 3133363 on 2016/09/20 by Daniel.Lamb
Added Jaymee Sanford and Tony Oliva to the rebuild lighting email list.
#rb Trivial
#test Compile automation tool
Change 3132956 on 2016/09/20 by Benn.Gallagher
Fixed crash when importing clothing with mismatching number of triangles when compared to the original render data
#tests Editor, apex reimport
#rb none
Change 3132403 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3132254
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3132353 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3132332 on 2016/09/20 by Andrew.Grant
Replicated UE4/Main fix for missing materials pane
#rb none
#tests verified material pane shows
Change 3132131 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging automation work from //Orion/Release-32.2 to Main
#rb none
#tests verified functionality
#R0B0MERGE-SOURCE: CL 3132130 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3131698 on 2016/09/19 by Andrew.Grant
Qucik fix to unblock build. Will follow up correct way tomorrow
#rb none
#tests blueprint compiles
Change 3131489 on 2016/09/19 by Andrew.Grant
Merging from //UE4/Orion-Staging (Source: //UE4/Main @ 3111290)
#rb none
#tests QA pass in Orion-Staging, Golden path post merge
Change 3131350 on 2016/09/19 by Adric.Worley
Fix functional test reporting typo
#tests PIE
#rb ben.salem
Change 3130959 on 2016/09/19 by Mieszko.Zielinski
Compilation fix #UE4
#rb none
#test compilation
Change 3130904 on 2016/09/19 by Mieszko.Zielinski
Couple of generic AI perception fixes #UE4
Made unregistering AI sight source broadcast "no longer visible" information to all observers currently "seeing" the source
Fixed FActorPerceptionInfo::GetLastStimulusLocation not carying whether selected stimulus was successfully sensed
Fixed dominant sense not really working if not set with UAIPerceptionComponent::SetDominantSense call
#rb Lukasz.Furman
#test golden path
Change 3130304 on 2016/09/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3130115
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3130164 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
[CL 3205566 by Andrew Grant in Main branch]
2016-11-20 21:35:35 -05:00
|
|
|
FSceneRenderTargets::Get(RHICmdList).AdjustGBufferRefCount(RHICmdList, 1);
|
2014-03-14 14:13:41 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
void FSubsurfaceVisualizeCompositePass::Process(FRenderingCompositePassContext& CompositePassContext)
|
2014-03-14 14:13:41 -04:00
|
|
|
{
|
2019-04-01 19:37:48 -04:00
|
|
|
FRHICommandListImmediate& RHICmdList = CompositePassContext.RHICmdList;
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FRDGBuilder GraphBuilder(RHICmdList);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FScreenPassContext* Context = FScreenPassContext::Create(RHICmdList, CompositePassContext.View);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FRDGTextureRef InputTexture = CreateRDGTextureForInput(GraphBuilder, ePId_Input0, TEXT("SceneColor"), eFC_0000);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FRDGTextureRef OutputTexture = VisualizeSubsurface(GraphBuilder, Context, InputTexture);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
ExtractRDGTextureForOutput(GraphBuilder, ePId_Output0, OutputTexture);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
TRefCountPtr<IPooledRenderTarget> OutputTarget;
|
|
|
|
|
GraphBuilder.QueueTextureExtraction(OutputTexture, &OutputTarget);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
GraphBuilder.Execute();
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
check(OutputTarget);
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
RHICmdList.CopyToResolveTarget(
|
|
|
|
|
OutputTarget->GetRenderTargetItem().TargetableTexture,
|
|
|
|
|
OutputTarget->GetRenderTargetItem().ShaderResourceTexture,
|
|
|
|
|
FResolveParams());
|
2014-03-14 14:13:41 -04:00
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FSceneRenderTargets::Get(RHICmdList).AdjustGBufferRefCount(RHICmdList, -1);
|
2014-10-15 16:18:43 -04:00
|
|
|
}
|
|
|
|
|
|
2019-04-01 19:37:48 -04:00
|
|
|
FPooledRenderTargetDesc FSubsurfaceVisualizeCompositePass::ComputeOutputDesc(EPassOutputId InPassOutputId) const
|
2014-10-15 16:18:43 -04:00
|
|
|
{
|
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3196521)
#lockdown Nick.Penwarden
Change 3196499 on 2016/11/14 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3196473
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3196498 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3195674 on 2016/11/11 by Laurent.Delayen
Fix for twinblast ult mesh not disappearing at lower lods. (curves not getting properly update with URO)
Fixes https://jira.it.epicgames.net/browse/OR-31509
#rb lina.halper
#tests twinblast ult multiPIE
Change 3195245 on 2016/11/11 by Dan.Hertzka
Card crafting progress
- Device responds to UI actions appropriately and infinitely
- Backing out of device screen goes to card details first (i.e. doesn't take you all the way out of the screen)
- CraftingDevice and CraftingDeviceNode now have a few natively-controlled timelines for reversible states
- Non-reversible timelines all now play from start (so they work more than once)
Engine-side:
- Added an overload to UTimelineComponent::SetOnTimelineFinishedFunc() that takes a native (non-dynamic) delegate
- Added a way to set the owning player of a UUserWidget via a local PlayerController (since ULocalPlayer isn't a BP type) - used to establish the owner of a WidgetComponent's widget
#rb none
#tests PIE crafting
Change 3194616 on 2016/11/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.3 @ CL 3194604
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3194615 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3193875 on 2016/11/10 by Andrew.Grant
Removed GameThreadWaitForTask fatal timeout if running in editor (assumption is that some operations can cause significant blocks, and that's ok..
#jira UE-38496
#tests compiled
#rb none
#c0dereview Marcus.Wassmer
Change 3193368 on 2016/11/10 by Mieszko.Zielinski
Fixed a bug in UCharacterMovementComponent::OnMovementModeChanged making UPathFollowingComponent::OnStartedFalling being sent too late #UE4
#rb Lukasz.Furman
#test golden path
Change 3193280 on 2016/11/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3193232
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3193279 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3192376 on 2016/11/09 by Laurent.Delayen
RootMotion Sources: removed second check, as that was a perfectly valid case. Fixes https://jira.it.epicgames.net/browse/OR-31490
#rb none
#tests riftmage blackhold multiPIE
Change 3192243 on 2016/11/09 by Laurent.Delayen
UAbilityTask_ApplyRootMotionMoveToActorForce replicates TimeMappingCurve to potentially fix https://jira.it.epicgames.net/browse/OR-31266
#rb none
#tests Jump pads on Sovereign2 multiPIE
Change 3191985 on 2016/11/09 by Laurent.Delayen
Additional debug info for https://jira.it.epicgames.net/browse/OR-31300
#rb none
#tests compiles
Change 3191565 on 2016/11/09 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3191371
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3191564 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3190702 on 2016/11/08 by David.Ratti
Fix PIE autologgin mcp problem
#rb JoshM
#tests PIE autologgin
Change 3190591 on 2016/11/08 by Mieszko.Zielinski
Added a way to RecastNavMesh to retrieve navigation links in a given tile #UE4
#rb Lukasz.Furman
#test golden path
Change 3190363 on 2016/11/08 by Frank.Gigliotti
Root motion velocity clamping and bug fixes;
* Added option to clamp velocity when ending MoveToActorForce, MoveToForce, and RadialForce root motions.
* Disabled partial ticking on the FRootMotionSource_ConstantForce when applying the finishing velocity or clamping velocity on root motion ability tasks. This ensures the desired velocity is set correctly.
* Added AbilityTask_ApplyRootMotion_Base as a base class for all root motion ability tasks.
#RB David.Ratti, Zak.Middleton
#c0dereview Zak.Middleton
#Tests PIE - Multiple heroes with root motion abilities
Change 3190344 on 2016/11/08 by Laurent.Delayen
RootMotionSources: Tracking down https://jira.it.epicgames.net/browse/OR-31266
Testing for 'Matches' rule in more places, to track down where it breaks. Added more info. Switched check to ensure, so it doesn't prevent playtests.
Minor tweaks:
- Test for ID before TimeStamp
- Changed auto to proper type.
- Trim RootMotionIDMappings of outdated mappings since we can iterate over that array quite a bit.
#rb none
#tests multiPIE
Change 3190217 on 2016/11/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3190009
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3190216 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188560 on 2016/11/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3187796
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3188499 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3188012 on 2016/11/05 by Andrew.Grant
Merging using ROBO://Orion/Main->//Orion/Dev-General
#rb #tests na
Change 3187818 on 2016/11/04 by Michael.Noland
Editor: Refactored the game instance PIE creation hooks, allowing them to pass an error message back that will be displayed to the user explaining why PIE was aborted/failed to start
- Fixed a potential crash trying to tear down a null world when UGameInstance::StartPlayInEditorGameInstance fails
Upgrade notes:
- UGameInstance::InitializePIE overrides should now override InitializeForPlayInEditor instead
- UGameInstance::StartPIEGameInstance overrides should now override StartPlayInEditorGameInstance instead
- These methods return a FGameInstancePIEResult which can be created via FGameInstancePIEResult::Success() or FGameInstancePIEResult::Failure(), and take a parameter struct to make it easier to send additional information in the future without breaking the signature again
#rb matt.kuhlenscmidt
#tests Tested various PIE configurations in Paragon
Change 3187756 on 2016/11/04 by Michael.Noland
Editor: Added support for games to respond to Play in Editor setting changes (by properly calling PostEditChange when the PIE/SIE menu options are picked/toggled)
#tests Tested in Paragon by binding to FCoreUObjectDelegates::OnObjectPropertyChanged
#rb ben.ziegler
Change 3187258 on 2016/11/04 by Dan.Hertzka
- UTextBlock::SetText is now virtual
- OrionTextBlock has a property ("All Caps") that, if true, will always convert all text it's given to ALL CAPS
#c0dereview Sean.Smith, Philip.Buuck, Marcel.Swanepoel, Bryan.Rathman
#rb none
#tests PIE
Change 3187157 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Case fix for staged files
#rb Ben.Marsh
#tests preflighted
#R0B0MERGE-SOURCE: CL 3187153 in //Orion/Release-34/... via CL 3187154 via CL 3187155 via CL 3187156
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186870 on 2016/11/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3186846
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3186855 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3186243 on 2016/11/03 by Michael.Noland
Engine: Fixed reporting of ScreenPct when the cvar is set directly rather than via game user settings
- Also fixed a place that was using ScreenPct as an integer instead of a float in the OSVR plugin
#jira OR-23184
#tests Tested by setting r.screenpercentage directly to a different value and inspecting the chart results
#rb ben.ziegler
Change 3185134 on 2016/11/03 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3185065
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3185131 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3183689 on 2016/11/02 by Aaron.McLeran
OR-31091 Implementing 3175639 in Dev-General
#rb zak.middleton
#tests unplug headphones and observe no log spam or other issues
Change 3183292 on 2016/11/02 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3182926
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3183084 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3182323 on 2016/11/01 by Dan.Hertzka
Fix crash in sequencer when opening a widget BP with the sequencer tab closed (failed to null check)
#c0dereview Nick.Darnell
#rb Stephan.Jiang
#tests none
Change 3182295 on 2016/11/01 by Daniel.Lamb
Fixed up routing BeginDestroy.
#rb Andrew.Grant
#jira OR-31043
#test Paragon win64 -game
Change 3181975 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181895 on 2016/11/01 by Daniel.Lamb
Make sure to remove safe zone delegate when canvas is destroyed.
Moved registration of safe zone delegate to constructor.
#rb Michael.Noland
#jira OR-31043
#test Paragon win64 -game
Change 3181892 on 2016/11/01 by Michael.Trepka
Copy of CL 3162466
By default, do not compile Mac OpenGL and Metal SM4 shaders while cooking
#rb Mark.Satterthwaite
#jira UE-37088
#tests Cooked MacNoEditor data on Windows
Change 3181624 on 2016/11/01 by David.Ratti
Pass attribute value by reference through SetNumericValue_Internal so that the final/clamped value is what is broadcasted to attribute change delegates
#rb none
#tests golden path w/ extra logging to verify final value is what is broadcasted
#c0dereview Billy.Bramer, Fred.Kimberley
Change 3181574 on 2016/11/01 by Jason.Bestimt
#ORION_DG - Fixing up R0B0MERGE issue
#RB:none
#Tests:none
Change 3180859 on 2016/10/31 by Brian.Karis
Removed SSAO from hair
Change 3180320 on 2016/10/31 by Daniel.Lamb
Added support for rebuild lighting commandlet to read maps to rebuild from ini file.
#rb Andrew.Grant
#test Paragon rebuild lighting
#jira OR-30841
Change 3180227 on 2016/10/31 by Laurent.Delayen
Disabled Warning to fix https://jira.it.epicgames.net/browse/OR-30965
Will be turned into a warning message in the BP editor.
#c0dereview benn.gallagher
#rb none
#tests none
Change 3179903 on 2016/10/31 by jason.bestimt
#ORION_MAIN - Merge 34.2 @ CL 3179886
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3179895 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3177903 on 2016/10/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3177869
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3177901 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3175548 on 2016/10/26 by Michael.Noland
GameplayAbilities: Change it so that delegates registered via RegisterGameplayAttributeEvent are still called on the client when there is no aggregator entry
#rb david.ratti
#c0dereview billy.bramer
#tests Tested in multiplayer PIE client with a new minion callback and golden path in -game
Change 3175544 on 2016/10/26 by Bart.Hawthorne
Draft in replays improvements:
- Marker added to timeline bar that shows when the level change happens
- Added "Skip Draft" button when loading a replay which will bypass the draft
- Only PvP matches will record replays
- Added "Exit Replay" button to hamburger menu while in draft
- No longer load hero data before viewing a replay if not skipping draft
- Enable replay recording in PvP
#rb john.pollard
#c0dereview paul.moore
#tests nomcp golden path up to spawnpoint, created and loaded several replays
Change 3175533 on 2016/10/26 by Michael.Noland
Fix for FMallocBinned::GetAllocationSize() for aligned allocations.
#jira UE-37249
#jira UE-37243
#rb robert.manuszewski
#lockdown robert.manuszewski
[reimplementing CL# 3165739 from Release-4.13]
#tests Compiled
Change 3175311 on 2016/10/26 by Daniel.Lamb
Added support for safe zone change.
Messed up files in last checkin
#test Ps4 paragon
#jira OR-30506
#rb Matt.Kuhlenschmidt
Change 3175298 on 2016/10/26 by Daniel.Lamb
Added support for updating safe area
#rb Matt.Kuhlenschmidt
#c0dereview Andrew.Grant Nick.Darnell
#test Ps4 paragon
#jira OR-30506
Change 3175209 on 2016/10/26 by David.Ratti
Fix a few cases where default gameplay cue parameters weren't initialized properly and could not be translated by the skin system. Fixes some mayan steel issues.
#rb none
#tests pie
Change 3174858 on 2016/10/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34/33.2 @ CL 3174784
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3174857 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3174822 on 2016/10/26 by Marcus.Wassmer
Duplicate 3174187
#jira UE-37020
#rb marc.audy
#test create/destroy effects with HQ lights in editor.
Change 3174344 on 2016/10/25 by Ryan.Gerleve
Added a bIsNetStartupComponent flag to UActorComponent. This will be set for components that are owned by an actor when that actor's bNetStartup flag is set.
#rb john.pollard
#tests golden path
Change 3174270 on 2016/10/25 by Marcus.Wassmer
Add LightingChannel control to High Quality particle lights.
#rb none
#test tested different lighting channels.
Change 3173855 on 2016/10/25 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 34 @ CL 3173292
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3173361 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3173843 on 2016/10/25 by Michael.Trepka
Update custom window controls on toggle fullscreen and make sure that when we switch to windowed mode we don't use window size that wouldn't fit on desktop
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3173783 on 2016/10/25 by Dan.Youhon
Add VelocityOnFinish mode options to RootMotionRadialForce so that designers can control what happens to a character's velocity when the ability task ends (part of #OR-30249)
#rb None
#tests MultiPIE
Change 3173734 on 2016/10/25 by Dan.Youhon
Protect against invalid Duration in FRootMotionSource_MoveToDynamicForce on simulated clients #OR-27128
#rb None
#tests MultiPIE
Change 3173714 on 2016/10/25 by David.Ratti
Add Game and Engine Compat versions for replays
#coderview John.Pollard
#rb Lietz
#tests golden path, replays
Change 3173681 on 2016/10/25 by Bart.Hawthorne
Implement drafting in replays. A replay spectator is spawned in the draft lobby so that the draft is saved out to the replay server, and clients are now able to travel in replays both when they occur "naturally" (at the same time as if they were a client), and also by scrubbing to a place in the timeline that's a different level.
The feature is implemented but currently disabled by default - turn on by setting CVarEnableDraftInReplays to 1. Replays should function the same as before.
Also fixed a warning on the dedicated server related to abandoning a draft.
#rb john.pollard
#c0dereview josh.markiewicz, paul.moore
#tests nomcp golden path (up to spawning), recorded multiple replays and played back with lots of scrubbing
Change 3173677 on 2016/10/25 by Andrew.Grant
Reenabled audio thread
Added safety wrapper to prevent code accidentally using events after they are returned to the pool.
#tests na
#rb Gil.Gribb
Change 3173588 on 2016/10/25 by Ryan.Gerleve
Added a replication condition to skip replays.
#tests golden path
#rb john.pollard
Change 3172692 on 2016/10/24 by Marcus.Wassmer
Fix OR-30390 caused by missing mutex lock
#rb none
#test compile ps4
Change 3172025 on 2016/10/24 by Matt.Kuhlenschmidt
Fix blur widget not respecting clip rects
#rb none
#tests paragon blur widget clipping bugs
Change 3171570 on 2016/10/23 by Mieszko.Zielinski
Moved Bots' enemy selection eqs query triggering to native code #Orion
Did this to be able to manually trigger enemy selection when current enemy dies, to avoid having a "null" enemy in BB for couple of ticks.
Also, made couple of tweaks to positioning and tower attacking behavior of melee bots
#rb none
#test golden path
Change 3171100 on 2016/10/21 by Aaron.Eady
FGameplayCueTagDetails;
Adding a check for if the RawStructData.Num > 0 before trying to use it. There was a case where you could crash the editor if you create a new GC tag inside of a BP, compile the BP, click Add New, select a GC type, then when the file is created, click away from it in the content browser. This repro wasn't 100% but often enough to caus a problem.
#rb David.Ratti (actually wrote the code)
#tests PIE
Change 3171060 on 2016/10/21 by Ryan.Gerleve
Some cleanup and fixes for deathcam:
The recording demo net driver for the deathcam replay now uses checkpoint amortization to smooth out spikes.
Converted UOrionKillcamPlayback::IsKillcamWorld to IsKillcamActor, since IsKillWorld isn't useful for the new single-world implementation.
Converted a GetValueOnGameThread to GetValueOnAnyThread (wasn't in the merge) so that deathcam replay recording can happen on a thread.
Added comment to UAbilitySystemComponent::OnComponentDestroyed.
#rb john.pollard
#tests golden path, enabled deathcam
Change 3171041 on 2016/10/21 by Ryan.Gerleve
Make the CheckpointSaveMaxMSPerFrame value a member of UDemoNetDriver so it can be set per instance, and convert the demo.CheckpointSaveMaxMSPerFrame cvar into an override for this value.
#rb john.pollard
#tests golden path
Change 3170917 on 2016/10/21 by Mieszko.Zielinski
Made a change to OrionBTTask_ObjectiveGraphMove to make it fallback to regular move if the destination is in the same or second-closest objective graph node #Orion
#rb none
#test golden path
Change 3170914 on 2016/10/21 by Mieszko.Zielinski
Fixed EQS scoring bug resulting in some items getting NaN scored #UE4
The NaN was happening when scoring but not filtering using a bool-based test, or when unintentionally skipping items by moving item iterator without doing any work.
Removed a bunch of deprecated code while there
#rb Lukasz.Furman
#test golden path
Change 3170912 on 2016/10/21 by Mieszko.Zielinski
Manual merge of crucial BT fixed over from //Fortnite/Main #UE4
Original CL#3159145 , CL#3159892
#rb Lukasz.Furman
#test golden path
Change 3170478 on 2016/10/21 by David.Ratti
fix editor crash related to recompiling gamplay cue blueprint while a preview animation is playing that invokes that gameplay cue.
#rb none
#tests editor
Change 3170231 on 2016/10/21 by Ryan.Gerleve
Fix for an issue that was preventing moving your hero after spawning in PIE in Agora: set the net driver on static level collections as well.
#tests golden path, PIE
#c0dereview john.pollard
#rb none
Change 3170074 on 2016/10/20 by Ryan.Gerleve
Merging support for recording client replays in a task parallel with Slate (optimization for deathcam) from UE4/Dev-Networking.
CL 3169209
#tests golden path, replays
#rb none
Change 3170019 on 2016/10/20 by Ryan.Gerleve
Merging support for deathcam memory optimizations (level collection work) from UE4/Main and UE4/Dev-Networking.
CLs:
3134499
3134771
3135279
3137140
3138081
3140413
3150142
3142515
3162189
3162194
#tests golden path
#rb none
Change 3169686 on 2016/10/20 by Michael.Trepka
Fixed a Windows-specific problem with parts of the custom window buttons not accepting mouse clicks when the window is maximized due to window region used by FWindowsWindow::IsPointInWindow() being offset by border size.
#rb Jeff.Campeau
#tests Tested in editor build on PC
Change 3169668 on 2016/10/20 by Max.Chen
Sequencer - Don't crash when a bool track or visibility track has a null runtime object.
Copy from Odin
#rb none
#tests opened a recorded sequence
Change 3169657 on 2016/10/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_33 - Fix for localization export of web data
Fixed export of localized formatted text
- Removed the super-specific GetSourceTextsFromFormatHistory, and replaced it with the more-generic GetHistoricFormatData to get information about an FText that was generated via FText::Format.
- Added GetHistoricNumericData to get information about an FText that was generated via FText::AsNumber or FText::AsPercent.
- Updated the translation picker to use GetHistoricFormatData.
- Removed the code from FMultiLocHelper that used GetSourceTextsFromFormatHistory as it wasn't actually needed.
- Added code to FGameDataExporter to correctly localize a formatted text for a given culture, and re-format the result for export.
[c0dereviewed]: jamie.dale
#RB:none
#Tests:Exported game data!
#R0B0MERGE-SOURCE: CL 3169653 in //Orion/Release-33/... via CL 3169654 via CL 3169655 via CL 3169656
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3169616 on 2016/10/20 by David.Ratti
missed file
#rb none
#tests none
Change 3169597 on 2016/10/20 by David.Ratti
Missed include
#rb DanH
#tests none
Change 3169393 on 2016/10/20 by David.Ratti
AbilitySystem.GlobalAbilityScale cvar to help design iterate on animation/duration based tweaks
#rb none
#tests pie
Change 3168287 on 2016/10/19 by Mieszko.Zielinski
Expanded EQS info logged with vlog #UE4
#rb none
#test golden path
Change 3168282 on 2016/10/19 by David.Ratti
Restore warning when multiple GC notifies try to handle the same tag.
#rb none
#tests compile, launch editor, see warnings, cry
Change 3168196 on 2016/10/19 by Jon.Lietz
compile fix, removing the int version of FirstActiveIndex and leaving the in32 version.
#RB none
#tests compiles
Change 3168041 on 2016/10/19 by Michael.Trepka
Don't restore saved resolution on window activation in non-fullscreen modes
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3167859 on 2016/10/19 by Aaron.McLeran
UE-36288 Fixing concurrency resolution stop quietest
Implementing in Dev-General for Joey since he needs the fix ASAP.
#rb Jeff.Campeau
#tests perform tests described in JIRA bug.
Change 3167790 on 2016/10/19 by Andrew.Grant
Duplication of 3167569 from //Odion/Main for Paragon cinematics
#rb none
#tests compiled
Change 3167682 on 2016/10/19 by Laurent.Delayen
Integrated #ORION_33.1 - Disabled WindSources on Cloth and AnimDynamics, as it's not safe to access from the GameThread. https://jira.it.epicgames.net/browse/OR-30473
#rb ori.cohen, benn.gallagher
#tests Vamp, Kwang, Chains in Persona and PIE with WindActor in level.
Change 3167466 on 2016/10/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3167368
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3167456 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3167312 on 2016/10/19 by Mieszko.Zielinski
Fixed EQS template cache issues with multiple query run modes #UE4
#rb Lukasz.Furman
#test golden path
#jira UE-37496
Change 3166784 on 2016/10/18 by Laurent.Delayen
Don't leave PhysicsBodies::bWindEnabled uninitialized in case Wind is not enabled (Persona)
#rb none
#c0dereview benn.gallagher
#test Chains in Persona
Change 3166641 on 2016/10/18 by Mieszko.Zielinski
Made the value span used for EQS item score normalization configurable #UE4
#rb Lukasz.Furman
#test golden path
Change 3166632 on 2016/10/18 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Added support for multiple deployment sandboxes on PS4.
BuildCookRun -deploy=SomeDir
ps4.elf -deployedbuild=SomeDir
Omitting name in -deploy/-deployedbuild falls back to previous default of using 'GameName' as the deployment sandbox.
#tests BuildCookRun with -deploy and -deploy=Orion_v33, Ran PS4 with -deployedbuild and -deployedbuild=Orion_v33
[c0dereviewed] Marcus.Wassmer, Luke.Thatcher
#rb none
#R0B0MERGE-SOURCE: CL 3166622 in //Orion/Release-33/... via CL 3166629 via CL 3166630 via CL 3166631
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3166494 on 2016/10/18 by Michael.Noland
Engine: Removed irrelevant GPU stats from FPS chart server analytics reports
#jira OR-13877
#rb david.ratti
#tests Ran golden path on uncooked Win64, used forcewinmatch, and inspected the analytics arrays
Change 3166476 on 2016/10/18 by Michael.Noland
Cooker: Deleting dead GenerateManifestInfo methods
#tests Compiled
#rb none
#c0dereview daniel.lamb
Change 3166471 on 2016/10/18 by Michael.Noland
Making sure DebugWorlds/DebugWorldNames are in sync, since we expect an index from one to match the other (fixes an issue where users could select a debug world and the wrong one was chosen).
[reimplementing CL# 3157138 by Mike.Beach]
#jira UE-37107
#rb Dan.OConnor
#tests Tested multiplayer PIE and opening an anim BP
Change 3166460 on 2016/10/18 by Michael.Noland
Particles: Prevent log spam on servers about stripped emitters
#rb graeme.thornton
[reimplementing CL# 3157862 by Simon.Tovey]
#tests Ran an uncooked server and tested golden path
Change 3166339 on 2016/10/18 by Laurent.Delayen
oops, this file got away.
#rb none
#tests none
Change 3166337 on 2016/10/18 by Laurent.Delayen
Fix for AnimDynamics Wind crash.
https://jira.it.epicgames.net/browse/OR-30351
Access WindParameters on GameThread. Also minor optimization: don't iterate over bodies every frame if wind is off.
#rb benn.gallagher
#c0dereview lina.halper, thomas.sarkanen
#tests Vamp
Change 3166207 on 2016/10/18 by Mieszko.Zielinski
Bot perception work #Orion
Added a new sense that makes bots know about enemies visible on the minimap
Made jungle minions do not register as sight sources
Cleaned up bot perception component a bit
#rb none
#test golden path
Change 3166138 on 2016/10/18 by Michael.Noland
Blueprints: Converted a crash with the debug world name in the BP editor to an ensure until it can be fixed properly (see OR-29650)
#c0dereview dan.oconnor
#rb none
#tests Tested opening an anim BP during multiplayer PIE
Change 3165860 on 2016/10/18 by David.Ratti
remove some debug code that wasn't intended to be checked in
#rb none
#tests compile
Change 3165288 on 2016/10/17 by Ian.Fox
#XMPP - Add correlation id attribute to outgoing stanzas
#RB Rob.Cannaday
#Tests Correlation IDs come back in responses to xmpp messages we send
#JIRA OGS-409
Change 3165096 on 2016/10/17 by David.Ratti
Fix issue where gameplay tags net indices would be out of sync on cooked PS4 client playing on uncooked windows servers. Would cause some effects to not play.
#rb none
#tests PS4/PC crossplay
Change 3164973 on 2016/10/17 by Dan.Hertzka
Fix link error
#rb #tests compile
Change 3164910 on 2016/10/17 by Lukasz.Furman
fixed bug in merging behavior tree searches
copy of CL 3164903
#ue4
#rb Mieszko.Zielinski
#tests none
Change 3164908 on 2016/10/17 by Dan.Hertzka
Exposing the blur widget for use in Paragon
** Use OrionBlurWidget, not the base BackgroundBlurWidget
- Added it to the hero and default tooltips for reference
#rb none
#c0dereview Marcel.Swanepoel, Sean.Smith, Bryan.Rathman
#tests PIE
Change 3164482 on 2016/10/17 by David.Ratti
Editor loadtime improvements
* Refactor GameplayCue manager to support two distinct object library sets: Runtime and Editor. Editor library operates on all valid gameplay cue paths but never loads or scans, only reflects what asset registry has found. Runtime library is the initial loaded paths + any explicit requests. These scan when needed and async load at startup.
* Wrote UOrionAsyncLoadRequestQueue to feed the async load queue with requests at startup. This is to avoid submitting 300+ requests at startup and have them flushed by a sync load. The editor will wait until it is fully initialized before kicking these off.
* Changed UOrionUIManagerWidget to weakly reference all of its state widgets. In non editor builds these are all loaded at startup like before. In editor builds, we sync load them on demand. This allows us to not load everything in order to PIE.
* Added options for loading various pieces of data at editor startup: HUDwidget V4, last used hero data, and shared gameplay cues.
* -game -nomcp will now properly async load initial set of data
* BeginLoadAsyncData no longer takes netmode as parameter since it is confusing and can just use IsDedicatedServer() internally
* Added new log category: LogOrionStartup
#rb none
#c0dereview Dan.Hertzka
#tests pie, golden path, cooked PS4
Change 3163635 on 2016/10/14 by Laurent.Delayen
AnimInstance: Pass a few FNames by reference instead of by value. Added CalcSlotMontageLocalWeight to get local a slot's local weight without a frame a lag. Fixed Montage update happening after native update on gamethread, but before native update on worker thread. Now happens before both, so we can reliably get montage weights without a frame of lag regardless of where we access it.
#rb none
#c0dereview martin.wilson, thomas.sarkanen
#tests fixes Twinblast's primary fire blend out having a frame a lag.
Change 3163620 on 2016/10/14 by Laurent.Delayen
AnimNode_Slot debug: Show actual slot local weight, instead of always 1.
#rb none
#c0dereview martin.wilson
#tests twinblast debug
Change 3163061 on 2016/10/14 by Andrew.Grant
Pulling test framework changes into seprate CL
#rb #tests na
Change 3162675 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes down early.
#rb #tests na
#R0B0MERGE-SOURCE: CL 3162674 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3162062 on 2016/10/13 by Michael.Trepka
Replaced FWindowsCursor hack for warping the mouse cursor to the center of the viewport with a better fix for the original problem (users being able to resize the window while the cursor is hidden and the mouse controls the camera). This change removes round window corners in borderless window mode and disables window resizing when the cursor is hidden.
#rb Matt.Kuhlenschmidt
#tests Tested in editor build on PC
Change 3161489 on 2016/10/13 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3161453
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3161473 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3160664 on 2016/10/12 by Ben.Salem
Fix logic order error fuzzy matching on automated tests - we were only allowing one match per filter instead of one match per test.
#rb adric.worley
#tests Ran All Ftests that start with S
Change 3159866 on 2016/10/12 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3159727
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3159865 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158870 on 2016/10/11 by John.Barrett
Fixed issue where some PacketHandler parsing errors, would not stop NetConnection processing of packets, and would not trigger a disconnect.
#JIRA OR-29219
#rb none
#tests compiles, client/server
Change 3158336 on 2016/10/11 by Lukasz.Furman
string pulling for local navigation grids
#ue4
#rb Mieszko.Zielinski
#tests PIE
Change 3158203 on 2016/10/11 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3158043
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3158154 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3158162 on 2016/10/11 by Matt.Kuhlenschmidt
Added a blur widget to umg that applies a blur effect to whatever is behind the widget
- The widget has a content slot that can be used to display unblurred content on top of the blur
- The widget has a low quality mode brush that can be applied instead of the background blur. This is enabled by the cvar Slate.ForceBackgroundBlurLowQualityOverride=1
- This widget is currently expermental and must be subclassed to be used
#tests Tested on PS4, PC, Mac (opengl and metal)
#rb nick.darnell
Change 3157232 on 2016/10/10 by Lukasz.Furman
added local navigation grids: dynamic obstacles on static navmesh
#ue4
#rb Mieszko.Zielinski
#tests none, disabled by default
Change 3157112 on 2016/10/10 by Laurent.Delayen
Removed my layer anim node fix, since Martin did a similar fix.
#rb none
#tests compiles
#c0dereview martin.wilson
Change 3156789 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33.2 @ CL 3156726
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3156788 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156717 on 2016/10/10 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging 3156681 from //Orion/Release-33 to Main
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156713 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3156596 on 2016/10/10 by Martin.Wilson
Fix pose flickering on LOD change when using Layered Blend by Bone node (recreated from dev-framework CL 3112086)
#Jira OR-30017
#rb Lina.Halper
#tests Tested affected anim nodes in editor
Change 3156149 on 2016/10/08 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging test framework changes from //Orion/Release-33.2 to Main (//Orion/Main)
#rb #tests na
#R0B0MERGE-SOURCE: CL 3156148 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3155444 on 2016/10/07 by David.Ratti
-Fix crashes from FScalableFloats caching raw curve pointers by invalidating cache on curve table swaps
-Removed the old code that was trying to do this in the editor on reimport, which never actually worked properly.
#rb none
#tests golden path
Change 3155228 on 2016/10/07 by Michael.Trepka
Partial (Windows implementation only) copy of CL 3151851 from //UE4/Main
Added DesktopRect and WorkArea to FMonitorInfo for desktop platforms and used that to fix an issue in SceneViewport where windowed fullscreen mode would be forced to primary monitor and incorrectly positioned on desktops where a taskbar/dock/etc. was on the left
#rb Dmitry.Rekman
#tests Tested in editor build on PC
Change 3154910 on 2016/10/07 by Lukasz.Furman
added new accessors in TSimpleCellGrid and inlined bunch of functions
#ue4
#rb none
#tests none
Change 3154906 on 2016/10/07 by Lukasz.Furman
adjusted comments for FGraphAStar
#ue4
#rb none
#tests none
Change 3154679 on 2016/10/07 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 33 @ CL 3154662
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3154677 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153638 on 2016/10/06 by Andrew.Grant
Duplicating fix for UE-36087 from UE4
#rb #tests na
Change 3153325 on 2016/10/06 by David.Ratti
CurveTableSets: support for multiple spread sheets
-Sovereign data located in Sovereign subfolder, cloned from base data.
#rb none
#tests PIE, golden path
Change 3153318 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3152667
#RB:none
#Tests:none
[c0dereviewed]: kerrington.smith, matt.schembari
#R0B0MERGE-SOURCE: CL 3153310 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3153268 on 2016/10/06 by David.Ratti
Missed file for engine changes
#rb none
#tests none
Change 3153264 on 2016/10/06 by David.Ratti
Move some DetailCustomziation classes to public folder so that games can override/extend them. Also made some virtual functions to override the things paragon needs to.
#rb none
#tests paragon editor
Change 3153204 on 2016/10/06 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3152587
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3153171 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3152699 on 2016/10/05 by Andrew.Grant
I apologize for the mega-checkin but there are a lot of dependencies here, the work spiralled, and I've been cranking to get this in for the v33 branch. Please review and comment on what you know about and don't worry about the rest :)
-Added options-struct to MallocLeak detection to allow filtering open callstacks by frame range and size. This is now used in Paragon automatic tests to dump out memory left loaded by the previous map.
-PS4StackWalk now uses lowercase filenames as this is how non-UFS files are staged
-Renamed Orion.Foo.cs test scripts to OrionTest.Foo.cs
-Split some Orion tests into seprate scripts
-Added concept of "TestControllers". These are constructed by OrionEngine based on the -test= commandline and provide a super-simple way to implent state-based logic and checks by overriding base class functions.
-Added controllers for Boot, Soak, and Leak checks
-Renamed SimpleSolo bot to SimpleSoak. Moved a lot of logic about match composition and state to OrionTestControllerSoak
-Added new MatchStarted/MatchEnded delegates to OrionGameState for clients
-Fixed issues where OrionGameState_Base::HasMatchStarted would return true for WaitingForPlayers and MatchCountdown
-OrionBot code no longer caches command line since some TestControllers set it at runtime
-Added some ensures in Draft logic to catch/guard against a crash being triggered by bots.
#rb none
#tests verified all of the above and much more!
#c0dereview David.Ratti, Marcus.Wasmer,Michael.Noland
Change 3152605 on 2016/10/05 by Andrew.Grant
Suppressed warning about missing parent if parent package was in the KnownMissingPackageList
Added Editor ScaleRef stuff to Orion to suppress cooked warning
#rb none
#c0dereview Marcus.Wassmer
#tests Verified warning about ScaleRef being missing is gone
Change 3152596 on 2016/10/05 by Andrew.Grant
Made ASLR an option that can be disabled.
Disabled ASLR for Paragon PS4 Test builds so symbol lookup is available for diagnostics.
Made "don't optimize adaptive unity files" an official feature, off by default but turned on in Paragon
#c0dereview Luke.Thatcher
#rb none
#tests Verified test build has symbols that can be resolved. Verified an adaptive unity file is non-optimized, but non-adaptive files are optimized as normal
Change 3152399 on 2016/10/05 by Josh.Markiewicz
#UE4 - temporary fix for OSS R0B0MERGE issue
#rb david.nikdel
#test compiles
Change 3150916 on 2016/10/04 by Daniel.Lamb
Removed warning when shader compiler is in a bad state.
#rb Andrew.Grant
#jira OR-29580
#test Cook paragon
Change 3150889 on 2016/10/04 by Ben.Salem
Add log feedback to automation harness when processing commands, including syntax helpers when an unhandled command is added.
#rb adric.worley
#tests Ran several commands to see log output.
Change 3150844 on 2016/10/04 by Lukasz.Furman
compilation fix
#rb none
#tests none
Change 3150759 on 2016/10/04 by Lukasz.Furman
added "hidden" state to gameplay debugger category
#ue4
#rb Mieszko.Zielinski
#tests config changes and PIE
Change 3150758 on 2016/10/04 by Lukasz.Furman
pass on SimpleCellGrid template to make it usable for local navigation grids
#orion
#rb Mieszko.Zielinski
#tests PIE on agora, AI tactics debug on agora
Change 3150567 on 2016/10/04 by Dan.Hertzka
Rough initial implementation of a generic UI layer for moving widgets around to and from arbitrary locations. Lots of possible uses. For example, equipping a card in the card shop that then animates down into the correct hand slot.
- Not in actual use anywhere yet
#rb none
#tests PIE
Change 3150307 on 2016/10/04 by Laurent.Delayen
Removed check() not considering SimulatedRootMotion for RemoteClients.
#rb none
#tests compiles
Change 3150236 on 2016/10/04 by Josh.Markiewicz
#UE4 - added documentation to FNetworkNotify interface
- fixed bad UE_LOG category while double checking the above
#rb none
#tests compiles
Change 3150206 on 2016/10/04 by Josh.Markiewicz
#UE4 - moved ClientTravelToSession out of AGameSession and into UGameInstance
- removed similar function from UGameInstanceCommon
- more common usage location
#rb none
#c0dereview paul.moore
#tests rejoin vectors and golden path
Change 3150073 on 2016/10/04 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2/33 @ CL 3150010
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3150072 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3150031 on 2016/10/04 by Mieszko.Zielinski
New AIData provider that generated random numbers #UE4
#rb Lukasz.Furman
#test golden path
Change 3149946 on 2016/10/04 by Ben.Woodhouse
Make UPrimitiveComponents (and derived variants) take proxy memory into account in GetResourceSize()
We do this by dereferencing the SceneProxy directly, but this should be safe, since we NULL it on the gamethread before the proxy is released.
#jira OR-26778
#rb luke.thatcher
#tests compile, run Win64 with -game, run editor
Change 3149743 on 2016/10/03 by Ben.Salem
Null check for blank test names when making functional tests to repair crash on server.
#rb nick.darnell
#tests Ran multiple FTests
Change 3149460 on 2016/10/03 by Laurent.Delayen
Refactored TickCharacterPose.
Now calls 'ShouldTickPose' so it can get properly obey bPauseAnims, MeshComponentUpdateFlag and other conditions.
Still forces updates when playing networked root motion montages, and that check is now done inside of USkeletalMeshComponent::ShouldTickPose().
Fixes human players always calling TickPose regardless of settings on dedicated servers.
Also addresses Jira UE-34720
#rb martin.wilson
#tests networked Vamp x2 + golden path
Change 3149435 on 2016/10/03 by Mieszko.Zielinski
Fixed a bug in EQS item score normalization for the purposes of drawing #UE4
Also, made printed out scores not normalized since seeing original EQS calculated score desirable
#rb Lukasz.Furman
#test golden path
Change 3148550 on 2016/10/03 by John.Barrett
Fixed bad/blocking ensure added in FBitReader. OR-29219
#tests compile
#rb none
Change 3147460 on 2016/09/30 by Laurent.Delayen
Fixed AOrionChar::UpdateAnimationTicking never setting EMeshComponentUpdateFlag::OnlyTickPoseWhenRendered, because OnMontageEnded() is called before the MontageInstance is actually removed and deleted.
Added OnAllMontageInstancesEnded to AnimInstance, and used that to call UpdateAnimationTicking.
#rb michael.noland
#tests Golden Path
Change 3146677 on 2016/09/30 by Jamie.Dale
Fixed UGatherTextFromSourceCommandlet::ParseSourceText being able to underflow while parsing
#rb Andrew.Rodham
#tests Ran the gather
Change 3146555 on 2016/09/30 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3146524
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3146553 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3146129 on 2016/09/29 by Michael.Noland
Engine: Fixed the spectator camera (used in ToggleDebugCamera) so it moves consistently regardless of the slomo value by using the raw frame delta rather than trying to counter-correct for time dilation
#c0dereview marc.audy
#rb none
#tests Tested ToggleDebugCamera with slomo 0.00001
Change 3145574 on 2016/09/29 by Adric.Worley
Fix FunctionalTestingManager not compiling when included
#tests compile
#rb mieszko.zielinski
Change 3145224 on 2016/09/29 by Michael.Trepka
Better check for whether or not PreFullscreenWindowPlacement in FWindowsWindow is valid
#rb Dmitry.Rekman
#tests Tested editor build on PC
Change 3145132 on 2016/09/29 by Alexis.Matte
Make sure we use GetMesh instead of the SkeletalMeshPtr variable.
#jira OR-29617
#rb matt.kuhlenschmidt
#test none
Change 3144926 on 2016/09/29 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3144835
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3144925 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3144920 on 2016/09/29 by Benn.Gallagher
Added "Reset Clothing Sim" anim notify to trigger a clothing reset from an animation, to help with issues arising from extreme movements in animations.
#rb James.Golding
#tests Editor + -game vamp RMB abilities using new notify
Change 3144055 on 2016/09/28 by Jason.Bestimt
#R0B0MERGE-AUTHOR: ben.marsh
BuildGraph: Fix builds created with preconditions on nodes behind triggers, causing nightly builds to run forever due to conditions never evaluating to true.
#rb none
#tests Compared exported job definition before and after
#R0B0MERGE-SOURCE: CL 3143992 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3143801 on 2016/09/28 by Mieszko.Zielinski
Made UAIBlueprintHelperLibrary::CreateMoveToProxyObject deduce WorldContextObject from Pawn if not received from BP #Orion
Also, made failing to do so not fails a check
#rb Lukasz.Furman
#test golden path
#c0dereview Aaron.Eady
Change 3142377 on 2016/09/27 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Fix crashes when using GBuffer resources in simpleforward mode.
#rb Daniel.Wright
#test vamp Q on low settings.
#R0B0MERGE-SOURCE: CL 3142376 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3141628 on 2016/09/27 by David.Ratti
Guard against recursion in WaitGameplayEffectApplied ability task
#rb none
#tests pie crash case
Change 3141497 on 2016/09/27 by Marcus.Wassmer
Duplicate 3123743
Separate skeletal/static mesh lod interfaces
#rb none
#test created an LOD for vamp locally.
Change 3140832 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Remove dubious non-threadsafe GBuffer reference adjustments.
Possibly fix OR-29506
#rb none
#test PC on all settings
#R0B0MERGE-SOURCE: CL 3140831 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3140828 on 2016/09/26 by Uriel.Doyon
Workaround (reverting previous attemp) at fixing issue with FTextRenderSceneProxy when running command let.
#rb marcus.wassmer
#tests running lighting build with command let & loading editor
Change 3140331 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Cloning fix for UE-36253 from //UE4/Dev-Framework/...
#rb #tests na
#R0B0MERGE-SOURCE: CL 3140329 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139976 on 2016/09/26 by David.Ratti
balance tweaker + some prep for multiple data tables support
#rb none
#tests pie, golden path
Change 3139904 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Adding code to log name of package that refuses to load...
#rb none
#tests compiled
#R0B0MERGE-SOURCE: CL 3139902 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139871 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Fixes for OR-29229 and OR-29413
#rb #tests na
#R0B0MERGE-SOURCE: CL 3139870 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139751 on 2016/09/26 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3139692
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3139740 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3139451 on 2016/09/25 by Uriel.Doyon
Submitted a workaround for the lighting build command let crash.
#rb none
#tests loaded editor, built lighting command let
Change 3138304 on 2016/09/23 by David.Ratti
Fix checkslow in Debug editor
#rb none
#tests debug editor
#c0dereview Martin.Wilson
Change 3138068 on 2016/09/23 by Laurent.Delayen
Don't try to match invalid GUIDs in FSmartNameMapping::GetNameByGuid.
Fixes Steel's curves all getting matched to 'DistanceCurve'
#rb martin.wilson
#tests Steel's curve are not all 'DistanceCurve'
Change 3137830 on 2016/09/23 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3137699
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3137746 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3137657 on 2016/09/23 by Ben.Marsh
Fix initialization order warning.
#rb none
#tests none
Change 3137628 on 2016/09/23 by bruce.nesbit
Fixed non-unity compiles in LandscapeSplines and LandscapeSplineRaster
#rb none
#tests Compiled NU
Change 3137538 on 2016/09/23 by Thomas.Sarkanen
Fix crash rendering sequence with keyframed material parameters
Ported Frank F's fix from Dev-Sequencer. Original CL 3136577:
Sequencer - Always use a unique name when creating dynamic material instances for animation to prevent reuse and resource issues.
#tests Rendered out problematic sequence successfully multiple times
#rb none
#jira UE-36175 - Keyframing material parameters can cause crashes when rendering
#c0dereview Frank.Fella
Change 3136580 on 2016/09/22 by Ben.Marsh
Merging CL 3136158 to fix support for generating project files with Visual Studio Express.
#rb none
#tests none
Change 3136574 on 2016/09/22 by Michael.Trepka
Fixed a crash caused by trying to redraw window contents while switching from fullscreen to windowed mode
#rb Marcus.Wassmer
#tests Tested editor build on PC
Change 3136293 on 2016/09/22 by Adric.Worley
Add BlueprintType to EFunctionalTestResult
#tests editor
#rb ben.salem
#c0dereview nick.darnell
Change 3136240 on 2016/09/22 by Andrew.Grant
Merging from //UE4/Main @ 3135156
#rb none
#tests QA pass and local golden path
Change 3136197 on 2016/09/22 by Jamie.Dale
Merging CL# 3094477 and CL# 3111827 to fix some tesselated landscape crashes
#rb Gareth.Martin
#tests Loaded the map that was crashing
Change 3135914 on 2016/09/22 by Dan.Youhon
Fixed CharacterMovementComponent impulse net correction handling during additive root motion (part of #OR-5545)
- Fixes #OR-28478, heroes tethered by Kwang cannot be knocked up
- Fixes #OR-18985, Gideon R ability negating knockback/knockup effects (including Howitzer E)
#rb None
#tests MultiPIE
#R0B0MERGE: MAIN, 32.2, 32.1
Change 3135893 on 2016/09/22 by David.Ratti
GameplayCueeditir Change override type from a checkbox to a combobox to make things a little clearer
#rb none
#tests gameplaycue editor
Change 3135843 on 2016/09/22 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3135756
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3135820 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Balance/HeroData.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Cards/Effects/P_ThunderCleaver.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/DataTables/HeroData.xlsm - can't integrate exclusive file already opened
#c0dereview: jason.bestimt
Change 3134639 on 2016/09/21 by jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3133910
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3134086 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
#R0B0MERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#c0dereview: jason.bestimt
Change 3134367 on 2016/09/21 by Ben.Woodhouse
More complete fix for SSAO issues. Disable vertex fogging automatically if forward shading is disabled
#rb daniel.wright
#tests none
Change 3134176 on 2016/09/21 by Jason.Bestimt
#ORION_DG - UnrealPak speed improvements
Moving shelved CL to DG and submitting for DanielL
#RB:none
#Tests:none
#c0dereview: andrew.grant, daniel.lamb
Change 3134129 on 2016/09/21 by Jamie.Dale
Added the "unattended" flag when running the localzation commandlets via UAT
#rb none
#tests Built UAT
Change 3133864 on 2016/09/21 by Ben.Woodhouse
Default r.VertexFoggingForOpaque to 0, since it only makes sense for forward shading. This was causing fog to be modulated by SSAO in Orion.
Note: this setting is overridden to 1 in Odin's DefaultEngine.ini, so it should work in that case.
#c0dereview daniel.wright
#rb luke.thatcher
#jira OR-29262
#tests yes
Change 3133849 on 2016/09/21 by Martin.Wilson
Fix pose blending for on non-additive pose blending + remove normalising of weights for weights less than 1
#rb Jurre.DeBaare
#tests Editor tests with mambo pose asset
#jira UE-36189
Change 3133546 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: marcus.wassmer
Null merge of 3131588. Fix from 31.1 is unncecessary as a more complete fix came from the engine integration that's in v32.
#rb none
#tests none
[c0dereviewed] Jason.Bestimt
#R0B0MERGE-SOURCE: CL 3132617 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3133487 on 2016/09/20 by Michael.Noland
Automation: Added Automation to the manual autocomplete list
Change 3133363 on 2016/09/20 by Daniel.Lamb
Added Jaymee Sanford and Tony Oliva to the rebuild lighting email list.
#rb Trivial
#test Compile automation tool
Change 3132956 on 2016/09/20 by Benn.Gallagher
Fixed crash when importing clothing with mismatching number of triangles when compared to the original render data
#tests Editor, apex reimport
#rb none
Change 3132403 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3132254
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3132353 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3132332 on 2016/09/20 by Andrew.Grant
Replicated UE4/Main fix for missing materials pane
#rb none
#tests verified material pane shows
Change 3132131 on 2016/09/20 by Jason.Bestimt
#R0B0MERGE-AUTHOR: andrew.grant
Merging automation work from //Orion/Release-32.2 to Main
#rb none
#tests verified functionality
#R0B0MERGE-SOURCE: CL 3132130 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
Change 3131698 on 2016/09/19 by Andrew.Grant
Qucik fix to unblock build. Will follow up correct way tomorrow
#rb none
#tests blueprint compiles
Change 3131489 on 2016/09/19 by Andrew.Grant
Merging from //UE4/Orion-Staging (Source: //UE4/Main @ 3111290)
#rb none
#tests QA pass in Orion-Staging, Golden path post merge
Change 3131350 on 2016/09/19 by Adric.Worley
Fix functional test reporting typo
#tests PIE
#rb ben.salem
Change 3130959 on 2016/09/19 by Mieszko.Zielinski
Compilation fix #UE4
#rb none
#test compilation
Change 3130904 on 2016/09/19 by Mieszko.Zielinski
Couple of generic AI perception fixes #UE4
Made unregistering AI sight source broadcast "no longer visible" information to all observers currently "seeing" the source
Fixed FActorPerceptionInfo::GetLastStimulusLocation not carying whether selected stimulus was successfully sensed
Fixed dominant sense not really working if not set with UAIPerceptionComponent::SetDominantSense call
#rb Lukasz.Furman
#test golden path
Change 3130304 on 2016/09/19 by Jason.Bestimt
#R0B0MERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 32.2 @ CL 3130115
#RB:none
#Tests:none
#R0B0MERGE-SOURCE: CL 3130164 in //Orion/Main/...
#R0B0MERGE-BOT: ORION (Main -> Dev-General)
[CL 3205566 by Andrew Grant in Main branch]
2016-11-20 21:35:35 -05:00
|
|
|
FPooledRenderTargetDesc Ret = FSceneRenderTargets::Get_FrameConstantsOnly().GetSceneColor()->GetDesc();
|
Copying //UE4/Dev-Console to //UE4/Dev-Main (Source: //UE4/Dev-Console @ 3483086)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3389969 on 2017/04/12 by Guillaume.Abadie
Implements FDebug::DumpStackTraceToLog() debugging utility.
Change 3391579 on 2017/04/12 by Joe.Barnes
Fix minor spacing issue.
Change 3402629 on 2017/04/20 by Ben.Marsh
Build: Remove job to populate the DDC. Trying out a new system for this.
Change 3417501 on 2017/05/01 by Joe.Barnes
IWYU - Missing #include files.
Change 3419927 on 2017/05/02 by Joe.Barnes
- Support custom LOD for shadow map generation only (r.ForceLODShadow)
- New #define to expose forceLOD and forceLODShadow also in Test/Ship builds (#define EXPOSE_FORCE_LOD 1 in RenderCore.cpp). Not exposed by default.
Change 3420964 on 2017/05/03 by Jonathan.Fitzpatrick
Fixed null dereference of LineBatcher when using DrawDebugSphere and DrawDebugAltCone
#jira UE-30213
Change 3423470 on 2017/05/04 by Luke.Thatcher
[CONSOLE] [STREAMS] [^] Merging //UE4/Dev-Main (CL 3391974) to Dev-Console (//UE4/Dev-Console)
- Compile errors in Switch, to be fixed after check-in.
Change 3430410 on 2017/05/09 by Ben.Woodhouse
Fix uninitialized local variable causing crashes in Test
#jira UE-44832
Change 3430506 on 2017/05/09 by Josh.Adams
- Fixed up the editor platforms' method of loading TargetSettings objects so that we don't need any manual parsing of .ini files to fill out the class defaults
Change 3434035 on 2017/05/10 by Ben.Woodhouse
Integrate updated FortGPUTestbed from Fortnite/Main
Change 3437046 on 2017/05/12 by Joe.Barnes
Fix for clang producing a warning when not all specializations of a templated function are marked FORCEINLINE.
Also, switch a specialization of BlendTransform() from a function with a check to just a declaration so compiler will catch error instead of a runtime catch.
Change 3437259 on 2017/05/12 by Joe.Barnes
Fix for clang producing a warning when not all specializations of a templated function are marked FORCEINLINE.
Also, switch a specialization of BlendTransform() from a function with a check to just a declaration so compiler will catch error instead of a runtime catch.
Change 3440758 on 2017/05/16 by Ben.Woodhouse
Simple threaded CSV Profiler
To capture:
- On the commandline, add -csvCaptureFrames=N to capture N frames from startup
- On the console, use csvprofile start, csvprofile stop or csvprofile frames=N to capture a fixed number of frames
- Instrument with CSV_SCOPED_STAT(statname), CSV_CUSTOM_STAT(statname,value).
CSV capture is enabled in all builds except shipping
- Please do not check in the instrumentation √ we don╞t want to pollute the engine with lots of additional instrumentation. We may add some minimal level of instrumentation at some point
Change 3440954 on 2017/05/16 by Josh.Adams
- Cleaned up some DeviceProfiles in BaseDP.ini
Change 3443778 on 2017/05/17 by Ben.Woodhouse
Aliasing for transient resources + new high level API
Changelists integrated:
3368830
3368887
3377762
3377763
3379513
3381840
3382046
3382138
3385390
3385391
3385531
3396613
3388752
3396756
3397007
3397059
3397780
3397883
3401716
3415179
Change 3451460 on 2017/05/22 by Ben.Woodhouse
Fix editor crash (NULL dereference of ScreenSpaceShadowTexture) when moving the camera around in tm-shadermodels, probably fallout from the VRAM aliasing merge. Not sure if this is the correct fix, but it prevents the crash for now
Change 3451601 on 2017/05/22 by Josh.Adams
- Track idle time from MaxTickRate, so that stat unit is accurate on Game: thread
Change 3452025 on 2017/05/22 by Ben.Woodhouse
Integrate (as edit) CL 3378734 (editor crash fix)
Also add a check for null in LightFunctionRendering.cpp
Change 3452389 on 2017/05/22 by Josh.Adams
- Replaced POCulturePluralForms with a static array, instead of TMapBuilder (was blowing stack or similar on Switch Debug). Code courtesy of Jamie Dale.
Change 3452758 on 2017/05/22 by Joe.Barnes
Add FindFirstClearBit() and FindFirstSetBit() to TStaticBitArray.
Change 3455889 on 2017/05/23 by Ben.Woodhouse
Integrate from //UE4/Main/...@3453436 to //UE4/Dev-Console/...
Change 3458654 on 2017/05/25 by Joe.Conley
Attempting to fix Static Analysis warning.
Change 3462710 on 2017/05/26 by Ben.Woodhouse
Integrate from //UE4/Main/...@3461688 to //UE4/Dev-Console/...
Change 3471711 on 2017/06/02 by Jonathan.Fitzpatrick
Updating MallocProfiler to use the accessor for OnOutOfMemory delegate to conform with change made in CL 3415996.
Change 3473813 on 2017/06/05 by Ben.Woodhouse
Fix streaming visibility logic bug reported on UDN
#jira UE-43892
Change 3475298 on 2017/06/06 by Luke.Thatcher
[CONSOLE] [!] Fix RHITransitionResources crash with more than 16 textures.
- Old command had a fixed sized array of 16 textures that would overflow.
- New command allocates an array of texture pointers inline in the command list, so any number is supported.
#jira UE-45625
Change 3476776 on 2017/06/06 by Ben.Woodhouse
Integrate from //UE4/Main/...@3475908
Change 3479083 on 2017/06/07 by Ben.Woodhouse
Integrate as edit CL 3467315 from dev-animphys:
From Alexis Matte.
Ensure SectionMap is fixed up for old entries that are no longer valid.
#JIRA UE-45438
#jira UE-45735
Change 3480576 on 2017/06/08 by Ben.Woodhouse
Integrate from //UE4/Main/...@3480024 to //UE4/Dev-Console/...
[CL 3483258 by Luke Thatcher in Main branch]
2017-06-09 17:44:13 -04:00
|
|
|
Ret.Flags &= ~(TexCreate_FastVRAM | TexCreate_Transient);
|
2014-10-15 16:18:43 -04:00
|
|
|
Ret.Reset();
|
|
|
|
|
Ret.DebugName = TEXT("SubsurfaceVisualize");
|
|
|
|
|
Ret.Format = PF_FloatRGBA;
|
|
|
|
|
return Ret;
|
2019-04-01 19:37:48 -04:00
|
|
|
}
|