Files
UnrealEngineUWP/Engine/Source/Runtime/Renderer/Private/PostProcess/VisualizeShadingModels.cpp

200 lines
7.3 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
/*=============================================================================
PostProcessVisualizeShadingModels.cpp: Post processing VisualizeShadingModels 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/VisualizeShadingModels.h"
#include "StaticBoundShaderState.h"
#include "CanvasTypes.h"
#include "UnrealEngine.h"
#include "RenderTargetTemp.h"
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
#include "SceneUtils.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209340 on 2016/11/23 by Ben.Marsh Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h. Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms. * Every header now includes everything it needs to compile. * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first. * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h. * Every .cpp file includes its matching .h file first. * This helps validate that each header is including everything it needs to compile. * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more. * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there. * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible. * No engine code explicitly includes a precompiled header any more. * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies. * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files. Tool used to generate this transform is at Engine\Source\Programs\IncludeTool. [CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
#include "PostProcess/SceneRenderTargets.h"
#include "PostProcess/SceneFilterRendering.h"
#include "SceneRenderTargetParameters.h"
#include "PostProcess/PostProcessing.h"
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
#include "PipelineStateCache.h"
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
/** Encapsulates the post processing eye adaptation pixel shader. */
class FPostProcessVisualizeShadingModelsPS : public FGlobalShader
{
DECLARE_SHADER_TYPE(FPostProcessVisualizeShadingModelsPS, Global);
static bool ShouldCache(EShaderPlatform Platform)
{
return IsFeatureLevelSupported(Platform, ERHIFeatureLevel::SM4);
}
static void ModifyCompilationEnvironment(EShaderPlatform Platform, FShaderCompilerEnvironment& OutEnvironment)
{
FGlobalShader::ModifyCompilationEnvironment(Platform, OutEnvironment);
}
/** Default constructor. */
FPostProcessVisualizeShadingModelsPS() {}
public:
FPostProcessPassParameters PostprocessParameter;
FDeferredPixelShaderParameters DeferredParameters;
FShaderParameter ShadingModelMaskInView;
/** Initialization constructor. */
FPostProcessVisualizeShadingModelsPS(const ShaderMetaType::CompiledShaderInitializerType& Initializer)
: FGlobalShader(Initializer)
{
PostprocessParameter.Bind(Initializer.ParameterMap);
DeferredParameters.Bind(Initializer.ParameterMap);
ShadingModelMaskInView.Bind(Initializer.ParameterMap,TEXT("ShadingModelMaskInView"));
}
void SetPS(const FRenderingCompositePassContext& Context, uint16 InShadingModelMaskInView)
{
const FPixelShaderRHIParamRef ShaderRHI = GetPixelShader();
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
FGlobalShader::SetParameters<FViewUniformShaderParameters>(Context.RHICmdList, ShaderRHI, Context.View.ViewUniformBuffer);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
PostprocessParameter.SetPS(ShaderRHI, Context, TStaticSamplerState<SF_Point,AM_Clamp,AM_Clamp,AM_Clamp>::GetRHI());
DeferredParameters.Set(Context.RHICmdList, ShaderRHI, Context.View);
static FLinearColor SoftBits[sizeof(InShadingModelMaskInView) * 8] = {}; // init with 0.0f
for(uint32 i = 0; i < sizeof(InShadingModelMaskInView) * 8; ++i)
{
float& ref = SoftBits[i].R;
ref -= Context.View.Family->DeltaWorldTime;
ref = FMath::Max(0.0f, ref);
if(InShadingModelMaskInView & (1 << i))
{
ref = 1.0f;
}
}
SetShaderValueArray(Context.RHICmdList, ShaderRHI, ShadingModelMaskInView, SoftBits, sizeof(InShadingModelMaskInView) * 8);
}
// FShader interface.
virtual bool Serialize(FArchive& Ar) override
{
bool bShaderHasOutdatedParameters = FGlobalShader::Serialize(Ar);
Ar << PostprocessParameter << DeferredParameters << ShadingModelMaskInView;
return bShaderHasOutdatedParameters;
}
};
IMPLEMENT_SHADER_TYPE(,FPostProcessVisualizeShadingModelsPS,TEXT("VisualizeShadingModels"),TEXT("MainPS"),SF_Pixel);
FRCPassPostProcessVisualizeShadingModels::FRCPassPostProcessVisualizeShadingModels(FRHICommandList& RHICmdList)
{
// AdjustGBufferRefCount(-1) call is done when the pass gets executed
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);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
}
void FRCPassPostProcessVisualizeShadingModels::Process(FRenderingCompositePassContext& Context)
{
SCOPED_DRAW_EVENT(Context.RHICmdList, PostProcessVisualizeShadingModels);
const FPooledRenderTargetDesc* InputDesc = GetInputDesc(ePId_Input0);
const FSceneView& View = Context.View;
const FViewInfo& ViewInfo = Context.View;
const FSceneViewFamily& ViewFamily = *(View.Family);
FIntRect SrcRect = View.ViewRect;
FIntRect DestRect = View.ViewRect;
FIntPoint SrcSize = InputDesc->Extent;
const FSceneRenderTargetItem& DestRenderTarget = PassOutputs[0].RequestSurface(Context);
// Set the view family's render target/viewport.
SetRenderTarget(Context.RHICmdList, DestRenderTarget.TargetableTexture, FTextureRHIRef());
Context.SetViewportAndCallRHI(DestRect);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
FGraphicsPipelineStateInitializer GraphicsPSOInit;
Context.RHICmdList.ApplyCachedRenderTargets(GraphicsPSOInit);
GraphicsPSOInit.BlendState = TStaticBlendState<>::GetRHI();
GraphicsPSOInit.RasterizerState = TStaticRasterizerState<>::GetRHI();
GraphicsPSOInit.DepthStencilState = TStaticDepthStencilState<false, CF_Always>::GetRHI();
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
TShaderMapRef<FPostProcessVS> VertexShader(Context.GetShaderMap());
TShaderMapRef<FPostProcessVisualizeShadingModelsPS> PixelShader(Context.GetShaderMap());
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3357411) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3244756 on 2017/01/03 by Marcus.Wassmer Copying //Tasks/UE4/Dev-Niagara@3244743 to Dev-Rendering (//UE4/Dev-Rendering) Change 3248667 on 2017/01/05 by Olaf.Piesche Resaving default asset because of engine verison issue; maybe unnecessary, but resaving niagara engine content to be sure #jira UE-40160 Change 3249324 on 2017/01/06 by Marcus.Wassmer Resave with an actual version to stop cook warning Change 3249611 on 2017/01/06 by Marcus.Wassmer Just remove warning-causing niagara data for now. Change 3308052 on 2017/02/16 by Rolando.Caloca DR - Check for Vulkan SDK, and only use it if it's newer or the same as the headers we distribute Change 3308109 on 2017/02/16 by Rolando.Caloca DR - Upgrade glslang to 1.0.39.1 Change 3308111 on 2017/02/16 by Rolando.Caloca DR - Update Vulkan distribution to 1.0.39.1 Change 3308153 on 2017/02/16 by Rolando.Caloca DR - Updated glslang libs Change 3308842 on 2017/02/17 by Rolando.Caloca DR - Fixed copy/paste Change 3310007 on 2017/02/17 by Chris.Bunner Back out CL 3221219 - causing MIC generation issues and superseded by CL 3273971. #jira UE-37792 Change 3310154 on 2017/02/17 by Chris.Bunner Assert when attempting to add a custom material attribute already in the base attributes list. Change 3310155 on 2017/02/17 by Chris.Bunner PR #3231: Validate material index before accessing (Contributed by projectgheist) #jira UE-41774, UE-41788 Change 3310162 on 2017/02/17 by Chris.Bunner PR #3252: Added MobileMaterialInterface to UsedMaterials (Contributed by projectgheist) #jira UE-41823, UE-41950 Change 3310176 on 2017/02/17 by Chris.Bunner Merging CL 3233886: AMD HDR support (requires r.AMDSupportsHDRDisplayOutput=1 in ini). Update to AGS 5.0.5. Partial code tidy up. Change 3310187 on 2017/02/17 by Chris.Bunner Preserve constant expressions rather than always casting after translating a material attribute. Losing the notion of constant means we can't correctly detect used properties and falsely enable e.g. PDO. Happened because of the incorrect component masks in BreakMaterialNodes which then had to be downcast to the correct type which is done as an inline fragment rather than swizzle expression. #jira UE-41594 Change 3310215 on 2017/02/17 by Chris.Bunner Prevent SpeedTree node compiling for skeletal meshes (not supported as uses more UV sets than available). More descriptive error for missing Cubemap UV input on TextureSample material node . #jira UE-33098 Change 3310838 on 2017/02/18 by Joe.Graf Moved some private functions to public for a licensee #CodeReview: matt.kuhlenschmidt #rb: n/a Change 3311876 on 2017/02/20 by Rolando.Caloca DR - Expose skin cache cvar r.SkinCache.AccumulationBufferSizeInKB #jira UE-42014 Change 3314139 on 2017/02/21 by Rolando.Caloca DR - Minor cleanup pass - Remove FVulkanPendingState - Renamed some classes for clarity - Hoist pending UAVs for flush out to pending compute state Change 3314642 on 2017/02/21 by Rolando.Caloca DR - Some more renaming Change 3315431 on 2017/02/21 by Ben.Salem Properly set default values for test time out and tick. We now will default to ticking once per second, and tracking the macro stats of GPU/Render/Game thread time. #tests Ran showdown demo several times Change 3316710 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Fix refract intrinsic Change 3316718 on 2017/02/22 by Rolando.Caloca DR - hlslcc - Built libs to pick up change from 3316710 - refract fix Change 3316820 on 2017/02/22 by Benjamin.Hyder updating Tm-TrigNodes map Change 3317192 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317528 on 2017/02/22 by Benjamin.Hyder Updating QA-Decals map Change 3317639 on 2017/02/22 by Benjamin.Hyder Updating Decal on Complex Mesh example in QA-Decals Change 3317764 on 2017/02/22 by Benjamin.Hyder Final updates to QA-Decals Change 3318319 on 2017/02/22 by Rolando.Caloca DR - minor reorg/rename Change 3318379 on 2017/02/22 by Rolando.Caloca DR - more cleanup Change 3321181 on 2017/02/24 by Rolando.Caloca DR - Fix GL bug Change 3321247 on 2017/02/24 by Rolando.Caloca DR - Fix misc bugs Change 3321898 on 2017/02/24 by Chris.Bunner Only issue clear TLV dispatch if required. #jira UERNDR-193 Change 3321904 on 2017/02/24 by Chris.Bunner Added comment for potential future optimization. Change 3322013 on 2017/02/24 by Uriel.Doyon Fixed separate translucency being affected by Gaussian DOF #jira UE-40489 Change 3322517 on 2017/02/24 by Uriel.Doyon Fixed issue with InvestigateTexture command removing budget limit. Fixed StreamingBounds show flag not working. It nows shows the streaming bound for the currently selected textures. #jira UE-40485 Change 3323470 on 2017/02/27 by Chad.Garyet Removing DDC job from dev-rendering Change 3323479 on 2017/02/27 by Chad.Garyet Removing RDU agent type Change 3323519 on 2017/02/27 by Chad.Garyet removing NCL/LHR/SEA agent types to clean up space Change 3323639 on 2017/02/27 by Benjamin.Hyder More updates to QA-Decals Change 3324207 on 2017/02/27 by Uriel.Doyon Fixed typo ScaleTexturesByGlobalMyBias -> ScaleTexturesByGlobalMipBias Removed bad merge in FStreamingTextureLevelContext::GetBuildDataIndexRef Change 3324396 on 2017/02/27 by Uriel.Doyon Fixed an issue with the Streaming Bounds show flag interferring with the static level data initialization #jira UE-40485 Change 3325227 on 2017/02/28 by Chris.Bunner Fix-up AMD AGS libs. Change 3325566 on 2017/02/28 by Uriel.Doyon Fixed possible out-of-bound access in GetUsedTexture() when passing ERHIFeatureLevel::Num Change 3326009 on 2017/02/28 by Uriel.Doyon Better fix for 3325566, as the previous fix would ignore the material instance overrides. Change 3327058 on 2017/03/01 by Benjamin.Hyder Preparing TM_Shadermodels map for automation Change 3328222 on 2017/03/01 by Chris.Bunner Prevent decals from drawing in separate translucency pass. Whilst user control and material relevance were already removed, if the flag was checked before being disabled (by swapping to decal domain) this was still being read in the render loop, now explicitly ignores decals. #jira UE-42449, UE-42446 Change 3329848 on 2017/03/02 by Uriel.Doyon Added some extra logs to help track UE-42168 Change 3329977 on 2017/03/02 by Rolando.Caloca DR - Fix bad clear value Change 3330008 on 2017/03/02 by Benjamin.Hyder More preparations for QA-Decals automation Change 3330754 on 2017/03/02 by Daniel.Wright Prominent comment explaining reflection env async compute usage and why it's not overlapped with anything Change 3331451 on 2017/03/03 by Marc.Olano Manually unroll simplex noise loop to avoid PSO bug on AMD/Metal Change 3331839 on 2017/03/03 by Rolando.Caloca DR - hlslcc - add missing file to project Change 3332247 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel PR #3305 #jira UE-42393 Change 3332259 on 2017/03/03 by Rolando.Caloca DR - Fix bad index into pixel formats PR #3237 #jira UE-41855 Change 3332305 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers PR #3271 #jira UE-32618 Change 3332313 on 2017/03/03 by Rolando.Caloca DR - Fix for integrated intel (properly) PR #3305 #jira UE-42393 Change 3332317 on 2017/03/03 by Rolando.Caloca DR - OpenGL SRV for index buffers (properly) PR #3271 #jira UE-32618 Change 3332368 on 2017/03/03 by Rolando.Caloca DR - Minor fixes so -sm4 and -sm5 can be used on windows with OpenGL/Vulkan Change 3333690 on 2017/03/06 by Daniel.Wright [Copy] Changing movable skylight properties no longer affects static draw lists Change 3333693 on 2017/03/06 by Daniel.Wright [Copy] Added 'r.AOListMeshDistanceFields' which dumps out mesh distance fields sorted by memory size, useful for directing content optimizations Change 3333705 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance fields are now 8 bit fixed point by default, but can be changed back to 16 bit floating piont with a project setting. * 8 bit uses half memory but introduces error for thin surfaces or large meshes. Change 3333721 on 2017/03/06 by David.Hill DecalProxy: Copy float FadeScreenSize to FDeferredDecalProxy for use in the render thread. This avoids pointer chasing to the UDecalComponent (game thread component). Change 3333772 on 2017/03/06 by Daniel.Wright [Copy] Scene motion blur data is only updated for the main renderer frames. Fixes scene captures and planar reflections breaking object motion blur. Change 3333790 on 2017/03/06 by Daniel.Wright [Copy] Mesh distance field generation uses Embree, for a 2.5x speedup * Can switch back to old kDOP generation with 'r.DistanceFieldBuild.UseEmbree 0' for debugging Change 3333822 on 2017/03/06 by Daniel.Wright [Copy] Moved mesh distance field code into MeshDistanceFieldUtilities.cpp * Moved FMeshUtilities to its own header so the 8k line MeshUtilites.cpp file can be further split up Change 3333827 on 2017/03/06 by Daniel.Wright [Copy] Range compress 8bit distance fields - gets one extra bit of precision on average Change 3333828 on 2017/03/06 by Daniel.Wright [Copy] Raised High ShadowQuality to 2048 as 1024 for CSM is way too low Change 3333831 on 2017/03/06 by Daniel.Wright Non-editor compile fix Change 3333836 on 2017/03/06 by Daniel.Wright [Copy] Workaround for gobal distance field volume textures being bloated by 4x on PS4 due to the recommended tiling modes. They now use a 2d tiling mode which avoids the bloat, saving 96Mb. Change 3333843 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionExponent to skylight component * Useful for brightening up indoors without losing contact shadows as MinOcclusion does Change 3333845 on 2017/03/06 by Daniel.Wright [Copy] Capsule shadow BP functions Change 3333850 on 2017/03/06 by Daniel.Wright [Copy] Added OcclusionCombineMode to skylight component Change 3333854 on 2017/03/06 by Daniel.Wright [Copy] Gnm properly registers clears as GPU work so those events show up in profilegpu Change 3333857 on 2017/03/06 by Daniel.Wright [Copy] Clear light attenuation for local lights with a quad covering their screen extents * Clearing the entire light attenuation buffer costs .1ms on PS4. This optimization lowers the minimum cost of a shadow casting light from .15ms -> .03ms. * Shadowed lights in Fortnite with 25 lights 3.7ms -> 1.42ms on PS4 Change 3333860 on 2017/03/06 by Daniel.Wright [Copy] Flush deferred deletes when reallocating distance field atlas to reduce peak memory Change 3333861 on 2017/03/06 by Daniel.Wright [Copy] Disable all distance field features on Intel cards as HD 4000 hangs in the RHICreateTexture3D call to allocate the large atlas Change 3333869 on 2017/03/06 by Daniel.Wright [Copy] Volumetric Fog using a volume texture mapped to the camera frustum * Volumetric fog can be enabled on an Exponential Height Fog component with additional controls * Lights have a VolumetricScatteringIntensity * New cvars r.VolumetricFog, r.VolumetricFog.GridPixelSize, r.VolumetricFog.GridSizeZ, r.VolumetricFog.DepthDistributionScale * Lighting features supported: * Directional light with CSM and a light function * Point / spot lights without shadows / light functions / IES profiles * Skylight with occlusion from distance fields * Analytical height fog covers the view range past where the volumetric fog ends * Temporal reprojection is used on the volumetric fog scattering and extinction to achieve stability * Translucency integrates properly into volumetric fog * Height fog StartDistance is not supported by volumetric fog and should be set to 0. Change 3333894 on 2017/03/06 by Daniel.Wright [Copy] Initialize GDummyVolumetricFogGlobalDataUniformBuffer outside of parallel rendering Change 3333902 on 2017/03/06 by Daniel.Wright [Copy] Better handling of volumetric fog enabled with distance of 0 Change 3333903 on 2017/03/06 by Daniel.Wright [Copy] Fixed volumetric fog trying to render light functions for a point light Change 3333908 on 2017/03/06 by Daniel.Wright [Copy] Volumetric materials * Added new material domain Volume, which can output Scattering, Absorption and Emissive. All properties are in world space densities. * Particle systems using the Volume domain are voxelized based on their ParticlePosition and ParticleRadius * Volumetric fog integration is now energy conservative - scattering is integrated against transmission over the depth of each slice. * Added bOverrideLightColorsWithFogInscatteringColors to exponential height fog, which can be enabled to make Volumetric Fog match Height fog more closely Change 3334134 on 2017/03/06 by Daniel.Wright [Copy from Michael Trepka] Added Embree 2.14.0 and changed MeshUtilities to use it as this solves issues with Embree leaking TLS keys. UnrealLightmass is still using older Embree 2.7.0 until we can find time to properly test it with the new version. Also, invalidated distance field DDC to force it to rebuild with updated Embree. Change 3334420 on 2017/03/06 by Daniel.Wright Fixed RTDF shadows Change 3335467 on 2017/03/07 by Benjamin.Hyder Initial submission of QA-Decals map to EngineTest Change 3335556 on 2017/03/07 by Daniel.Wright Changed mesh distance field default format back to R16f Change 3338020 on 2017/03/08 by Daniel.Wright Disable volumetric fog in vertex shaders for feature levels which don't support it Change 3339394 on 2017/03/09 by Chris.Bunner Correctly handle material texture translation error edge case. #jira UE-42579, UE-42670 Change 3339992 on 2017/03/09 by Daniel.Wright Only compile volumetric fog shaders on supporting platforms Change 3341858 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) #RB Rolando.Caloca, Marcus.Wassmer, Daniel.Wright, Nick.Penwarden, Mark.Satterthwaite Change 3342004 on 2017/03/10 by Arne.Schober Copying //UE4/Dev-Rendering-PSO to Dev-Rendering (//UE4/Dev-Rendering) Fix unity build #RB Marcus.Wassmer Change 3343307 on 2017/03/13 by Marcus.Wassmer Update showflags when we are guaranteed it will happen in all possible ways to spawn the scenecapture. (drag into editor, PIE, -game, etc) Change 3343732 on 2017/03/13 by Rolando.Caloca DR - Vulkan compute pipeline & refactor Change 3344846 on 2017/03/14 by Rolando.Caloca DR - Android compile fixes Change 3344883 on 2017/03/14 by Rolando.Caloca DR - Add missing stencil load/store to PSO initializer Change 3344985 on 2017/03/14 by Rolando.Caloca DR - Made load/store actions uint8 Change 3345141 on 2017/03/14 by Rolando.Caloca DR - vk - Rework render pass hash Change 3345304 on 2017/03/14 by Benjamin.Hyder Updating TM-Distancefields map to include TemplateFloor mesh Change 3345387 on 2017/03/14 by Rolando.Caloca DR - Add _RenderThread calls for Create*Shader so RHIs can choose not to stall when creating Change 3345388 on 2017/03/14 by Rolando.Caloca DR - Do not stall when creating shaders on Vulkan Change 3345722 on 2017/03/14 by Chris.Bunner PR #3357: MinimalAPI add to many material expressions (Contributed by DeanoC) #jira UE-42752 Change 3345723 on 2017/03/14 by Chris.Bunner Reduce log verbosity causing spamming during landscape editing. #jira UE-42714 Change 3345725 on 2017/03/14 by Chris.Bunner [Duplicate 3341860] Fixed material translation error with multiple connections from custom interpolator nodes. Change 3345726 on 2017/03/14 by Chris.Bunner Typo fixes. Change 3345732 on 2017/03/14 by Rolando.Caloca DR - Decouple vertex declaration off BSS Change 3345746 on 2017/03/14 by Chris.Bunner Added sign() intrinsic material graph node and delisted material function workaround. Change 3346042 on 2017/03/14 by Chris.Bunner Implement missing size query interface for FRenderTargetResources. #jira UE-41672 Change 3346387 on 2017/03/14 by Daniel.Wright [Copy] Added VolumetricScatteringIntensity to particle lights Change 3346389 on 2017/03/14 by Daniel.Wright [Copy] Clamp Volumetric material attributes to fp16 range to avoid INFs Disable volumetric fog when the fog show flag is disabled Change 3346392 on 2017/03/14 by Daniel.Wright [Copy] Fixed skylight being much too bright on volumetric fog Change 3346406 on 2017/03/14 by Daniel.Wright [Copy] CSM resolution is now controlled by r.Shadow.MaxCSMResolution. * Changed HighPC to use 1024 MaxShadowResolution (max for all non-CSM shadows), saves 60Mb in Fortnite Change 3346412 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for translucency lighting 3d textures, saves 13Mb Change 3346414 on 2017/03/14 by Daniel.Wright [Copy] TexCreate_ReduceMemoryWithTilingMode for volumetric fog 3d textures, saves 13Mb Change 3346415 on 2017/03/14 by Daniel.Wright [Copy] Missing file from cl 3338451 Change 3346421 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaNs in volumetric fog due to rendering when height fog is disabled * Volumetric fog converts NaNs to black now so they don't spread Change 3346422 on 2017/03/14 by Daniel.Wright [Copy] Fixed NaN in volumetric fog with low density values Change 3346423 on 2017/03/14 by Daniel.Wright [Copy] Changed default VolumetricFogScatteringDistribution to .2 Change 3346430 on 2017/03/14 by Daniel.Wright [Copy] New translucent material option to compute fog per pixel instead of the default per vertex Change 3346432 on 2017/03/14 by Daniel.Wright [Copy] Moved Volumetric Fog parameters to view uniform buffer for translucency pass Fixed lifetimes of temporary Volumetric Fog render targets Change 3346526 on 2017/03/14 by Daniel.Wright [Copy] Volumetric Fog supports point and spot light shadows * These lights are injected separately so that per-light resources can be bound (shadow depth map, static shadow depth map) * Forward lighting of local lights can be forced with 'r.VolumetricFog.InjectShadowedLightsSeparately 0' * Shadowed lights come at a cost: 2.9ms for volumetric fog on 970 -> 4.2ms with shadowing Change 3347053 on 2017/03/15 by Rolando.Caloca DR - android compile fix Change 3347384 on 2017/03/15 by Rolando.Caloca DR - Fix merge issue Change 3347643 on 2017/03/15 by Marcus.Wassmer Fix some bugs with the 'disable stationary skylight ffor the project' feature. Fixes lighting in Persona on Paragon. Change 3347979 on 2017/03/15 by Rolando.Caloca DR - Allow to automatically apply cached rendertargets to PSO initializer Change 3348024 on 2017/03/15 by Rolando.Caloca DR - Remove NullPS on Vulkan to avoid deadlock Change 3348303 on 2017/03/15 by Rolando.Caloca DR - Fix for debugging SCW with material SRT Change 3348357 on 2017/03/15 by Marcus.Wassmer Fix stencildither and a stencilref bug that was probably breaking decals sometimes. Change 3348549 on 2017/03/15 by Marcus.Wassmer Hopefully fix static analysis for potential nullptr access. Change 3348614 on 2017/03/15 by Marcus.Wassmer Duplicate some switch changes to fix crash on launch. Change 3349369 on 2017/03/16 by Gil.Gribb Fixed botched merge Change 3349947 on 2017/03/16 by Rolando.Caloca DR - Fix for mismatched primitive type Change 3349956 on 2017/03/16 by Benjamin.Hyder initial updates to TM-DistanceFields map Change 3350151 on 2017/03/16 by Rolando.Caloca DR - Fix UT compile issue Change 3350155 on 2017/03/16 by Rolando.Caloca DR - Catch mismatched primitive type on PSOs on D3D11 Change 3350192 on 2017/03/16 by Daniel.Wright Fix for point light shadow depths rendering with wrong cull mode due to PSO refactor Change 3350736 on 2017/03/16 by Daniel.Wright Fixed formatting from merge Change 3350881 on 2017/03/16 by Rolando.Caloca DR - Fix texture arrays as UAVs on Metal Change 3350927 on 2017/03/16 by Rolando.Caloca DR - Fix warning Change 3350935 on 2017/03/16 by Daniel.Wright Fix for materials with non-Surface domains being skipped in mesh passes Change 3351583 on 2017/03/17 by Marcus.Wassmer Fix clang platforms Change 3351917 on 2017/03/17 by Marcus.Wassmer Fix linux compile Change 3351973 on 2017/03/17 by Marcus.Wassmer Fix mismatched rendertargetformat Change 3352038 on 2017/03/17 by Daniel.Wright Enabled GetAndOrCreateGraphicsPipelineState ensures in Development for testing Change 3352110 on 2017/03/17 by Marcus.Wassmer Fix missing RT PSO apply Change 3352695 on 2017/03/17 by Arne.Schober DR - Remove PSO Rendertarget check in DX12 Resolve with Shader. #RB Rolando.Caloca Change 3352960 on 2017/03/17 by Arne.Schober DR - Fix some things that slipped trough the PSO merge #RB none Change 3353150 on 2017/03/18 by Rolando.Caloca DR - compile fix Change 3353205 on 2017/03/18 by Arne.Schober DR - Fix Incremental Compile and PS4 runtime error where CMASK is not allowed for ThickTile Mode #RB none Change 3353207 on 2017/03/18 by Arne.Schober DR - Fix Confusion #RB none Change 3355183 on 2017/03/20 by Nick.Bullard Fixed up Content orginzation for Decals automation tests in EngineTest Change 3355627 on 2017/03/20 by Arne.Schober DR - [UE-43094] - removed ensure in comporiton graph as control of the clear color cannot be gurantueed. Change 3356342 on 2017/03/21 by Marcus.Wassmer Fix clang errors Change 3356591 on 2017/03/21 by Arne.Schober DR - Fix ensure message #RB none Change 3356873 on 2017/03/21 by Arne.Schober DR - Fix comparission of undefined values in RendertargetApply Check Change 3357261 on 2017/03/21 by Marcus.Wassmer Fix LinuxEditor compile Change 3357294 on 2017/03/21 by Marcus.Wassmer Add missing SSE functions Change 3357351 on 2017/03/21 by Frank.Fella Fix win32 and linux compiler errors Change 3357370 on 2017/03/21 by Arne.Schober DR - disable ensure in test builds #RB Marcus.Wassmer [CL 3357449 by Marcus Wassmer in Main branch]
2017-03-21 17:46:52 -04:00
GraphicsPSOInit.BoundShaderState.VertexDeclarationRHI = GFilterVertexDeclaration.VertexDeclarationRHI;
GraphicsPSOInit.BoundShaderState.VertexShaderRHI = GETSAFERHISHADER_VERTEX(*VertexShader);
GraphicsPSOInit.BoundShaderState.PixelShaderRHI = GETSAFERHISHADER_PIXEL(*PixelShader);
GraphicsPSOInit.PrimitiveType = PT_TriangleList;
SetGraphicsPipelineState(Context.RHICmdList, GraphicsPSOInit);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
PixelShader->SetPS(Context, ((FViewInfo&)View).ShadingModelMaskInView);
// Draw a quad mapping scene color to the view's render target
DrawRectangle(
Context.RHICmdList,
DestRect.Min.X, DestRect.Min.Y,
DestRect.Width(), DestRect.Height(),
SrcRect.Min.X, SrcRect.Min.Y,
SrcRect.Width(), SrcRect.Height(),
DestRect.Size(),
SrcSize,
*VertexShader,
EDRF_UseTriangleOptimization);
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3072736) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3055495 on 2016/07/19 by Marc.Olano Allow Noise material node on mobile No reason to exclude mobile, except for Fast Gradient Noise, which uses 3D textures. Allow this node on ES2 for all of the other noise functions. #jira UE-33345 Change 3055602 on 2016/07/19 by Luke.Thatcher Fix crash bug in D3D11 RHI when selecting adapters. - Array of adapter descriptors will get out of sync with the adapter index if any adapter is skipped (e.g. the Microsoft Basic Render Device). #jira UE-33236 Change 3055890 on 2016/07/19 by Daniel.Wright Improved the assert in LoadModuleChecked so we won't have to check the log to see which module it was Change 3055891 on 2016/07/19 by Daniel.Wright Fixed Global Distance Field not dirtying previous object position on UpdateTransform - left behind a phantom shadow on teleports * This will effectively double partial distiance field update costs until clipping of the update regions is implemented Change 3055892 on 2016/07/19 by Daniel.Wright Higher poly light source shapes drawn into reflection captures Change 3055893 on 2016/07/19 by Daniel.Wright More info to 'Incompatible surface format' GNM assert Change 3055904 on 2016/07/19 by Daniel.Wright Reflection environment normalization improvements * Indirect specular from reflection captures is now mixed with indirect diffuse from lightmaps based on roughness, such that a mirror surface will have no mixing. Reflection captures now match other reflection methods like SSR and planar reflections much more closely. * When a stationary skylight is present, Reflection captures are now normalized as if the initial skylight will always be present, giving consistent results with static skylight reflections. The skylight and reflection captures with sky removed used to be normalized separately, compacting the relative brightness between the sky and scene. * Added r.ReflectionEnvironmentLightmapMixing for debugging lightmap mixing issues. This toggle was previously not possible due to prenormalizing the capture data. * The standard deferred reflection path (r.DoTiledReflections 0) can no longer match the results of the compute path or base pass reflections, as it would require MRT to accumulate the average brightness * Removed unused r.DiffuseFromCaptures * Cost of reflection environment on PS4 increased from 1.52ms -> 1.75ms with this change, but decreased back to 1.58ms by reducing tile size to 8x8 Change 3055905 on 2016/07/19 by Daniel.Wright Workaround for RTDF shadows not working on PS4 - manual clear of ObjectIndirectArguments instead of RHICmdList.ClearUAV Change 3059486 on 2016/07/21 by Nick.Penwarden Testing #uecritical Change 3060558 on 2016/07/21 by Daniel.Wright Fixed skylight with specified cubemap being black Change 3061999 on 2016/07/22 by Marcus.Wassmer Disable old AMD driver hacks for DX11. QA has already tested with them off and given thumbs up. Change 3062241 on 2016/07/22 by Daniel.Wright Fixed bug in RHISupportsSeparateMSAAAndResolveTextures that was preventing MSAA for any non-Vulkan platforms Change 3062244 on 2016/07/22 by Daniel.Wright Discard old prenormalized reflection environment data on load Change 3062283 on 2016/07/22 by Daniel.Wright MSAA support for the forward renderer * AntiAliasing method is chosen in Rendering project settings, DefaultSettings category * Deferred passes like shadow projection, fogging and decals are only computed per-pixel and can introduce aliasing * Added Rendering project setting VertexFoggingForOpaque, which makes height fog cheaper and work properly with MSAA * The AntiAliasing method in PostProcessSettings has been removed, this may affect existing content * Added r.MSAACount which defaults to 4 * Integrated wide custom resolve filter from Oculus renderer, controlled by r.WideCustomResolve * GBuffer targets are no longer allocated when using the forward renderer * Decal blend modes that write to the GBuffer fall back to SceneColor emissive only Change 3062666 on 2016/07/23 by Uriel.Doyon Added legend to streaming accuracy viewmodes Added a new helper class FRenderTargetTemp to be reused in different canvas rendering. Exposed the pass through pixel shader so that it can be reused. #review-3058986 @marcus.wassmer Change 3063023 on 2016/07/25 by Luke.Thatcher Fix "RecompileShaders Changed" when using Cook On The Fly. #jira UE-33573 Change 3063078 on 2016/07/25 by Ben.Woodhouse Add -emitdrawevents command line option to emit draw events by default. This is useful when capturing with Renderdoc Change 3063315 on 2016/07/25 by Ben.Woodhouse Fix div 0 in motion blur. This caused artifacts in some fairly common cases #jira UE-32331 Change 3063897 on 2016/07/25 by Uriel.Doyon Fixed missing qualifier on interpolants Change 3064559 on 2016/07/26 by Ben.Woodhouse Fix for cooker crash with BC6H textures (XB1, but may affect other platforms). Also fixes corruption issue with texture slices not being a multiple of 4 pixels (expanding as necessary), courtesy of Stu McKenna at the Coalition Tested fix on xbox, PC and PS4, using QAGame #jira UE-28592 Change 3064896 on 2016/07/26 by Ben.Woodhouse Fix compile errors on PS4 (the variable "sample" was conflicting with a keyword, causing compile errors). Also making encoding consistent on new shaders (ansi rather than UTF16) Change 3064913 on 2016/07/26 by Ben.Marsh Fix spelling of "Editor, Tools, Monolithics & DDC" node in Dev-Rendering build settings. Change 3065326 on 2016/07/26 by Uriel.Doyon Fixed UnbuiltInstanceBoundsList not being reset correctly, creating broken rendered primitives. #jira UE-32585 Change 3065541 on 2016/07/26 by Daniel.Wright Materials with a GBuffer SceneTexture lookup will fail to compile with forward shading Change 3065543 on 2016/07/26 by Daniel.Wright Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413 Change 3065545 on 2016/07/26 by Daniel.Wright Added material property bNormalCurvatureToRoughness, which can slightly reduce aliasing. Tweakable impact with r.NormalCurvatureToRoughnessScale. Fixed reflection capture feedback with base pass reflections Change 3066783 on 2016/07/27 by Daniel.Wright Moved PreShadowCacheDepthZ out of FSceneRenderTargets and into FScene, which fixes issues with cached preshadows and multiple scenes, including HighResScreenShot Disabled GMinScreenRadiusForShadowCaster on per-object shadows, which fixes popping when trying to increase shadow resolution from the defaults (r.Shadow.TexelsPerPixel 3) Change 3066794 on 2016/07/27 by Daniel.Wright Fixed crash rendering planar reflections due to NULL PostProcessSettings Change 3067412 on 2016/07/27 by Daniel.Wright Fix for OpenGL4 with uint interpolator Change 3068470 on 2016/07/28 by Daniel.Wright Fixed crash rendering translucency with translucent shadows which were determined to be invisible Change 3069046 on 2016/07/28 by Daniel.Wright Handle null Family in SetupAntiAliasingMethod Change 3069059 on 2016/07/28 by Daniel.Wright Added r.ReflectionEnvironmentBeginMixingRoughness (.1) and r.ReflectionEnvironmentEndMixingRoughness (.3), which can be used to tweak the lightmap mixing heuristc, or revert to previous behavior (mixing even on a mirror surface) Change 3069391 on 2016/07/28 by Daniel.Wright Fixed AverageBrightness being applied to reflections in gamma space in the mobile base pass, causing ES2 reflections to be overbright Change 3070369 on 2016/07/29 by Daniel.Wright r.ReflectionEnvironmentBeginMixingRoughness and r.ReflectionEnvironmentEndMixingRoughness set to 0 can be used to achieve old non-roughness based lightmap mixing Change 3070370 on 2016/07/29 by Daniel.Wright Bumped reflection capture DDC version to get rid of legacy prenormalized data Change 3070680 on 2016/07/29 by Marcus.Wassmer Fix slate ensure that is most likely a timing issue exposed by rendering. #ue-33902 Change 3070811 on 2016/07/29 by Marcus.Wassmer Fix ProjectLauncher errors when loading old versions #ue-33939 Change 3070971 on 2016/07/29 by Uriel.Doyon Updated ListTextures outputs to fix cooked VS non cooked differences and also to put enphasis on disk VS memory Change 3071452 on 2016/07/31 by Uriel.Doyon Updated the legend description for the (texture streaming) primitive distance accuracy view mode [CL 3072803 by Marcus Wassmer in Main branch]
2016-08-01 18:56:49 -04:00
FRenderTargetTemp TempRenderTarget(View, (const FTexture2DRHIRef&)DestRenderTarget.TargetableTexture);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
FCanvas Canvas(&TempRenderTarget, NULL, 0, 0, 0, Context.GetFeatureLevel());
float X = 30;
float Y = 28;
const float YStep = 14;
const float ColumnWidth = 250;
FString Line;
Canvas.DrawShadowedString( X, Y += YStep, TEXT("Visualize ShadingModels (mostly to track down bugs)"), GetStatsFont(), FLinearColor(1, 1, 1));
Y = 160 - YStep - 4;
uint32 Value = ((FViewInfo&)View).ShadingModelMaskInView;
Line = FString::Printf(TEXT("View.ShadingModelMaskInView = 0x%x"), Value);
Canvas.DrawShadowedString( X, Y, *Line, GetStatsFont(), FLinearColor(0.5f, 0.5f, 0.5f));
Y += YStep;
UEnum* Enum = FindObject<UEnum>(NULL, TEXT("Engine.EMaterialShadingModel"));
check(Enum);
Y += 5;
for(uint32 i = 0; i < MSM_MAX; ++i)
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3284872 on 2017/02/03 by Graeme.Thornton Seperate pak cache granularity from pak signing chunk size Change 3285765 on 2017/02/03 by Graeme.Thornton Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread #jira UE-41478 Change 3286913 on 2017/02/04 by Ben.Marsh IncludeTool: Merging fixes. * Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead. * Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation. Change 3287100 on 2017/02/05 by Ben.Marsh UBT: Move platform settings into platform-specific TargetRules objects. Change 3287106 on 2017/02/05 by Ben.Marsh Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information. Change 3287398 on 2017/02/06 by Steve.Robb Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together. Change 3287399 on 2017/02/06 by Steve.Robb Log verbosities made more readable in the debugger. Change 3287410 on 2017/02/06 by Steve.Robb Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all. #fyi marc.audy Change 3288020 on 2017/02/06 by Ben.Marsh Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly. Change 3291817 on 2017/02/08 by Steve.Robb New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools. Change 3292090 on 2017/02/08 by Graeme.Thornton Crash fix - don't update font engine services if it was never created #jira UE-33953 Change 3292993 on 2017/02/08 by Ben.Marsh Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH) Change 3293231 on 2017/02/08 by Ben.Marsh BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed. Change 3294213 on 2017/02/09 by Ben.Marsh EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty. Change 3294753 on 2017/02/09 by Ben.Zeigler #jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated Change 3296070 on 2017/02/09 by Ben.Zeigler Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction. Change 3296420 on 2017/02/10 by Graeme.Thornton Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed Refactored encryption and signing key access in unrealpak to make it easier to use Change 3296609 on 2017/02/10 by Ben.Marsh BuildGraph: Fix error running the <Copy> task with an empty "From" argument. * FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator) * FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory. Change 3297440 on 2017/02/10 by Ben.Marsh UBT: Move the FileFilter class into UnrealBuildTool. Change 3297725 on 2017/02/10 by Ben.Zeigler #jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both. Clean up a lot of confusingly named and broken functions on UEnum: #jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings #jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions Delete some now redundant enum editor code and pipe everything through UEnum Change 3297979 on 2017/02/10 by Ben.Zeigler Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior Change 3298299 on 2017/02/10 by Steve.Robb TTuple improvements: - equality comparable - serializable - in the correct folder 2-tuples are specialized to be syntactically compatible with both TPair and TTuple. TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer. #fyi robert.manuszewski,ben.marsh Change 3298460 on 2017/02/11 by Ben.Marsh UGS: Set the correct result from running custom tasks. Change 3298462 on 2017/02/11 by Ben.Marsh UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated. Change 3299447 on 2017/02/13 by Graeme.Thornton Fix AES and pak signing key embedding for content only projects - Force temp target when any keys are specified by project config Change 3299649 on 2017/02/13 by Steve.Robb PLATFORM_HAS_DEFAULTED_OPERATORS fixed. Other obsolete compiler switches removed. Change 3299787 on 2017/02/13 by Steve.Robb IsAbstract() for testing if a reflected native type contains pure virtual functions. Needed for BP nativization. #fyi robert.manuszewski Change 3300576 on 2017/02/13 by Ben.Marsh EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter. Change 3300600 on 2017/02/13 by Ben.Marsh EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces. Change 3300624 on 2017/02/13 by Ben.Marsh Switch incremental builds for all streams to start up on the incremental agent. Change 3302134 on 2017/02/14 by Steve.Robb UnrealCodeAnalyzer removed. #fyi ben.marsh,robert.manuszewski Change 3302639 on 2017/02/14 by Ben.Zeigler Fix crash cooking odin with default command line #jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified Change 3303002 on 2017/02/14 by Ben.Zeigler #jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level #jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway Fix it so -cooksinglepackage works properly again and excludes localization and startup packages Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate Change 3303084 on 2017/02/14 by Ben.Zeigler Attempt to get Nativization and EDL working without warnings Change 3305153 on 2017/02/15 by Ben.Zeigler Fix Fortnite and Orion cook, I don't understand why this passed my local testing Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning Change 3305959 on 2017/02/16 by Gil.Gribb UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms. Change 3306159 on 2017/02/16 by Ben.Marsh Fix path to target binaries when building non-monolithic in a unique build environment. Change 3306584 on 2017/02/16 by Steve.Robb UEnum internal functions renamed from Index to Value. GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values. #fyi ben.zeigler Change 3307836 on 2017/02/16 by Ben.Zeigler #jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually Fixes lighting in Infiltrator demo Change 3307929 on 2017/02/16 by Ben.Zeigler #jira UE-42055 Second half of matinee redirector fix Change 3308840 on 2017/02/17 by Matthew.Griffin Reimplementing CL#3305808 from 4.15 Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases) Change 3309115 on 2017/02/17 by Ben.Marsh Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on, before many of the game settings have been initialized, so just return the directory containing the Core module instead. Change 3309120 on 2017/02/17 by Ben.Marsh Fix support for creating modular builds which don't use the shared build environment. Change 3309125 on 2017/02/17 by Ben.Marsh Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator. Change 3309128 on 2017/02/17 by Ben.Marsh Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces. Change 3309131 on 2017/02/17 by Ben.Marsh Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again. Change 3309140 on 2017/02/17 by Ben.Marsh UAT: Fix exception moving a file from one location to another if the target directory does not exist. Change 3309212 on 2017/02/17 by Ben.Marsh Fixes/improvements for mod editor and code mods: * A separate top-level project is generated for each code mod in the Visual Studio solution. * Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods. * Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds. * Plugin browser now includes a separate category for mods. * Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings. Change 3309231 on 2017/02/17 by Steve.Robb Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<. #jira UE-42052 Change 3309248 on 2017/02/17 by Ben.Marsh Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true. Change 3309257 on 2017/02/17 by Ben.Marsh Prevent game binaries from being renamed for hot reload when working with installed projects. Change 3309355 on 2017/02/17 by Steven.Hutton Changes to make the website compatible with the new database changes. Change 3309371 on 2017/02/17 by Ben.Marsh Fix exception on shutdown when running asset registry with threads disabled. #jira UE-41951 Change 3309389 on 2017/02/17 by Ben.Zeigler #jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node Change 3309570 on 2017/02/17 by Gil.Gribb UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4. Change 3310039 on 2017/02/17 by Ben.Marsh BuildGraph: Prevent exception when trying to delete a file that does not exist. Change 3311484 on 2017/02/20 by Chris.Wood CrashReportProcess crash add retry logic improvements (CRP v1.2.16) Change 3311600 on 2017/02/20 by Matthew.Griffin Updated StripSymbols functions so that all platforms can deal with the source and target file being the same Change 3311675 on 2017/02/20 by Steve.Robb FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack. Change 3311893 on 2017/02/20 by Ben.Marsh UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines. Change 3313966 on 2017/02/21 by Ben.Marsh Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too. Change 3314398 on 2017/02/21 by Ben.Zeigler #jira UE-42212 Fix shutdown of AnimGraph module to be safer [CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
FString Name = Enum->GetNameStringByValue(i);
Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) #lockdown ben.marsh ========================== MAJOR FEATURES + CHANGES ========================== Change 2774277 on 2015/11/19 by Gil.Gribb UE4 - Did minor optimizations to the PS4 RHI and drawlists. Change 2791226 on 2015/12/04 by Uriel.Doyon Added source code for Embree 2.7.0 Removed duplicate files from the /doc folder. Change 2800193 on 2015/12/11 by Marcus.Wassmer SSAO AsyncCompute support. #rb Martin.Mittring Change 2801631 on 2015/12/14 by Olaf.Piesche Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic #rb martin.mittring Change 2803240 on 2015/12/15 by Gil.Gribb UE4 - Added command to collect stats on spammy stats. Change 2803476 on 2015/12/15 by Rolando.Caloca DR - Allow toggling compute skin dispatch at runtime - r.SkinCacheShaders Now enable the shaders and feature - r.SkinCaching enables toggling at runtime - r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting - Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes) #codereview Marcus.Wassmer, Martin.Mittring Change 2803940 on 2015/12/15 by Marcus.Wassmer Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes. So far it looks like WaveLimits behave better in UE4. Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries. In my testing this takes SSAO cost from .5ms -> .2ms. However it had to be hacked to run without normals. Hopefully Martin can get some real AsyncSSAO in. #rb Martin.Mittring #codereview Martin.Mittring Change 2803999 on 2015/12/15 by Uriel.Doyon Refactored the shader complexity material override logic to allow other viewmodes shader overrides. TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming. WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming. Added an option to stream textures based on the AABB distance instead of using the sphere approximation. Added an option to only keep a the wanted mips. Moved optimization related viewmodes into a submenu to avoid polluting the interface. #jira UE-24502 #jira UE-24503 #jira UERNDR-89 Change 2804150 on 2015/12/15 by Olaf.Piesche make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency #rb martin.mittring Change 2804367 on 2015/12/15 by Daniel.Wright Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map Change 2805293 on 2015/12/16 by Olaf.Piesche logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.) #rb martin.mittring Change 2805586 on 2015/12/16 by Zabir.Hoque Adding support for decals to fade and destroy themselves automatically. #CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche Change 2807663 on 2015/12/17 by Rolando.Caloca DR - Remove expensive logging #codereview Marcus.Wassmer Change 2807903 on 2015/12/17 by Zabir.Hoque Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints. #CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche Change 2809261 on 2015/12/18 by Martin.Mittring Added VisualizeShadingModels to track down issues like that: FORT-16913 Textures on Hero Mesh is not shown #rb:David.Hill #code_review:Bob.Tellez Change 2810136 on 2015/12/21 by Rolando.Caloca DR - Added back draw event colors PR #1602 #jira UE-21526 #codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams Change 2810680 on 2015/12/21 by Martin.Mittring moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering #test:editor Change 2811205 on 2015/12/22 by Brian.Karis Pulled clear coat out of the reflection compute shader. Added permutation for skylight. Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade. Change 2811275 on 2015/12/22 by David.Hill UE-24675 #rb martin.mittring Corrected buffer-size related problem with fringe. Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
Line = FString::Printf(TEXT("%d. %s"), i, *Name);
bool bThere = (Value & (1 << i)) != 0;
Canvas.DrawShadowedString(X + 30, Y, *Line, GetStatsFont(), bThere ? FLinearColor(1, 1, 1) : FLinearColor(0, 0, 0) );
Y += 20;
}
Line = FString::Printf(TEXT("(On CPU, based on what gets rendered)"));
Canvas.DrawShadowedString( X, Y, *Line, GetStatsFont(), FLinearColor(0.5f, 0.5f, 0.5f)); Y += YStep;
Canvas.Flush_RenderThread(Context.RHICmdList);
Context.RHICmdList.CopyToResolveTarget(DestRenderTarget.TargetableTexture, DestRenderTarget.ShaderResourceTexture, false, FResolveParams());
// AdjustGBufferRefCount(1) call is done in constructor
FSceneRenderTargets::Get(Context.RHICmdList).AdjustGBufferRefCount(Context.RHICmdList, -1);
}
FPooledRenderTargetDesc FRCPassPostProcessVisualizeShadingModels::ComputeOutputDesc(EPassOutputId InPassOutputId) const
{
FPooledRenderTargetDesc Ret = GetInput(ePId_Input0)->GetOutput()->RenderTargetDesc;
Ret.Reset();
Ret.DebugName = TEXT("VisualizeShadingModels");
return Ret;
}