#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3162206 on 2016/10/13 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3161593:
Material expressions; Trig, fast-trig, saturate, round, truncate, pre-skinned normal.
Added CustomEyeTangent to material attributes.
Resolved some hard-coded attribute typing and other minor fixes.
Change 3186067 on 2016/11/03 by Daniel.Wright
Updated Stationary primitive tooltip to indicate that it allows the primitive to be changed, but not moved
Change 3186069 on 2016/11/03 by Daniel.Wright
Using a weighted geometric mean to combine multiple Distance Field Indirect Shadows, greatly reduces over-occlusion when overlap is high
Change 3186084 on 2016/11/03 by Mark.Satterthwaite
Duplicate 3172511:
Don't set Metal resource option fields on texture descriptors when running on an OS that doesn't support them.
#jira UE-37481
Change 3186089 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3169764:
Fixed automatic conversion of G8_sRGB into RGBA8_sRGB required for Mac Metal, which fixes FORT-27627.
#jira FORT-27627
Change 3186113 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183807:
Change the way we access the Metal viewport's backbuffer, to reduce possible causes of FORT-31649:
- Added console variable "rhi.Metal.SupportsIntermediateBackBuffer" to control whether to use an extra render-target so we can support screenshots & movie capture, or render directly to the back-buffer to save memory & GPU performance. Still defaults to ON for Mac & OFF for iOS/tvOS.
- Change the way we handle updates to the back-buffer size to ensure that the different threads access their intended version.
#jira FORT-31649
Change 3186116 on 2016/11/03 by Mark.Satterthwaite
Duplicate CL #3183823:
Record Metal resource & state objects used in a command-buffer when rhi.Metal.RuntimeDebugLevel is set to 3 or higher. The object labels, types & descriptions will be printed on failure - if the object is deleted prior to this then we have a lifetime error and it will crash at this point and can be debugged further using our -metalretainrefs command-line option or Xcode's zombie-objects.
Used to verify that FORT-31649 is not a simple resource lifetime error and thereby speed up Apple/vendor investigations.
#jira FORT-31649
Change 3186818 on 2016/11/04 by Chris.Bunner
PR #2907 Export UMaterialExpressionNoise (contributed by kayosiii).
Change 3186979 on 2016/11/04 by Rolando.Caloca
DR - Misc minor cleanup
Change 3187169 on 2016/11/04 by Uriel.Doyon
Incremental insertion of level data between PostLoad and AddToWorld
Change 3187205 on 2016/11/04 by Mark.Satterthwaite
Compile fixes for iOS.
Change 3187389 on 2016/11/04 by Uriel.Doyon
Fix for possible stall when loading hidden level
Change 3187598 on 2016/11/04 by Michael.Trepka
MetalViewport compile fix
Change 3187678 on 2016/11/04 by Uriel.Doyon
Fix for landscape grass textures not being streamed in correctly.
Change 3187731 on 2016/11/04 by Rolando.Caloca
DR - Start making type safe some cross compiler enums
Change 3187824 on 2016/11/04 by Rolando.Caloca
DR - clang compile fix
Change 3187953 on 2016/11/04 by Rolando.Caloca
DR - vk - Mac compile fix
Change 3188696 on 2016/11/07 by Mark.Satterthwaite
Another iOS compile fix for new MetalViewport validation code.
Change 3188906 on 2016/11/07 by Rolando.Caloca
DR - Show permutation of LUTBlender
Change 3189094 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3189134 on 2016/11/07 by Daniel.Wright
Fix for CreateRenderTarget2D called in construction script during cooking
Change 3189145 on 2016/11/07 by Chris.Bunner
Follow-up to CL 3186818, export UMaterialExpressionVectorNoise.
Change 3189239 on 2016/11/07 by Daniel.Wright
Added show flag for Contact Shadows, disabled in planar reflections
Change 3189252 on 2016/11/07 by Daniel.Wright
Support for Reflection Capture intensity with simple reflections, which are the default with Forward Shading
Change 3189406 on 2016/11/07 by Mark.Satterthwaite
Really fix the last of the iOS compile errors from changes to the MetalViewport code.
Change 3190854 on 2016/11/08 by Ben.Woodhouse
XB1: Fix memory corruption with RHICreateVertexBuffer and RHICreateIndexBuffer when using initial data (Procedural Mesh Component crash)
#jira UE-34264
#fyi james.golding
#fyi keith.judge
Change 3190962 on 2016/11/08 by Olaf.Piesche
Unshelved from pending changelist '3176615' - Gil's fix for race condiiton with particle vertex factory reuse across different passes; potential to fix a number of issues
Change 3191959 on 2016/11/09 by Uriel.Doyon
Removed some static primitives from the dynamic primitive handler for texture streaming.
Change 3193122 on 2016/11/10 by Chris.Bunner
Always update non-preview material resources for use in code preview.
#jira UE-38223
Change 3193190 on 2016/11/10 by Gil.Gribb
UE4 - Fixed rare bug with shadow groups rendering things that have not been setup to render this frame.
#jira UE-36379
Change 3193523 on 2016/11/10 by Uriel.Doyon
Fixed incorrect section bounds used for texture streaming.
Change 3193962 on 2016/11/10 by Uriel.Doyon
Added defrag of dynamic bounds used for the texture streaming. Allows to remove unused bounds over time.
Change 3193974 on 2016/11/10 by Uriel.Doyon
New "Required Texture Resolution" view mode. Showing the ratio between the currently streamed texture resolution and the resolution wanted by the GPU.
Change 3194109 on 2016/11/10 by Uriel.Doyon
Another patch on material bounds used for texture streaming.
Change 3194665 on 2016/11/11 by Chris.Bunner
Duplicated behavior for inherited velocity scaling scaling to vert/surface spawned particles.
Change 3194734 on 2016/11/11 by Rolando.Caloca
DR - vk - Simplified some texture casting
Change 3194867 on 2016/11/11 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3195176 on 2016/11/11 by Chris.Bunner
Fixed incorrectly updated NVAPI error.
Change 3195425 on 2016/11/11 by Uriel.Doyon
Fixed possible invalid level reference in the texture streamer
Change 3196512 on 2016/11/14 by Gil.Gribb
Merging //UE4/Dev-Main@3196156 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3196750 on 2016/11/14 by Marcus.Wassmer
Fix ordering problem with GPU cache transitions
Change 3196815 on 2016/11/14 by Daniel.Wright
Suppressed 'Instanced stereo rendering is not supported' warning showing up in CIS
Change 3196818 on 2016/11/14 by Daniel.Wright
Fixed FIndirectLightingCache::UpdateCachePrimitivesInternal churning through a bunch of temporary memory
Change 3196819 on 2016/11/14 by Daniel.Wright
Volume lighting samples are allowed outside of the importance volume if their influence affects the volume. Fixes black indirect lighting on movable components in maps with small importance volumes.
Volume lighting samples placed on surfaces use a radius that covers the layer height spacing, which prevents an uncovered region between layers
Change 3197243 on 2016/11/14 by Uriel.Doyon
Async Task For Updating static component LastRender time
#jira UE-24268
Change 3197359 on 2016/11/14 by Daniel.Wright
Added Inscattering Texture controls to ExponentialHeightFog
* When InscatteringColorCubemap is specified, directional light inscattering is disabled
* Lerps betwen 1x1 mip at NonDirectionalInscatteringColorDistance to mip 0 at FullyDirectionalInscatteringColorDistance
* Added FogCutoffDistance, so artists can prevent fog on skyboxes (requires fog to be setup matching the fog that was rendered into the sky texture so that distant mountains match)
* Fog shader permutations based on what feature is enabled
Change 3198419 on 2016/11/15 by Chris.Bunner
PS4 HDR: Runtime toggle (backbuffer recreation on resize matching), UI composition. Matches PC behavior and controls.
HDR: Generalized buffer formats, cvar consistency pass, LUT for UI composition, refactoring common functions.
Exposed RHICreateTargetableShaderResource3D.
Moved some (translucent) volume rendering helpers to allow access in Slate.
Change 3198822 on 2016/11/15 by Daniel.Wright
Mac compile fix
Change 3199509 on 2016/11/15 by Uriel.Doyon
Added support for viewmode param asset name (and note just param value).
Used to investigate texture streamer behavior.
Change 3199578 on 2016/11/15 by Rolando.Caloca
DR - Add some shader resource tables to SCW when running with -directcompile
Change 3199698 on 2016/11/15 by Rolando.Caloca
DR - vk - Refactor shader & descriptor bindings
Change 3199712 on 2016/11/15 by Rolando.Caloca
DR - vk - r.Vulkan.StripGlsl to always strip glsl at runtime to save memory per shader
Change 3199717 on 2016/11/15 by Rolando.Caloca
DR - vk - Show hitching PSO info again
Change 3199750 on 2016/11/15 by Rolando.Caloca
DR - SCW clang compile fixes
Change 3200353 on 2016/11/16 by Rolando.Caloca
DR - vk - Mac fix
Change 3200358 on 2016/11/16 by Chris.Bunner
Only allow UI composition on platforms we currently use it.
Change 3200823 on 2016/11/16 by Chris.Bunner
Remove expression key attribute ID when not translating an attribute output to allow intended expression sharing.
#jira UE-38699
Change 3200947 on 2016/11/16 by Mark.Satterthwaite
Fix UE-38695 by not trying to resize the viewport on the wrong thread.
#jira UE-38695
Change 3201069 on 2016/11/16 by Daniel.Wright
Fog inscattering texture limited to SM4 and above, fixes ES2 compile errors
Change 3201346 on 2016/11/16 by Brian.Karis
Temporal AA fix for correct edge gradients.
Filtering now combined with importance sampling.
Enabled Catmull-Rom resolve filter. Results are now slightly sharper.
Fixed antighosting. Will yet require a dilation to be perfect.
Optimized bicubic filtering to 5 taps instead of 9.
Cleaned out unused code.
Change 3201369 on 2016/11/16 by Brian.Karis
Bicubic texture sample
Change 3201522 on 2016/11/16 by Rolando.Caloca
DR - vk - Fix static analysis issues
Change 3201878 on 2016/11/17 by Chris.Bunner
Temporarily disable Nvapi HDR error logging.
#jira UE-38529
Change 3202108 on 2016/11/17 by Simon.Tovey
Assets with easy repro for flickering particles bug
Change 3202181 on 2016/11/17 by Rolando.Caloca
DR - vk - CIS android fix
Change 3202325 on 2016/11/17 by Ben.Woodhouse
Integrate 4.14.1 fix from 14 //UE4/Release-4.14 (@3201850)
Fix CreateVertexbuffer and CreateIndexBuffer memory corruption (Procedural Mesh Component crash)
#jira UE-34264
Change 3204394 on 2016/11/18 by Guillaume.Abadie
PR #2808: AlphaComposite Fog Opacity fix (Contributed by moritz-wundke)
#br Ben.Woodhouse
Change 3204428 on 2016/11/18 by Guillaume.Abadie
Fixes a couple of issues in decals:
* Crash in FDecalDrawingPolicyFactory::DrawMesh()
* ActorPostion material expression
* PixelNormalWS material expression
* Missing renaming from DEFERRED_DECAL to DECAL_PRIMITIVE
#jira UE-38327, UE-38158, UE-37818, UE-37350
Change 3204429 on 2016/11/18 by Uriel.Doyon
Darker default undefined accuracy.
Reenabled the texture streaming build in the build all.
Change 3204458 on 2016/11/18 by Chris.Bunner
Shader truncation warnings fix.
Change 3204459 on 2016/11/18 by Chris.Bunner
Engine 'Passthrough' material fuction fix. V4 is now actually a V4.
Change 3204460 on 2016/11/18 by Chris.Bunner
Correctly handle some known Nvapi warnings.
#jira UE-38529
Change 3204653 on 2016/11/18 by Marc.Olano
Helper functions for tiled textures
Checking in for Ryan Brucks
Change 3204863 on 2016/11/18 by Arne.Schober
DR - Replaced ENQUEUE_UNIQUE_RENDER_COMMAND with a Debuggable template Implementation
Change 3204939 on 2016/11/18 by Arne.Schober
DR - Make clang happy
Change 3204968 on 2016/11/18 by Arne.Schober
DR - UE-38494 - Fixed SpeedTree Wind crash, when force deleting the Asset.
Change 3206293 on 2016/11/21 by Uriel.Doyon
New member bHasStreamingUpdatePending in UTexture2D to delay update of global distance fields.
Set to true when the streamer can possibly load a mip in the near future.
#jira UE-37787
Change 3206551 on 2016/11/21 by Chris.Bunner
Added material update context when forcing all shaders to recompile.
#jira UE-38481
Change 3206644 on 2016/11/21 by Benjamin.Hyder
Updating Planar Reflection example in TM-Shadermodels.
Change 3206899 on 2016/11/21 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3206900 on 2016/11/21 by Rolando.Caloca
DR - Added missing strings for shader formats
Change 3206983 on 2016/11/21 by Rolando.Caloca
DR - vk - Support for SV_Coverage
Change 3207237 on 2016/11/22 by Simon.Tovey
Exporting particle module base and a couple of child classes as it's commonly requested.
#test compiles
Change 3207241 on 2016/11/22 by Gil.Gribb
Merging //UE4/Dev-Main@3206998 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3207520 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //Fortnite/Main@3206301
Fixed GPU hang in Zone Map view. Was an issue with RenderThread using the device context without appropriate RHIThread flushes.
#jira FORT-31616
#code_review keith.judge
Change 3207541 on 2016/11/22 by Ben.Woodhouse
Cherry picked from //fortnite/Main@3207422
* Fix UpdateTexture3D to create a staging texture of the region to update rather than the whole texture. This prevents distance fields crashing during update (allocating 18GB per frame in some cases)
* Put UpdateTexture2D DMA support onto a cvar, disabled by default (corruption issues reported by licensees, plus not sure it's actually faster - could be slower due to reduced bandwidth; issues reported by licensees)
* Fix UpdateTexture2D to only create a staging texture of the region to update, saving memory
#jira UE-38609
Change 3207654 on 2016/11/22 by Chris.Bunner
Don't flag 16-bit PNG/JPG textures as sRGB on import.
#jira UE-30279
Change 3208434 on 2016/11/22 by Rolando.Caloca
DR - vk - UAV transitions
Change 3208490 on 2016/11/22 by Chris.Bunner
Break material code sharing when we detect an unresolvable loop.
By default change IsResultMA loop detection to stop on functions as we can determine type definitively.
Unified IsResultMA detection across switch nodes.
Change 3208860 on 2016/11/23 by Rolando.Caloca
DR - vk - Fix some format issues
Change 3209265 on 2016/11/23 by Arne.Schober
DR - originally unshelved from 3153924 - Made Depth and Velocity Rendering Passes to use PSO only RHI interface,
We are now passing down two structs that collect all the necessary information for the drawing policies to construct a PSO object.
One during construction of the Policy, which contains information abouyt the CullMode, FillMode and PrimType.
And another during rendering that passes infomation like BlendState and DepthStencilState down to the low levelrenderer into SetSharedState.
Performance of the static drawlist ist slightly slower (less than 0.1ms on Consoles) due to some addtional branches and copies. The branches in the FDrawingPolicyRenderState will go away as soon as everything is converted to use the PSO interface.
Performace of the GPU is slightly better due to less context rolls (mainly CullMode sorts in differently now)
Change 3209305 on 2016/11/23 by Guillaume.Abadie
Fix contact shadow's assemption on objects thickness
Change 3209334 on 2016/11/23 by Brian.Karis
Fixed TAA handling of alpha. Switched the meaning of AA_ALPHA to make sense.
Change 3209903 on 2016/11/24 by Guillaume.Abadie
Cherry picks alpha through post processing changelists 3201959, 3204143 and 3209883 from //UE4/Private-Partner-NREAL
Change 3209973 on 2016/11/24 by Ben.Woodhouse
Fix D3D11 and 12 static analysis warnings reported by Rob Troughton of Coconut Lizard (http://coconutlizard.co.uk/blog/ue4/pvs-studio-part5/)
Change 3210023 on 2016/11/24 by Uriel.Doyon
Fixed an issue with DropDetail when FixedFrameRate was set to a value smaller than MinDesiredFrameRate.
#jira UE-37210
Change 3210026 on 2016/11/24 by Ben.Woodhouse
Disable renderthread hang detection if a debugger is present, so we can debug the renderthread without crashing
Change 3210049 on 2016/11/24 by Ben.Woodhouse
Fix mac build
Change 3210071 on 2016/11/24 by Uriel.Doyon
Fixed an issue with masked materials and shader complexity viewmode when DBuffer Decals are enabled.
#jira UE-37542
Change 3210374 on 2016/11/25 by Ben.Woodhouse
* Fix issues with fast cleared dbuffer targets not being resolved when no decals are in the scene. This caused graphical corruption on XB1 and ensure failures on PS4 (with RHIThread disabled)
* Move Decal rendertarget manager function implementations out of the header.
#jira UE-38879
Change 3210390 on 2016/11/25 by Uriel.Doyon
Fixed cubemap resourcesize not taking into account mipgen settings
#jira UE-37045
Change 3210407 on 2016/11/25 by Uriel.Doyon
"resavepackages" commandlet now supports -buildtexturestreaming that rebuilds the map texture streaming data.
That can be used in combination with -buildlighting.
Change 3210563 on 2016/11/27 by Rolando.Caloca
DR - vk - Integrate cached memory fixes and PF_D24 format fix
#jira UE-39025
PR #2974
Change 3210564 on 2016/11/27 by Rolando.Caloca
DR - Fix for GL linker
PR #2975
#jira UE-39029
Change 3210592 on 2016/11/27 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3210597 on 2016/11/27 by Rolando.Caloca
DR - vk - Prep for staging UB copies to GPU memory
Change 3210600 on 2016/11/27 by Rolando.Caloca
DR - vk - Extract generic range code
Change 3210613 on 2016/11/27 by Rolando.Caloca
DR - vk - Added r.Vulkan.SubmitOnDispatch
Change 3211054 on 2016/11/28 by Rolando.Caloca
DR - vk - Missing reference
Change 3211330 on 2016/11/28 by Chris.Bunner
Shader compile error for max texture coordinate count on skinned meshes.
Change 3211384 on 2016/11/28 by Arne.Schober
DR - Enforce move on EnqueueRenderCommand Lambda
Change 3211431 on 2016/11/28 by Gil.Gribb
Merging //UE4/Dev-Main@3211016 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3211738 on 2016/11/28 by Gil.Gribb
IWYU fixes after merge
Change 3212231 on 2016/11/28 by Richard.Wallis
Fix build errors
Change 3212253 on 2016/11/28 by Richard.Wallis
Remove MacGraphicsSwitching plugin.
#jira UE-37640
Change 3212310 on 2016/11/28 by Rolando.Caloca
DR - vk - Update glslang to 1.0.33.0
Change 3212446 on 2016/11/28 by Guillaume.Abadie
Implements PreviousFrameSwitch material expression
Change 3212594 on 2016/11/28 by Arne.Schober
DR - Fix missing include
Change 3212681 on 2016/11/29 by Rolando.Caloca
DR - vk - Auto flush for compute shader
Change 3213000 on 2016/11/29 by Gil.Gribb
temp fix for PF_MAX
Change 3213161 on 2016/11/29 by Ben.Woodhouse
Integrate latest D3D12 changes from //depot/Partners/Microsoft/UE4-DX12/...@3211714
Using:
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Runtime/D3D12RHI/...@3211714 //UE4/Dev-Rendering/Engine/Source/Runtime/D3D12RHI/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/ThirdParty/Windows/DirectX/...@3211714 //UE4/Dev-Rendering/Engine/Source/ThirdParty/Windows/DirectX/...
- p4 integrate //depot/Partners/Microsoft/UE4-DX12/Engine/Source/Programs/UnrealBuildTool/...@3211714 //UE4/Dev-Rendering/Engine/Source/Programs/UnrealBuildTool/...
Changes from UE4-DX12:
*** CL 3183818 ***
Update D3D12 RHI to 4.14:
- Merged changes from Epic up until 10/20/16
- Fixed an issue where command allocators where resetting too early. I changed to aggressive command list batching by default now that more SubmitCommandListHint calls exist in the upper engine, we don't need to worry about starving the GPU. Fewer ExecuteCommandLists calls means better performance and fewer Signals() so this change provides a GPU perf win.
I had to fix an issue with aggressive batching where we would sometimes hold on to a command list long enough (in the pending list) but hadn't executed it yet. The command allocator was being put back in the queue of allocators during ReleaseCommandAllocator() without a syncpoint set and was thus being reset too early. I added a simple counter to the command allocator so it could track how many command lists were using it. It doesn't need to be thread safe since only one thread uses a command allocator at a time.
I also added some stats around the # command lists and # command allocators since it would be possible to leak command allocators now if it's pending command list count isn't decremented correctly. In that case we'd keep creating new command allocators and eventually run out of memory.
-Remove clear during allocate in the FD3D12FastConstantAllocator and FD3D12FastAllocator. The supplied resource locations are assumed to be new and thus don't need to be cleared.
-Cleanup D3D12RHI stats. There were some unused stats as well as some missing ones.
-Mark shader resource table uniform buffers as dirty only when the shader changes. Cleanup SetComputeShader calls and Dispatch calls to not set/unset the CS for each Dispatch.
-Remove unused Check SRV resolved code that epic added to the D3D11 RHI and was brought over. We dont need it and we won't use this.
-Remove "always on" cycle counters for high frequency RHI methods like RHISetShaderTexture. These should use the engine's stat macros as they are removed on TEST + SHIPPING builds. On Xbox a significant amount of CPU time is spent in things like QueryPerformanceCounter even when STATS aren't enabled. Currently 1% of an entire capture on XBOX is spent inside this call.
I improved and cleaned up high freqency call stacks like:
- RHISetShaderTexture
- RHISetShaderResourceViewParameter
- RHISetShaderParameter
- RHISetUAVParameter
In general I moved to use templated functions, removed unused parameters, unnecessary copies, etc.
-Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Resources should be associated with the rendering thread's frame that it's currently recording command lists for and they shouldnt be cleaned up until those command lists have been translated to D3D12 command lists on the RHI thread AND completed executing on the GPU. This was confirmed to resolve an issue where CBV resources were being released too early.
This work involved a couple changes:
1) Move the "frame" fence to be incremented on the rendering thread (during RHIAdvanceFrameForGetViewportBackBuffer()) so that resources that are deleted from the rendering thread are assosicated with the correct frame count
2) Queue up a command from the rendering thread to signal the "frame" fence. It needs to be queued to ensure that it's signaled at the correct time on the RHI thread (after that frame's command lists have been executed).
-Disable GRHIRequiresEarlyBackBufferRenderTarget. Metal/Vulkan/Xbox11.x already do this. This is used by the Slate renderer during BeginRenderFrame and avoids a SetRenderTargets call.
-Enable GRHISupportsMSAADepthSampleAccess (used in the Editor). This was enabled for D3D11 on SM5, but not for D3D12.
-Delay load D3D12.dll and add root signature 1.1 support.
-Add explicit flush calls to improve resource barrier batching instead of implict flushes inside FConditionalScopeResourceBarrier and FScopeResourceBarrier. Also update those classes with const members.
*** CL 3183824 ***
Fix the D3D12 RHI after integrating UE 4.14 updates:
- Fixed a bug where we would try to get the PSO of a nullptr in SetPipelineState if we needed to reset the current PSO on the cmd list.
- Fixed a spelling error
- Removed the need for bForceState, we use dirty bits now
*** CL 3183830 ***
- GetDebugFlags RHI extension, needed by XB1 movie player.
- Only query memory info if stats are enabled
- Add support for the engine's new RHISubmitCommandsAndFlushGPU function
- Update CommitPendingPipelineState to be Graphics/Compute specific and avoid the need for a IsCompute parameter.
*** CL 3183837 ***
Made PipelineState caches contain pointers to FD3D12PipelineState objects to avoid issues with using pointers to after Find/Add to the maps. TMap indicates that the pointer to the value associated with a key "is only valid until the next change to any key in the map." The lifetime of the PSO pointers is managed by the low level caches (graphics and compute). Added stat for the number of Pipeline State Objects.
*** CL 3183931 ***
Update Windows D3D12 headers and libs to RS1 release bits (10.0.14393.0)
*** CL 3183978 ***
Update UBT Windows build settings:
- Change D3D12 PIX profiling enable/disable to match Xbox and handle logic in the UEBuildWindows.cs for UBT. Also add a static assert to inform the developer when PIX profiling is requested but the engine is compiling out draw events.
-Delay load D3D12.dll and add root signature 1.1 support.
*** CL 3184132 ***
Fix Xbox PSO cache code where it could leak PSOs. Related to change 3183837.
*** Changelist 3211714 ***
Update D3D12 RHI with fixes:
- Check if we can reserve slots in GatherUniqueSamplerTables
- DirtyState more often in StateCache
- Remove InternalSetSamplerState. The alternate function isn't used.
- Allow MRTClear for arrays with holes in them
- Fix uninitialized descriptors. This was causing a GPU hang on Xbox. We need to set dirty bits for resources bound to slots outside of the current descriptor table's range
- Cleanup SetDescriptorHeap code. Move setting descriptor heap logic to the descriptor cache since it also owns things like the sampler maps. Added members to the descriptor cache to track the last heaps that were set on the command list to avoid dirtying bit unnecessarily.
- Resource transitions: go through Common between queues (3D <--> Compute)
- Fix initial state for placed resources.
- Merging epic
Change 3213250 on 2016/11/29 by Chris.Bunner
GBufferHints tooltip fix.
#jira UE-39103
Change 3213345 on 2016/11/29 by Gil.Gribb
more IWYU fallout
Change 3213676 on 2016/11/29 by Rolando.Caloca
DR - Fix incorrect texture getting cleared
Change 3213728 on 2016/11/29 by Rolando.Caloca
DR - Lambda-ize
Change 3214461 on 2016/11/29 by Ben.Woodhouse
Rollout August QFE4 XDK (required for latest DX12 changes on XB1)
Change 3215317 on 2016/11/30 by Daniel.Wright
PS4 compile fix
Change 3216343 on 2016/11/30 by Arne.Schober
DR - UE-39155 - after talking to Brian it occurred to us that flipping the world space normal is non sensical. And indeed the Grass was using world space normals.
Change 3216844 on 2016/12/01 by Ben.Woodhouse
Fix for static analysis warnings after discussion with Microsoft
Change 3216916 on 2016/12/01 by Gil.Gribb
Merging //UE4/Dev-Main@3216539 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3217385 on 2016/12/01 by Arne.Schober
DR - UE-39218, UE-39221, UE-39224 and potentially UE-39214 - The Stencil bits for Light channels and decal application were not set in the dynamic basepass
Change 3217464 on 2016/12/01 by Ben.Woodhouse
Fix for reflection capture resize assert. The assert is only valid in cooked builds, so disable it in editor
#jira UE-39225
Change 3217534 on 2016/12/01 by Arne.Schober
DR - Fix Merge conflict
Change 3217581 on 2016/12/01 by Rolando.Caloca
DR - Fix assert on debug
Change 3217741 on 2016/12/01 by Benjamin.Hyder
Duplicate audio fix.
Change 3217890 on 2016/12/01 by Rolando.Caloca
DR - Fix widget not rendering properly when hidden
#jira UE-39221
Change 3218129 on 2016/12/01 by Arne.Schober
DR - UE-39214 - Lod dither value as accidently cached accross the static draw list.
Change 3218759 on 2016/12/02 by Guillaume.Abadie
Fixes editor compositing bug caused by alpha through post processing change 3209903
#jira UE-39221
[CL 3219854 by Marcus Wassmer in Main branch]
#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]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3122543 on 2016/09/13 by Ben.Woodhouse
Override HasOcclusion for Widget3DComponentProxy to detect if the material is has depth testing enabled.
#jira UE-35878
Change 3122544 on 2016/09/13 by Ben.Woodhouse
Shadow stencil optimisation with cvar (enabled by default)
Avoids redundant clearing the stencil buffer for per-object and pre shadows by zeroing the stencil during testing, following discussion on UDN.
This means we don't benefit from Hi Stencil on GCN for the shadow projection draw calls, but it's still faster in all the cases I could find, including for the player character where the bounding box is quite large. (Note: early stencil still works fine, according to PIX)
Shadow projection GPU time profiling :
Test map with 35 characters, stationary directional light
- 4ms-2ms on XB1
- 2.5ms to 0.9ms on PC (r9-390X)
- 3ms-2ms on PS4
Paragon PS4 (roughly 20% reduced - from ~0.39ms)
Change 3122687 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES31 crash
Change 3122691 on 2016/09/13 by Rolando.Caloca
DR - vk - Fixes for SDK 1.0.26.0
Change 3122778 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix number of layers on barrier
Change 3122921 on 2016/09/13 by Rolando.Caloca
DR - vk - Fix ES3.1
Change 3122925 on 2016/09/13 by Ben.Woodhouse
Fix sky lighting issue with skin and re-enable non-checkerboard lighting by default (fallout from lightaccumulator refactor)
#jira UE-35904
Change 3123016 on 2016/09/13 by Chris.Bunner
Fixed adaptive tessellation, broken by CL 3089208 refactor.
#jira UE-35341
Change 3123079 on 2016/09/13 by Rolando.Caloca
DR - vk - Force StoreOp store instead of DontCare everywhere (temporarily)
Change 3123503 on 2016/09/13 by David.Hill
#jira UE-25623
converted a check() to checkf() to include better diagnostic information.
Change 3123617 on 2016/09/13 by Guillaume.Abadie
Fixes artifact when the camera direction is almost parallel to a wide plane with SSR.
#jira UE-35128
Change 3123743 on 2016/09/13 by Brian.Karis
Separate mesh reduction interfaces for static and skeletal.
Zero bad tangents from input mesh.
Change 3125378 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Extract all the State which is necessary to execute the DebugTextDrawingDelegate from the SceneProxy into its own Helpers to be drawn to the canvas later on. The issue was that the SceneProxys are only owned by the RT after their creation and the GT should avoid reading from or writing state to them.
Change 3125527 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix UT build and mac
Change 3125741 on 2016/09/14 by Rolando.Caloca
DR - Extra debug mode for tracking down SCW crashes (r.DumpSCWQueuedJobs=1)
Change 3125763 on 2016/09/14 by Rolando.Caloca
DR - vk - Added new Renderpass cache
- Fix buffer barrier warning
Change 3125769 on 2016/09/14 by Rolando.Caloca
DR - Renamed cvar to r.DumpSCWQueuedJobs
Change 3125771 on 2016/09/14 by Rolando.Caloca
DR - Added support for SV_ClipDistance on GL3 & 4
Change 3125792 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Odin and PS4
Change 3125880 on 2016/09/14 by Arne.Schober
DR - [UE-34481] - Fix Fortnite
Change 3125968 on 2016/09/14 by Brian.Karis
Removed comment
Change 3126315 on 2016/09/15 by Ben.Woodhouse
GPU profiler robustness
- Change stat gathering update to handle multiple views and non-scenerenderer stats (such Slate) properly
- Simplify gathering logic
- Fix race condition where we could read back queries before they're submitted on the RHI thread.
- Fix for movie player stat gathering - disable gathering outside of the main engine tick
#jira UE-35975
Change 3126792 on 2016/09/15 by Rolando.Caloca
DR - vk - Release render pass cache
Change 3126804 on 2016/09/15 by Rolando.Caloca
DR - vk - Fix UpdateTexture2D()
#jira UE-34151
Change 3126884 on 2016/09/15 by Rolando.Caloca
DR - vk - Compile fix
Change 3126953 on 2016/09/15 by Rolando.Caloca
DR - Enable GPU capture when running OpenGL under RenderDoc
- Will also set the memory mode to non coherent so not to kill performance on RenderDoc
Change 3126966 on 2016/09/15 by Rolando.Caloca
DR - Allow cooking for Vulkan SM4 to help with packaging
Change 3127082 on 2016/09/15 by Guillaume.Abadie
Wraps up contact shadows for release fixing different artifacts and handling correctly their screen space length.
#jira UE-35367, UE-33602, UE-33603, UE-33604
#review-3125887 @brian.karis
Change 3127130 on 2016/09/15 by Mark.Satterthwaite
Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3127475 on 2016/09/15 by Rolando.Caloca
DR - vk - Debug dump
Change 3128131 on 2016/09/16 by Ben.Woodhouse
(Integrated from //UE4/Private-Partner-NREAL/...)
Alpha output support for postprocess materials (optional via a parameter)
Needed for end of frame compositing. Could be used to pass intermediate data from one blendable postprocess to another (e.g edge detection)
Change 3128135 on 2016/09/16 by Ben.Woodhouse
GPU profiler (PS4) - remove bubbles between commandlist submissions from query times
Use r.ps4.AdjustRenderQueryTimestamps cvar to enable/disable (defaults to on)
Also fixes some potential precision issues with unit GPU timing
Change 3128247 on 2016/09/16 by Rolando.Caloca
DR - vk - Cache framebuffers
Change 3128593 on 2016/09/16 by Rolando.Caloca
DR - vk - Fix for crash loading map
#jira UE-36072
Change 3128759 on 2016/09/16 by Mark.Satterthwaite
Back out changelist 3127130 - its causing a build failure in FPostProcessVelocityScatterVS because hlslcc is picking the wrong as_* overload.
Change 3130236 on 2016/09/19 by Chris.Bunner
Exposed full SceneCaptureComponent classes instead of select methods.
#jira UE-35996
Change 3130388 on 2016/09/19 by Rolando.Caloca
DR - Avoid crash when adding dynamic primitives
#jira UE-35327
Change 3130393 on 2016/09/19 by Marc.Olano
Improve vector noise tooltips & documentation
Change 3130547 on 2016/09/19 by Ben.Woodhouse
Fix for ensure fail when initializing point light shadowmaps.
This came about because cubemap rendertargets always have Extents of (Resolution, 0). The Y component was implicitly used to determine if it was a cubemap, which is odd... The fix was to make the definition explicit via a flag and initialize both the X and Y parameters.
I suspect the ensure started happening recently due to a more recent change, but fixing the underlying logic seems like the correct fix.
#jira UE-35837
Change 3130578 on 2016/09/19 by Daniel.Wright
Workaround OpenGL/NVidia bug with non-power-of-2 textures by disabling CSM atlassing if we're using OpenGL
Change 3130682 on 2016/09/19 by Rolando.Caloca
DR - Better fix for UE-35327
#jira UE-35327
Change 3130767 on 2016/09/19 by Uriel.Doyon
Better handling of color array in VisualizeComplexity code to prevent assert.
#jira UE-29332
Change 3130965 on 2016/09/19 by Arne.Schober
DR - [UE-35679] - the crash was caused by the Resource of the UTexture being Null. And one of the Kismet Nodes calling a function on that resource. The solution was to disable that call from Kismet when only cooking.
Change 3130967 on 2016/09/19 by Chris.Bunner
Hid redundant texture sampler properties from texture object parameter.
Hid redundant texture property input on texture parameter nodes.
Fixed copy-paste error in expression texture parameter docs.
#jira UE-32724
Change 3131118 on 2016/09/19 by Mark.Satterthwaite
Second attempt - this time with the correct input types. Add overloads to as* functions in hlslcc - HLSL allows you to call these on variables of the same type, in which case it simply returns the existing value but we had only defined the float<->u/int conversions, so hlslcc added implicit casts that broke such cases (i.e. asuint(uint) -> floatBitsToUint(float(uint))). This change defines the missing overloads as returns with regular casts.
#jira FORT-25869
#jira UE-34263
Change 3131153 on 2016/09/19 by Rolando.Caloca
DR - Fix recompute normals when triangles have a LHS tangent basis
Integrate from 3028634
- Also make meshes that don't have morphs be able to run through the recompute normals path
#jira UE-35472
Change 3131228 on 2016/09/19 by Mark.Satterthwaite
Duplicate CL #3114668: Always disable asynchronous shader compilation for the global shader map on Metal as some of them are needed very early.
#jira UE-35240
Change 3131246 on 2016/09/19 by Rolando.Caloca
DR - Shrink gpu skinning permutations
Change 3131261 on 2016/09/19 by Mark.Satterthwaite
Fix Metal validation failures due to particle rendering not binding buffers to all buffer inputs declared in the shader.
ContentExamples Effects no longer aborts complaining that the particle system didn't bind a required buffer.
Change 3131265 on 2016/09/19 by Mark.Satterthwaite
Fix FMetalDynamicRHI::RHIReadSurfaceData for shared textures on iOS.
Change 3131271 on 2016/09/19 by Mark.Satterthwaite
Use private memory for the Metal stencil SRV workaround needed on El Capitan.
Change 3131273 on 2016/09/19 by Mark.Satterthwaite
Disable the lazy-encoder construction in Metal for AMD - there is a situation that causes the lazy construction to perform a clear that isn't wanted and so far this hasn't been tracked down and fixed. Until then, this will render correctly.
Change 3131280 on 2016/09/19 by Mark.Satterthwaite
For GLSL interpolation mode flags must come before storage mode flags and you can't redeclare the system variable gl_Layer to use a differing interpolation mode.
Change 3131283 on 2016/09/19 by Mark.Satterthwaite
Change the ShaderCache to not cache resource bindings in the draw states for shader platforms that don't care - reduces the number of draw states considered significantly without reducing effectiveness. We can support ShaderCache with Metal SM5 but not the RHI thread enabled so change when we enable it and make sure we load the binary shader cache.
Change 3131402 on 2016/09/19 by Rolando.Caloca
DR - Disambiguate callstack
#jira UE-34415
Change 3131469 on 2016/09/19 by Rolando.Caloca
DR - vk - Check if we can allocate descriptors off a pool
Change 3131482 on 2016/09/19 by Rolando.Caloca
DR - vk - Remove unused var
Change 3131506 on 2016/09/19 by Mark.Satterthwaite
With permission from Josh.A & Michael.T, deprecate Mac OpenGL support. For now this just means visibly warning users with message boxes - but in a future release OpenGL support will be removed from macOS.
Change 3131536 on 2016/09/19 by Rolando.Caloca
DR - vk - Compile fix
Change 3131564 on 2016/09/19 by Rolando.Caloca
DR - vk - Submit Hint
- Disable framebuffer recycling as its causing a hang
Change 3131625 on 2016/09/19 by Mark.Satterthwaite
Inside MetalRHI add an optional cache for disposed texture objects so we may reuse them - controlled by CVAR rhi.Metal.TextureCacheMode which must be set prior to running as it can't be changed at runtime. Settings: 0 = off, 1 (default) = will attempt to reuse private memory texture objects within the frame they are released otherwise they are disposed of as before. Setting 2 extends the caching to all textures - though Managed/Shared textures cannot be reused until after the frame in which they were released has been processed on the GPU. In this mode id<MTLTexture> objects are never returned to the OS so in order to conserve VRAM calls to setPurgeableState are made to allow the driver to reclaim unusued memory if required.
Change 3131630 on 2016/09/19 by Mark.Satterthwaite
More statistics in Metal added to track down where performance was going in a particular project but which may be more generally useful.
Change 3131955 on 2016/09/20 by Gil.Gribb
Merging //UE4/Dev-Main@3129758 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3131978 on 2016/09/20 by Gil.Gribb
CIS fix
Change 3132584 on 2016/09/20 by Ben.Woodhouse
Add some additional checks to help track down a rare crash with terrain rendering and shader recompiling
#jira UE-35937
Change 3132696 on 2016/09/20 by Mark.Satterthwaite
Use set*Bytes to handle uploading buffers < 4Kb when available - this is faster than lots of small Metal buffers and reduces the amount of GPU heap fragmentation. Where the API feature isn't available or hasn't been tested yet we'll use another ring-buffer inside the MetalCommandEncoder to emulate it.
Change 3132772 on 2016/09/20 by Mark.Satterthwaite
Rework Metal's handling of RHISetStreamSource calls that override the stride of vertex declarations to be much more efficient.
Change 3132870 on 2016/09/20 by Ben.Woodhouse
Fix mac compile error
Change 3133049 on 2016/09/20 by Brian.Karis
Changed light source shapes in reflection captures to use alpha
Change 3133057 on 2016/09/20 by Brian.Karis
Alphaed out on spot light cone as well.
Change 3133263 on 2016/09/20 by Rolando.Caloca
DR - vk - Debug names for objects
Change 3133292 on 2016/09/20 by Rolando.Caloca
DR - vk - Fix SRGB upload/formats
Change 3133395 on 2016/09/20 by Rolando.Caloca
DR - vk - SM5 fixes
Change 3134026 on 2016/09/21 by Gil.Gribb
Merging //UE4/Dev-Main@3133983 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3134663 on 2016/09/21 by Chris.Bunner
Merging Dev-MaterialLayers to Dev-Rendering, CL 3134208. Initial material attribute extensibility changes.
#jira UE-34347
Change 3134730 on 2016/09/21 by Arne.Schober
DR - [UE-34481] - Fix minor brokenness found by Gil
Change 3134792 on 2016/09/21 by Chris.Bunner
Fixed compile errors for non-editor builds.
Change 3135214 on 2016/09/21 by Rolando.Caloca
DR - vk - Fix visualize texture
- Dump memory when OOM (to track leaks)
Change 3135225 on 2016/09/21 by Rolando.Caloca
DR - vk - Ensure on exit if mem leak
- Update fences if running wait for idle
Change 3135672 on 2016/09/22 by Gil.Gribb
Merging //UE4/Dev-Main@3135568 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3135793 on 2016/09/22 by Rolando.Caloca
DR - vk - Set dynamic state after binding pipeline or on a fresh cmd buffer
Change 3135816 on 2016/09/22 by Rolando.Caloca
DR - Add names for d3d on renderdoc
Change 3135894 on 2016/09/22 by Chris.Bunner
Fixed initialization order warning.
Change 3136024 on 2016/09/22 by Rolando.Caloca
DR - vk - Fix stencil faces
Change 3136042 on 2016/09/22 by Marcus.Wassmer
Fix compile error
Change 3136046 on 2016/09/22 by Chris.Bunner
Renamed material for PostTonemapHDRColor visualization to reflect actual usage.
Change 3136308 on 2016/09/22 by Uriel.Doyon
Changed how the component relative rotation is computed, in order to have more consistency after blueprint rescript.
#jira UE-36094
Change 3136798 on 2016/09/22 by Chris.Bunner
Gather object references from stereo view state in USceneCaptureComponent. This matches behavior of other classes such as ULocalPlayer.
Change 3137092 on 2016/09/22 by Rolando.Caloca
DR - vk - Rename pipeline to gfx pipeline
Change 3137263 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135157:
Fix one cause of Metal crashes loading into a zone - the PlanarReflection shader code needs to always set the IsStereoParameter so that the shader can perform the if-test without causing an invalid GPU access.
#jira FORT-30061
Change 3137265 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135169:
Correct Metal texture creation for AVF media framework - we can't provide a render-targetable version of the texture without blitting. The native texture we get is a GPU copy that can be made CPU accessible (i.e. it is not tiled).
Change 3137266 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3135237:
Metal validation layer fix: under Metal if there are no reads from the vertex stage-in buffers we should use the Empty vertex declaration, not the filter declaration, otherwise we have to bind a redundant vertex stream buffer to silence the validation layer.
Change 3137268 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3136033:
To fix the Fortnite login screen force Nvidia Macs to use the set*Bytes API for small buffer updates even on El Capitan. We can't do this globally as Intel didn't implement these functions until macOS Sierra.
Fix GPU selection code in MetalRHI to confirm everything is working.
#jira FORT-30385
Change 3137269 on 2016/09/22 by Mark.Satterthwaite
Duplicate CL #3137164:
Add stats to track exactly how many command buffers are allocated and committed each frame to work out why Fortnite on AMD is hanging, which turns out to be because each texture update/reallocation ends up in its own command-buffer. This needs to be rethought to pack these into fewer command buffers with the same synchronisation requirements to minimise command-buffer splits but for now we'll just make the default sufficiently large that we shouldn't see the hang until the work is done. Also ensure that command-buffer failure is always fatal - there is no way to recover or continue if a command-buffer fails.
#jira FORT-30377
Change 3137606 on 2016/09/23 by Gil.Gribb
Merging //UE4/Dev-Main@3137560 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3137936 on 2016/09/23 by Rolando.Caloca
DR - Split RHICmdList clear into color & ds in prep for changes
Change 3138346 on 2016/09/23 by Rolando.Caloca
DR - vk - Some renaming and splitting classes in prep for compute
Change 3138628 on 2016/09/23 by Rolando.Caloca
DR - vk - Fix mem leak on framebuffers
Change 3138721 on 2016/09/23 by Daniel.Wright
Better comment for r.DefaultFeature.AntiAliasing
Change 3138722 on 2016/09/23 by Daniel.Wright
Fixed assert from decals with MSAA due to binding the Scene Depth Texture instead of surface
Change 3138723 on 2016/09/23 by Daniel.Wright
Corrected GC doc
Change 3138892 on 2016/09/23 by Daniel.Wright
Fixed instanced static meshes being unbuilt after a lighting build if you ever cancelled a previous lighting build
Change 3138905 on 2016/09/23 by Daniel.Wright
"Optimizations" -> "Optimization Viewmodes"
Change 3138939 on 2016/09/23 by Daniel.Wright
Disabled the stationary light overlap viewmode with forward shading
Change 3139710 on 2016/09/26 by Rolando.Caloca
DR - Rename and added texture RHIClearDepthStencil -> RHIClearDepthStencilTexture
Change 3139820 on 2016/09/26 by Rolando.Caloca
DR - Remove prefix from shader frequency strings
Change 3139828 on 2016/09/26 by Marcus.Wassmer
Add SetShaderValue() specialization for bools on AsyncCompute commandlists to match the Gfx specialization.
Change 3139840 on 2016/09/26 by Benjamin.Hyder
Adding VectorNoise Examples to TM-Noise map
Change 3139862 on 2016/09/26 by Rolando.Caloca
DR - Better log to track down crash
#jira UE-36271
Change 3140142 on 2016/09/26 by Rolando.Caloca
DR - Fix clang warning
Change 3140145 on 2016/09/26 by Rolando.Caloca
DR - Rename RHIClearColor(MRT) to RHIClearColorTextures and pass textures as parameters
Change 3140360 on 2016/09/26 by Daniel.Wright
Lighting Scenarios and lightmaps moved to separate package
* Levels can be marked as lighting scenarios (eg Day, Night). Lighting is built separately for each lighting scenario with actors / lights in all other scenario levels hidden. Only one lighting scenario level should be visible at a time in game, and its lightmaps will be applied to the world.
* Most outputs of the lighting build now go into a separate _BuiltData package. This improves level Save and AutoSave times as the separate package will only be dirtied after lighting rebuilds.
* If a lighting scenario is present, all lightmaps are placed inside it's _BuiltData package. This means that only the currently loaded lighting scenario's lightmaps will be loaded (Day or Night, but not both). This also means that lightmaps for a streaming level will not be streamed with it.
* For backwards compatibility, existing lightmaps are moved to a new _BuiltData package on load.
* Reflection captures and precomputed visibility were not moved to the separate package. Reflection captures are force updated on load of a lighting scenario level, which can increase load times.
Change 3140361 on 2016/09/26 by Daniel.Wright
Lighting Scenarios UI
Change 3140582 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140166
Fix the video playback in Fortnite - bind our shader resource texture as the render-target texture as for some reason the playback code expects it there, even though we could never provide one.
#jira FORT-30551
Change 3140584 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140131:
Fix crash under the validation layer & Nvidia's El Capitan (10.11) drivers when distance field particle collisions are used without any scene distance fields available - bind the black volume texture when that is the case to avoid bad access on the GPU.
#jira FORT-30622
Change 3140586 on 2016/09/26 by Mark.Satterthwaite
Duplicate CL #3140450:
Fix launching the game on Intel GPUs by disabling Tiled Reflections on Intel for macOS Sierra like we did for El Capitan as there's currently a driver bug to means it doesn't work properly.
#jira FORT-30649
Change 3140594 on 2016/09/26 by Zabir.Hoque
Fix benchmark shaders register bindings. TEXCOORD0 was bound to register 1 in VS and then register 0 in PS. DX12 treats this a PSO creation failuer unlike DX11 this was an error.
Change 3140601 on 2016/09/26 by Marcus.Wassmer
New 'Cinematic' Scalability level. Remove unused 'new' motionblur CVAR
Change 3140602 on 2016/09/26 by Zabir.Hoque
CreateTexture3D on XB1 DX11 was leaking ESRAM by reserving it but not allocating to it.
#Tests: Fix was tested by licensee (GearBox).
Change 3140622 on 2016/09/26 by Rolando.Caloca
DR - vk - More prep for sm5
Change 3140765 on 2016/09/26 by Rolando.Caloca
DR - Fix ensure from bad clear depth surface
Change 3141251 on 2016/09/27 by Rolando.Caloca
DR - vk - Rename & cleanup
Change 3141394 on 2016/09/27 by Rolando.Caloca
DR - vk - Compute pipeline state
Change 3141463 on 2016/09/27 by Mark.Satterthwaite
Fix the include order to avoid compile errors on Mac.
Change 3141529 on 2016/09/27 by Gil.Gribb
Merging //UE4/Dev-Main@3139632 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3141830 on 2016/09/27 by zachary.wilson
Adding testing content for lighting scenarios to collaborate with Ben
Change 3141941 on 2016/09/27 by Olaf.Piesche
Speculative fix for UE-34815; have yet to repro this but there's really only so many things it could be. I currently don't see how the sim resources could go away after queueing, so I'm replacing the check with an ensure and null checking the resource pointer.
Change 3142035 on 2016/09/27 by Olaf.Piesche
Fix compiler error from silly leftover bit of code.
Change 3142065 on 2016/09/27 by Benjamin.Hyder
Updating Lighting Scenario map
Change 3142262 on 2016/09/27 by Mark.Satterthwaite
Change Apple RHI initialisation to select the first compatible shader platform to decide which RHI to initialise. Internally in MetalRHI we must gracefully fallback to a lower feature-level when this initial selection is not available on the current device/OS, in which case we need to validate that the selected shader platform was actually packaged. The order of initialisation is different per-platform:
On Mac: Order of initialisation is the order listed in TargetedRHIs .ini specifications.
On iOS/tvOS: Order is explicit: Metal MRT > Metal ES 3.1 > OpenGL ES 2
#jira UE-35749
Change 3142292 on 2016/09/27 by Rolando.Caloca
DR - hlslcc - Fix for warning X3206: implicit truncation of vector type causing error
#jira UE-31438
Change 3142397 on 2016/09/27 by Mark.Satterthwaite
Update hlslcc for Mac including RCO's changes in CL #3142292.
#jira UE-31438
Change 3142438 on 2016/09/27 by Daniel.Wright
UMapBuildDataRegistry's created for legacy lightmap data are placed in the map package, which avoids problems with cooking
Change 3142452 on 2016/09/27 by Rolando.Caloca
DR - Proper support for int defines
Change 3142519 on 2016/09/27 by Arne.Schober
DR - [UE-33438] - Added a Project Setting to enable Skincache Shader Permuations. The Default value for the Skincache mode was changed to enabled. The reasoning behind this was that it will be auto disabled when Skincache Shaders are disabled, and runtime toggle is a debuging feature that mainly programmers are dealing with. The Recompute Tangents option in the Skinned Mesh is now automatically grayed out when no Skincache Shader Permuations are available.
Change 3142537 on 2016/09/27 by Daniel.Wright
Fixed r.ScreenPercentage with MSAA - a scissor rect was being setup during the resolve and not reset
Change 3142691 on 2016/09/27 by Daniel.Wright
Disabled renaming of legacy ULightmap2D's to the separate package since UMapBuildDataRegistry is no longer put in a separate package for legacy content
Change 3142711 on 2016/09/27 by Daniel.Wright
GComponentsWithLegacyLightmaps entries get handled by USceneComponent::AddReferencedObjects, fixes a crash when you open a map directly from the content browser
Change 3142712 on 2016/09/27 by Daniel.Wright
Separate category for ParticleCutout properties
Change 3142762 on 2016/09/27 by Uriel.Doyon
Added per static mesh and per skeletal mesh UV density data. The data is now saved and available in cooked builds.
The density are computed by the engine but can be overridden by the user in the material tabs.
Texture streaming intermediate component data is now per material instead of per lod-section.
New ViewModeParam in FSceneViewFamily allowing context specific param per viewmode.
This is currently used to show which UV channel and which texture index is being
shown in the texture streaming accuracy viewmodes.
This replaces r.Streaming.AnalysisIndex
Renamed texture streaming viewmodes:
MeshTexCoordSizeAccuracy -> MeshUVDensityAccuracy
MaterialTexCoordScalesAccuracy -> MaterialTextureScaleAccuracy
MaterialTexCoordScalesAnalysis -> OutputMaterialTextureScales
Improved UV density computation and viewmode.
LightmapUVDensity is now computed separately from UVChannel Density.
Fixed texture streaming for instanced static mesh component and derived types.
Change 3143464 on 2016/09/28 by Daniel.Wright
Removed 'experimental' from forward shading setting
Change 3143508 on 2016/09/28 by Chris.Bunner
Added component type handling to FoldedMath and Length material expressions.
#jira UE-36304
Change 3143557 on 2016/09/28 by Rolando.Caloca
DR - Back out changelist 3142292
Change 3143563 on 2016/09/28 by Rolando.Caloca
DR - vk - Force hlslcc re-link
Change 3143648 on 2016/09/28 by Daniel.Wright
Moved GetMeshMapBuildData to UStaticMeshComponent since FStaticMeshComponentLODInfo::OwningComponent can't be initialized reliably in the case of SpawnActor off of a blueprint default that has LODData entries already.
Change 3143661 on 2016/09/28 by Chris.Bunner
Warning fix.
Change 3143723 on 2016/09/28 by Daniel.Wright
DumpUnbuiltLightIteractions after lighting build for debugging
Change 3143822 on 2016/09/28 by Arne.Schober
DR - Refactoring of the ViewMatrices. Moved the Derived Matrices into the FViewMatrix struct. Made all members private do emphasize the static constness of that struct after creation. Renamed the heavy weight members on this struct to Compute*. Methods that modify The ViewMatrices have been renamed to Hack* to discurage their use in the future until a better solution for those problems is found. The ViewMatrix modification is especially misleading because it only changes the State of the ViewMatrices to read their Position from the Material Editior as if coming from the Lightsource (mainly for manual bilboards) as well as doing someting similar to generate CPU bilboards for shadows.
Change 3143860 on 2016/09/28 by Benjamin.Hyder
Updating TM-Noise map to include 3d noise examples
Change 3143939 on 2016/09/28 by Rolando.Caloca
DR - vk - Better debugging of submissions
- Added r.Vulkan.IgnoreCPUReads to help track down hangs on some ihvs
Change 3144006 on 2016/09/28 by Brian.Karis
Fixed PixelError not being set correctly with LOD groups.
Removed unneeded Simplygon references.
Mesh reduction module can now be chosen by name with r.MeshReductionModule
Change 3144026 on 2016/09/28 by Benjamin.Hyder
Updating QA-Effects map to correct numbering issue
Change 3144098 on 2016/09/28 by Arne.Schober
DR - ViewMatrices Refactoring - Fix UT
Change 3144158 on 2016/09/28 by Rolando.Caloca
DR - Undo splitting RHI command context
Change 3144952 on 2016/09/29 by Rolando.Caloca
DR - vk - Missing swapchain flag
Change 3145064 on 2016/09/29 by Olaf.Piesche
#jira UE-36091
Pulling range update for vector distributions even when UDist is not dirty; some content has a lookup table and a clean dist, but the range values have not been baked; always pulling them should be safe and not significantly costly.
Change 3145354 on 2016/09/29 by Benjamin.Hyder
Updating Tm-ContactShadows
Change 3145485 on 2016/09/29 by Daniel.Wright
Made SeamlessTravelLoadCallback handle legacy lightmaps
Change 3145527 on 2016/09/29 by Daniel.Wright
Don't clear legacy lightmap annotations on each map - fixes lighting unbuilt when doing seamless travel
Change 3145530 on 2016/09/29 by Simon.Tovey
UE-36188 - Editor crash when updating hierarchical instance static mesh component
Dirtied render state rather than unsafe update of bounds.
Change 3145608 on 2016/09/29 by Gil.Gribb
Attempt to fix a random compiler error under win32
Change 3145749 on 2016/09/29 by Uriel.Doyon
Fix for static analysis warning
Change 3146091 on 2016/09/29 by Zabir.Hoque
RHI Interface changes to support PSO based APIs
Change 3146092 on 2016/09/29 by Zabir.Hoque
D3D12 RHI support for PSO based APIs.
Change 3146590 on 2016/09/30 by Gil.Gribb
Merging //UE4/Dev-Main@3146520 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3146731 on 2016/09/30 by Rolando.Caloca
DR - Fix merge conflicts
Change 3146778 on 2016/09/30 by Rolando.Caloca
DR - More integration compile fixes
Change 3146790 on 2016/09/30 by Rolando.Caloca
DR - Integration fix
Change 3146849 on 2016/09/30 by Rolando.Caloca
DR - Final integration fix
Change 3146899 on 2016/09/30 by Daniel.Wright
Static analysis fix for dereferencing World
Change 3147020 on 2016/09/30 by Rolando.Caloca
DR - vk - Fix depth issue on AMD cards
- Added VULKAN_KEEP_CREATE_INFO to help debugging creation
- Added num color attachments to pipeline key
Change 3147034 on 2016/09/30 by Rolando.Caloca
DR - Fix Kite crash where shader pipelines were optimizing non-tessellation pipelines
#jira UE-36277
#jira UE-36500
Change 3147080 on 2016/09/30 by Rolando.Caloca
DR - vk - Disable debug info by default
Change 3147082 on 2016/09/30 by Chris.Bunner
Allow tessellation to be used with DrawTile calls by swapping fixed mesh to triangle list.
#jira UE-36491
Change 3147388 on 2016/09/30 by Chris.Bunner
Blacklisted Nvidia driver 372.70 as it has known stability issues skewing our top crashes list. Also updated recommended version numbers.
#jira UE-35288
Change 3147394 on 2016/09/30 by Chris.Bunner
Additional logging for rare error.
#jira UE-35812
Change 3147459 on 2016/09/30 by Rolando.Caloca
DR - vk - Some more srgb formats
Change 3147537 on 2016/09/30 by Rolando.Caloca
DR - vk - Standarize srgb flag like D3D11
- Minor FVulkanShader cleanup
Change 3147620 on 2016/09/30 by Olaf.Piesche
#jira UE=34486
particle component tick function task can be invalid during pause; add check
Change 3148028 on 2016/10/01 by Daniel.Wright
Renamed RenderingSettings.cpp to match header
Change 3148059 on 2016/10/01 by Daniel.Wright
Disabled reparenting in the profiler which is disorienting
Change 3148067 on 2016/10/01 by Daniel.Wright
Support for ReflectionEnvironment and light type show flags with ForwardShading
Change 3148069 on 2016/10/01 by Daniel.Wright
Added CapsuleIndirectShadowMinVisibility to SkinnedMeshComponent, so artists have control over indirect capsule shadow darkness without changing cvars
Change 3148072 on 2016/10/01 by Daniel.Wright
Added a rendering setting to disable the new lightmap mixing behavior, where smooth surfaces don't have any mixing. r.ReflectionEnvironmentLightmapMixBasedOnRoughness
Change 3148073 on 2016/10/01 by Daniel.Wright
r.VertexFoggingForOpaque only affects forward shading - manual copy of Ben's fix from Orion stream
Change 3148074 on 2016/10/01 by Daniel.Wright
Enabled planar reflection receiving on the material used for the preview of a APlanarReflection
Change 3148084 on 2016/10/01 by Daniel.Wright
Fixed reflections on Surface TranslucencyVolume in deferred
Change 3148085 on 2016/10/01 by Daniel.Wright
Fixed planar reflection composite being done too many times in stereo deferred
Change 3148086 on 2016/10/01 by Daniel.Wright
Clamp IndirectLightingQuality to 1 in preview builds - keeps preview useful even with IndirectLightingQuality jacked up to 10.
Change 3148107 on 2016/10/01 by Daniel.Wright
CIS fix
Change 3148113 on 2016/10/01 by Daniel.Wright
Translucency lighting modes for forward shading
* Per-vertex modes use GetSimpleDynamicLighting since they can't support specular anyway
Change 3148306 on 2016/10/02 by Rolando.Caloca
DR - vk - Fix for some NV drivers on Win10
Change 3148307 on 2016/10/02 by Rolando.Caloca
DR - vk - Compute pipeline
Change 3148358 on 2016/10/02 by Rolando.Caloca
DR - vk - Consolidate and renumber enum for binding types
Change 3148396 on 2016/10/03 by Rolando.Caloca
DR - vk - Warning fix
Change 3148697 on 2016/10/03 by Benjamin.Hyder
Submitting M_Chromebal after enabling planar reflectionsl
Change 3148799 on 2016/10/03 by Rolando.Caloca
DR - vk - static analysis fix
Change 3148934 on 2016/10/03 by Chris.Bunner
Added pre-skinned local position material graph node, vertex shader only.
Change 3148994 on 2016/10/03 by Chris.Bunner
Added missing header file.
Change 3149085 on 2016/10/03 by Daniel.Wright
Support for ReflectionEnvironment show flag in base pass reflections without any shader overhead
Change 3149095 on 2016/10/03 by Rolando.Caloca
DR - vk - Disable new render passes
Change 3149125 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix for multiple memory types
Change 3149181 on 2016/10/03 by Rolando.Caloca
DR - Better message when missing pipelines
Change 3149215 on 2016/10/03 by Rolando.Caloca
DR - RHIClearColor -> RHIClearColorTexture
#tests Orion Editor run match on Agora_P
Change 3149288 on 2016/10/03 by Chris.Bunner
Added PreTonemapHDRColor for buffer visualization and target output.
#jira UE-36333
Change 3149402 on 2016/10/03 by Daniel.Wright
Light attenuation buffer is now multisampled, fixes preshadows with MSAA (depth testing failed during stencil pass) but adds a resolve (.12ms at VR res)
Change 3149403 on 2016/10/03 by Daniel.Wright
Forward lighting supports lighting channels
Change 3149574 on 2016/10/03 by Marcus.Wassmer
PR #2817: Ansel/Photography system (Contributed by adamnv)
Modified to become a plugin
Change 3149615 on 2016/10/03 by Rolando.Caloca
DR - vk - Fix PF_G16R16 which fixes reflections
Change 3149639 on 2016/10/03 by Olaf.Piesche
Adding more ensures to catch NaNs occasionally appearing in particle locations early
Change 3149745 on 2016/10/03 by Uriel.Doyon
Moved UVDensity computation in the staticmesh DDC.
Change 3149749 on 2016/10/03 by Daniel.Wright
Fixed lightmaps on BSP, which was fallout from Lighting Scenarios backwards compatibility
Change 3149755 on 2016/10/03 by Benjamin.Hyder
Checking in built lighting for QA-postprocessing
Change 3149758 on 2016/10/03 by Benjamin.Hyder
re-submitting built lighting for QA-PostProcessing
Change 3149940 on 2016/10/04 by Gil.Gribb
Merging //UE4/Dev-Main@3149754 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3150098 on 2016/10/04 by Marcus.Wassmer
Fix some clang and win32 errors
Change 3150323 on 2016/10/04 by Rolando.Caloca
DR - vk - Static analysis fix
Change 3150456 on 2016/10/04 by Daniel.Wright
Revert temp logs
Change 3150731 on 2016/10/04 by Daniel.Wright
Static lights now add a dummy map build data entry for their ULightComponent::IsPrecomputedLightingValid
Change 3150795 on 2016/10/04 by Marcus.Wassmer
Fix RHIClearUAV and Drawindirect bugs on PS4.
Also fix PS4 compile error from bad merge.
Change 3151065 on 2016/10/04 by Ben.Marsh
Merging //UE4/Dev-Main to Dev-Rendering (//UE4/Dev-Rendering)
Change 3151134 on 2016/10/04 by Brian.Karis
Fixed corrupt mesh generation from quadric simplifier due to uninitialized color array.
Change 3151201 on 2016/10/04 by Marcus.Wassmer
Nvidia approved icon for ansel plugin.
Change 3151240 on 2016/10/04 by Marcus.Wassmer
Fix string concat build error.
Change 3151258 on 2016/10/04 by Ben.Marsh
Fix compile error.
Change 3151290 on 2016/10/04 by Marcus.Wassmer
Bumping static mesh DDC key to hopefully fix distancefield crashes after brian's quadric simplifier fix.
Change 3152104 on 2016/10/05 by Chris.Bunner
Workaround for legacy BreakMA material node invalid component masks.
#jira UE-36832
Change 3152130 on 2016/10/05 by Ben.Woodhouse
Fix issue with skylight SH and fast semantics on DX11. We need to clear the cube scratch textures before writing to them to avoid issues when reading them back for mip downsampling
#jira UE-35890
Change 3152240 on 2016/10/05 by Rolando.Caloca
DR - Fix for missing gizmo colors
#jira UE-36515
Change 3152338 on 2016/10/05 by Daniel.Wright
Hopeful fix for FDistanceFieldVolumeTexture assert in the cooker
Change 3152833 on 2016/10/05 by Brian.Karis
Improved precision of quadrics. Fixes bad triangles on large meshes
Change 3153376 on 2016/10/06 by Rolando.Caloca
DR - Fix for SM4 missing pipelines fallout
Change 3153650 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main@3153068 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3153656 on 2016/10/06 by Uriel.Doyon
Fixed main integration compilation issues.
Some of the Mesh UVDensity UI is temporary disabled.
Change 3153725 on 2016/10/06 by Uriel.Doyon
Fixed crash when source data is missing for lightmaps
#jira UE-36157
Change 3153998 on 2016/10/06 by Gil.Gribb
Merging //UE4/Dev-Main to Dev-Rendering@3153705 (//UE4/Dev-Rendering)
Change 3154056 on 2016/10/06 by Marcus.Wassmer
Fix compile errors from merge. Also restore some light scencario code
Change 3154176 on 2016/10/06 by Marcus.Wassmer
Fix deprecation warning
Change 3154252 on 2016/10/06 by Marcus.Wassmer
Fix more deprecation warnings
Change 3154632 on 2016/10/07 by Chris.Bunner
Fix for incorrect re-entrant detection with a function called twice in a row. The function input Preview expression is overridden when the function is called to link it into the caller graph, but it was restored too late for chained calls to the same function.
#jira UE-37002
[CL 3154728 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3072947 on 2016/08/01 by Uriel.Doyon
Texture GUIDs are now included in cooked builds, as they are required by the texture streamer to link build data to in game texture.
#review-3072934 @marcus.wassmer
#jira UE-34045
Change 3073301 on 2016/08/02 by Ben.Woodhouse
Fix for large spotlight culling precision issues, reported on UDN by Aaron Jacobs at Double Fine. For a full description, see the UDN post
https://udn.unrealengine.com/questions/305440/shadowed-light-flicker-caused-by-floating-point-pr.html
#jira UE-34052
Change 3073689 on 2016/08/02 by Ben.Woodhouse
Improved skin postprocess - support for full resolution, with diffuse/spec lighting combined into single RGBA (sharing chroma)
Full res lighting gives less temporal AA flickering, sharper diffuse and specular lighting in the surface (since this is now at full resolution), faster postprocessing if using a 64-bit rendertarget (on NV 980Ti).
Checkerboard rendering is controlled via the r.sss.checkerboard cvar. - 0 is off/full res, 1 is checkerboard, 2 is automatic based on scenecolor (non-checkerboard requires 64bit or more rendertarget w/separate alpha)
Tested/profiled on PC, PS4
Change 3074666 on 2016/08/02 by Daniel.Wright
Fixed stationary skylight brightness
Change 3074667 on 2016/08/02 by Daniel.Wright
Fixed r.ReflectionEnvironmentLightmapMixing
Change 3074687 on 2016/08/02 by Daniel.Wright
Disallowed DrawMaterialToRenderTarget and Begin/EndDrawCanvasToRenderTarget in construction scripts, since they don't work in game. Blutilities can be used to do blueprint rendering in the editor.
Change 3075241 on 2016/08/03 by Rolando.Caloca
DR - Fix linux compile issue & static analysis warning
Change 3075746 on 2016/08/03 by Daniel.Wright
Removed bOverride_AntiAliasingMethod and outdated ini references to PP AntiAliasingMethod
Change 3075783 on 2016/08/03 by Ryan.Brucks
#code.review Marcus.Wassmer
Added two material nodes that return Atmospheric Light Vector and Light Direction using:
View.AtmosphericFogSunColor
View.AtmosphericFogSunDirection
Nodes are called:
AtmosphericLightVector
AtmosphericLightColor
Also changed SceneRendering.cpp so that values will be grabbed from directional lights without needing an Atmospheric Fog actor in the scene.
Change 3075969 on 2016/08/03 by Uriel.Doyon
Material GUIDs are not updated anymore when parents or textures change.
Lighting now uses a hash built from the list of parents, textures and shader functions.
#review-3072980 @marcus.wassmer @daniel.wright
Change 3076116 on 2016/08/03 by Ryan.Brucks
#code.review marcus.wassmer
Fixed typo in the Caption of new Nodes "Atmospheric Light Vector" and "Atmospheric Light Color"
Change 3076456 on 2016/08/03 by Rolando.Caloca
DR - Fix geometry shader gl_Layer for SPIR-V
Change 3076730 on 2016/08/03 by Uriel.Doyon
Added user warning logic for the texture streaming build. Ran in MapCheck, BeginPlay and PreSave.
#review-3072984 @marcus.wassmer
Change 3077616 on 2016/08/04 by Daniel.Wright
Planar reflection show flags can now be edited
Change 3077621 on 2016/08/04 by Daniel.Wright
Changed default Planar Reflection DistanceFromPlaneFadeoutEnd from 600 to 100, which reduces artifacts and is a more intuitive initial setting
Change 3077792 on 2016/08/04 by Daniel.Wright
Fixed an unnecessary sky capture caused by the sky light component owned by the default ASkyLight
Change 3077799 on 2016/08/04 by Daniel.Wright
Skip RF_ArchetypeObject for reflection captures
Change 3077876 on 2016/08/04 by Marc.Olano
Noise material perf improvements
Change random number generator for Gradient-ALU (1.7x perf boost), improve speed of Voronoi noise quality level 3.
Removes integer BBS random number generators. Fewer instructions, but too slow to use (see 1.7x perf boost above)
Change 3077884 on 2016/08/04 by Daniel.Wright
Lighting channels can now be edited on components with static mobility, since dynamic lights can still affect them
Change 3078994 on 2016/08/05 by Simon.Tovey
Fix for UE-34241
Scene proxy ptr was being cached during a downcast.
Inside a call to CreateDynamicData, CheckMaterialUsage_Concurrent() was causing the scene proxy to be recreated an so the cached ptr was stale.
I've fixed the immediate issue but recreating the scene proxy here doesn't seem great. Maybe CheckMaterailUsage() should be rethought a bit.
Change 3079162 on 2016/08/05 by Ben.Woodhouse
Fix for jittering in Paper2D. Was caused by override being ignored due to a change in intiialization order for AA settings.
#jira UE-34091
Change 3079613 on 2016/08/05 by Daniel.Wright
New blueprint function ClearRenderTarget2D, which is the only way to set a render target alpha directly
New blueprint function CreateRenderTarget2D
Change 3079708 on 2016/08/05 by Uriel.Doyon
Fixed crash when building texture streaming on some levels.
Change 3079795 on 2016/08/05 by Uriel.Doyon
Fixed issue with instanced static meshes when building texture streaming.
Fixed typo with func "GetNumTextureStreamingPrimitives"
Change 3079806 on 2016/08/05 by Uriel.Doyon
Enabled PerTexture MipBias. The per texture mip bias now resets to 0 when the texture gets required at low resolution.
New scalability setting named "r.Streaming.LimitPoolSizeToVRAM" enabling the PoolSize to be limited the available VRAM
(according to GPoolSizeVRAMPercentage)
#review-3074662 @marcus.wassmer
Change 3082698 on 2016/08/09 by Daniel.Wright
Copy - CreateRenderTarget2D uses a world context object as owner, allows use in a construction script
Change 3082699 on 2016/08/09 by Daniel.Wright
Changed display name for 'Two Sided' shading model to 'Two Sided Foliage' to make it clear what it's intended to be used for
Change 3083909 on 2016/08/10 by Olaf.Piesche
#jira UE-34106
#jira UE-32784
#jira UE-31198
Reset vertex factories on mesh emitters if mesh has been reimported (if mesh package is dirty)
Change 3084645 on 2016/08/10 by Olaf.Piesche
#jira UE-30398
Fix offset added to particle collision locations.
Change 3084709 on 2016/08/10 by Daniel.Wright
Copy - Scene capture alpha is now inverted to match DrawMaterialToRenderTarget, and to allow compositing with existing render target contents
Added CompositeMode to SceneCapture2D, which can be used to addively accumulate or composite instead of the default overwrite behavior
Added bCaptureOnMovement to SceneCapture, which can be disabled so the only source of scene capturing is a manual capture by calling CaptureScene()
Change 3084783 on 2016/08/10 by Rolando.Caloca
DR - Use the first targeted rhi shader platform as the initial RHI to load on Windows
#jira UE-34510
Change 3084958 on 2016/08/10 by Daniel.Wright
Copy - Reverted cl 2938543 "Lightmass now respects owner bHidden, and bCastHiddenShadow" because it did not have backwards compatibility so breaks content using hidden light cards
Change 3086023 on 2016/08/11 by Marcus.Wassmer
Merging //UE4/Dev-Main@3085468 to Dev-Rendering (//UE4/Dev-Rendering)
#test none
Change 3086778 on 2016/08/11 by Ben.Woodhouse
Workaround for fortnite character rendering issue. Enable checkerboard rendering by default until we can fix properly
#jira UE-34561
Change 3087404 on 2016/08/12 by Rolando.Caloca
DR - Upgrade glslang to 1.0.21.1
- Added some more debug output
Change 3087524 on 2016/08/12 by Rolando.Caloca
DR - vk - Fixed StencilRef, fixed size of RHIReadSurfaceFloatData (but still returns dummy data)
Change 3087663 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix for SRGB; support for mip texture views
Change 3087735 on 2016/08/12 by Daniel.Wright
TextureRenderTarget2D's can now be up to 8192^2. Anything over 2048 pops up an 'are you sure' dialog.
Change 3087750 on 2016/08/12 by Rolando.Caloca
DR - vk - Minor renaming in prep for merge
Change 3087813 on 2016/08/12 by Rolando.Caloca
DR - vk - More minor cleanup
Change 3087819 on 2016/08/12 by Chris.Bunner
Check material function input types directly, no need to traverse connected graph.
#jira UE-32134
Change 3087901 on 2016/08/12 by Rolando.Caloca
DR - vk - Fix RT view to use 1 mip
Fix depth buffer component swizzle
Change 3088193 on 2016/08/12 by Daniel.Wright
DFAO and RTDF shadows are enabled in High and Epic scalability settings by default
Change 3088988 on 2016/08/15 by Rolando.Caloca
DR - Add Accessors
Change 3089104 on 2016/08/15 by Olaf.Piesche
#jira UE-34241
Sceneproxy can be nullptr in FDynamicMeshEmitterData::Init if the proxy is being recreated
Change 3089208 on 2016/08/15 by Daniel.Wright
Downsampled separate translucency uses a separate view uniform buffer with correct buffer sizes
* Fixes WorldPosition in downsampled translucency
* View uniform buffer parameters are now cached on the view, to allow recreating the uniform buffer without having to rebuild the entire struct. Currently used by global distance field, downsampled separate translucency.
* Fixed the downsampled translucency depth buffer being full res used together with a smaller color target, now they are both the downsampled res
Change 3089209 on 2016/08/15 by Daniel.Wright
Fixed atmospheric fog on translucency
Change 3089457 on 2016/08/15 by Daniel.Wright
Fixed lighting build failure from UMaterialInstanceDynamic assigned to a mesh that's being exported to Lightmass. The Swarm cache entry is created using the parent's guid, causing multiple MID's with the same parent to acquire a file handle multiple times which fails after the first.
Change 3089549 on 2016/08/15 by Daniel.Wright
UMaterialInterface initializes LightingGuid to something valid - causes UMaterialInstanceDynamic to have a valid LightingGuid so they can be used in lighting builds
Change 3089703 on 2016/08/15 by Daniel.Wright
Custom expression fixup for View.RenderTargetSize
Change 3090546 on 2016/08/16 by Daniel.Wright
Hopeful fix for recycled snapshot view crash
Change 3091202 on 2016/08/16 by Daniel.Wright
Manually clear FViewInfo::CachedViewUniformShaderParameters on creating a snapshot, since memcpy is used to create the snapshot view
[CL 3091931 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028958 on 2016/06/27 by Ben.Woodhouse
Fix for perf issue with GetSingleFinalDataConst
This was caused by the LPV integration/switch to blendables. Now we cache the flag for the directionalocclusion in the LPV class. This reduces calls to GetSingleFinalDataConst on the blendable data (potentially slow), and makes things a bit cleaner and consistent.
Tested in QAGame editor (with LPV enabled in ConsoleSettings.ini)
#jira UE-26179
Change 3029401 on 2016/06/27 by Rolando.Caloca
DR - More vk logging
Change 3029549 on 2016/06/27 by Uriel.Doyon
Refactored "r.OnlyStreamInTextures" into "r.Streaming.FullyLoadUsedTextures", making it fully load every used textures, as an alternative to disabling texture streaming.
New options "r.Streaming.UsePerTextureBias" that assign a bias between 0 and MipBias to each texture in order to fit in budget.
Fixed crash when disabling texture streaming.
Fixed issue when disabling texture streaming that would make current loaded texture low res.
New logic to prevent retrying to cancel a streaming request more than once.
Pending load request of one extra mip will not be cancelled anymore.
Changed UTexture2D from float to double. Also using FApp::GetCurrentTime() instead of FPlatformTime::Seconds().
#jira UE-32197
#jira UE-31102
Change 3029837 on 2016/06/27 by David.Hill
Fixed Shutter SM4 not working when using compute shader eye-adaptation
#jira UE-32443
The default eye adaptation value was missing.
Change 3030039 on 2016/06/27 by Uriel.Doyon
Fix for crash when landscape materials are used in the Texture Streaming Build.
#jira UE-32196
Change 3030081 on 2016/06/27 by Uriel.Doyon
Updated MaterialTexCoordScalesPixelShader to use PackedEyeIndex, preventing crash when building the map with stereo rendering enabled.
Change 3030401 on 2016/06/28 by Ben.Woodhouse
Perf Monitor: Fix for perf warning due to cvar FindConsoleVariable being called too frequently. Tested in QAGame editor (DX11)
#jira UE-31238
Change 3030607 on 2016/06/28 by Marc.Olano
Random Number generators: fixed bug in TEA, added integer and float Blum-Blum-Shub. BBS is way cheaper for similar quality, suggest it for future use.
Change 3030627 on 2016/06/28 by Ben.Woodhouse
Fix for warning. CVar naming scope clash (doesn't appear to happen in vs2015).
Change 3030809 on 2016/06/28 by Marc.Olano
Noise shader function rename & perf improvement.
Due to incorrect terminology in internet soruces, previous "Perlin" noise was not, in fact, Perlin noise. Now more accurately called "Value" noise. 6x perf improvement for value noise by changing random number function to BBS. Also updated instruction counts in UI tooltips.
Change 3030850 on 2016/06/28 by Marc.Olano
Rename & redirect noise material enums. At some point these got switched around and no longer accurately described the noise options the selected. Redirect, so all existing content will continue to work as-is. Updated UDN docs to match.
Change 3030981 on 2016/06/28 by Rolando.Caloca
DR - vk - More logging
Change 3031056 on 2016/06/28 by Marc.Olano
Introduce new pure-ALU gradient shader noise. Add noise samples to RenderTest map
Change 3031398 on 2016/06/28 by Benjamin.Hyder
updating TM-Shadermodels (correcting Mt Rushmore)
Change 3031441 on 2016/06/28 by Marc.Olano
Use only float version of BBS shader rand function for ES2
Change 3031463 on 2016/06/28 by John.Billon
Fixed F4 changing the viewmode in Fortnite editor. The detailed lighting viewmode (detaillighting) named in DefaultInput.ini differed from the one in BaseInput.ini(lit_detaillighting).
#Jira UE-32020
Change 3031512 on 2016/06/28 by Zabir.Hoque
Relax clear flags for DX12 RHIs.
Properly flush pending commands before residency is updated.
Change 3031517 on 2016/06/28 by Rolando.Caloca
DR - vk logging using r.Vulkan.DumpLayer
Change 3032359 on 2016/06/29 by Allan.Bentham
Fix mobile shadows crash.
Change 3032431 on 2016/06/29 by Gil.Gribb
Merging //UE4/Dev-Main@3032394 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3032757 on 2016/06/29 by Uriel.Doyon
Fixed global mip bias being applied twice following integration with main.
Change 3033121 on 2016/06/29 by Rolando.Caloca
DR - vk - Logging
Change 3033529 on 2016/06/29 by Daniel.Wright
Null world guard on UReflectionCaptureComponent::ReadbackFromGPU
Change 3033668 on 2016/06/29 by Uriel.Doyon
Grouped texture streaming settings to simplify logic.
New options "r.Streaming.UseAllMips" to ignores the different lod and cinematic bias
#jira UE-32118
Change 3034403 on 2016/06/30 by Rolando.Caloca
DR - Shorten dumped shader debug strings
Change 3034475 on 2016/06/30 by Rolando.Caloca
DR - Missing logging
Change 3034722 on 2016/06/30 by Uriel.Doyon
Improved StreamingAccuracy viewmodes with alpha test and translucent materials
#jira UE-32656
Change 3034797 on 2016/06/30 by Rolando.Caloca
DR - vk - 'fix' RHIClear but causes a CPU hang on AMD, so disabled again
Change 3034799 on 2016/06/30 by Rolando.Caloca
DR - vk - missed file
Change 3034905 on 2016/06/30 by Rolando.Caloca
DR - vk - Fix for render passes being reused with wrong dimensions
Change 3035503 on 2016/07/01 by Simon.Tovey
Async compute version of translucency lighting volume clear.
Change 3035577 on 2016/07/01 by Marc.Olano
Tiling noise. Adds tiling option for gradient, gradient texture, and value noise in the noise material node. Tiling is more expensive, but allows noise functions to be baked into a seamless repeating texture.
Change 3035587 on 2016/07/01 by Ben.Woodhouse
Fix for async SSAO bug (SSAO Async Compute results are used before the async job wait)
#jira UE-32709
Change 3035618 on 2016/07/01 by Olaf.Piesche
Asset fixes
Change 3035692 on 2016/07/01 by Rolando.Caloca
DR - vk - Deferred deletion queue
Change 3035808 on 2016/07/01 by Rolando.Caloca
DR - vk - Stat for deletion time, fixed some logging
Change 3036012 on 2016/07/01 by John.Billon
Alpha Coverage Preservation
-Textures have a Alpha Preservation Vec4 property which dictates about much of that channel to preserve down the mip chain during mip generation.
#Jira UE-31986
Change 3036041 on 2016/07/01 by Rolando.Caloca
DR - vk - Fix for 32bit
Change 3036433 on 2016/07/01 by Rolando.Caloca
DR - More vk logging
Change 3036935 on 2016/07/04 by Simon.Tovey
Removing Data Objects
Change 3036942 on 2016/07/04 by Ben.Woodhouse
Fix for decal rendering resource leak
The cause was that FD3D11BoundRenderTargets doesn't support setting RTs sparsely. So if one element is NULL, it won't release the ones after it.
The sparse RT layout happened as a result of a change back in October, which meant that GBuffers for decals could be set sparsely, dependent on whether the decal wrote to the normalbuffer
This change adds support for sparsely bound rendertargets in FD3D11BoundRenderTargets.
#jira UE-32602
Change 3037563 on 2016/07/05 by Chris.Bunner
HLOD self-shadowing in baked lighting fix.
Change 3037640 on 2016/07/05 by Marcus.Wassmer
Fix bug in USE_GPU_OVERWRITE_CHECKING
Change 3037927 on 2016/07/05 by Rolando.Caloca
DR - Fix touch pads not showing on Vulkan
#jira UE-32062
Change 3038085 on 2016/07/05 by Chris.Bunner
HLOD dynamic shadowing support.
#jira UE-22627
Change 3038209 on 2016/07/05 by Rolando.Caloca
DR - vk - Android compile fix
Change 3038644 on 2016/07/05 by Uriel.Doyon
Added LerpRange that allows to lerp between two rotators without taking the sortest path.
Change 3038820 on 2016/07/05 by Uriel.Doyon
Selecting streaming accuracy view modes will not automatically generate missing visualization data.
Change 3039332 on 2016/07/06 by John.Billon
-Made MaxGPUSkinBonesCvar a FAutoConsoleVariableRef and moved it to mesh utilitles from console manager to fix a thread initialization problem.
#Jira UE-31710
Change 3039454 on 2016/07/06 by Simon.Tovey
Moved all Niagara files from Engine and UnrealEd to remove dependancies and increase compile times.
Niagara is now 99.999% decoupled from engine and editor so development should be much streamlined.
Plus a few other edits to remove Curves/DataObjects that I missed in last CL.
Change 3039517 on 2016/07/06 by Gil.Gribb
Merging //UE4/Dev-Main@3039013 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3039587 on 2016/07/06 by Rolando.Caloca
DR - vk logging, submit counter
Change 3039603 on 2016/07/06 by Rolando.Caloca
DR - Allow more samplers on GL4
#jira UE-32628
#jira UE-32744
Change 3039661 on 2016/07/06 by Daniel.Wright
Fixed non-directional DFAO occlusion on specular 'r.AOSpecularOcclusionMode 0'
Skylight occlusion tint now applies to specular
Skylight occlusion tint on diffuse is now correctly affected by DiffuseColor
Change 3039960 on 2016/07/06 by Daniel.Wright
Forward renderer initial implementation
* Point and spot lights are culled to a frustum space grid, base pass loops over culled lights.
* Light culling uses a reverse linked list to avoid a per-cell limit, and the linked list is compacted to an array before the base pass.
* New cvars to control light culling: r.Forward.MaxCulledLightsPerCell, r.Forward.LightGridSizeZ, r.Forward.LightGridPixelSize
* A full Z Prepass is forced with forward shading. This allows deferred rendering before the base pass of shadow projection methods that only rely on depth.
* Dynamic shadows are packed based on the assigned stationary light ShadowMapChannel, since stationary lights are already restricted to 4 overlapping.
* GBuffer render targets are still allocated
* Fixed several issues in parallax corrected base pass reflections - not blending out box shape, discontinuity in reflection vector, not blending with stationary skylight properly
* Forward shading is now used for TLM_SurfacePerPixelLighting translucency in the deferred path
* Notable missing features: shadowing of translucency, support for various translucency lighting modes, multiple blended reflection captures
Change 3040050 on 2016/07/06 by Daniel.Wright
Added r.Shadow.WholeSceneShadowCacheMb, which defaults to 150, to limit how much memory can be spent caching whole scene shadowmaps
Change 3040160 on 2016/07/06 by Daniel.Wright
Fixed tile artifacts in indirect capsule shadows from doing the scaled sphere vs tile bounding sphere intersection in the wrong space
Change 3040163 on 2016/07/06 by Rolando.Caloca
DR - vk - More logging
Change 3040257 on 2016/07/06 by Daniel.Wright
Skylights aren't captured until their level is made visible- fixes the case where skylights capture too early
Change 3040316 on 2016/07/06 by Daniel.Wright
PerObject shadows from point / spot lights do the light source pull back based on subject box size, not subject radius, since the box is used to find a valid < 90 degree projection. Fix from licensee
Change 3040361 on 2016/07/06 by Daniel.Wright
Fixed TexCreate_UAV being used on translucency volume textures in SM4
Change 3040402 on 2016/07/06 by Rolando.Caloca
DR - vk - Make host mem accesses coherent
Change 3040486 on 2016/07/06 by Daniel.Wright
CIS fixes
Change 3041028 on 2016/07/07 by Gil.Gribb
Merging //UE4/Dev-Main@3040917 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3041235 on 2016/07/07 by Simon.Tovey
Compile fix for FName conflict on UProperty (hopefully).
Change 3041666 on 2016/07/07 by Daniel.Wright
Fixed TLM_SurfacePerPixelLighting in SM4, falls back to lighting volume
Change 3041731 on 2016/07/07 by Olaf.Piesche
Adding Niagara to dynamically loaded module list; should fix UE-32915
Change 3042181 on 2016/07/07 by Daniel.Wright
CIS fix
[CL 3045471 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3006483 on 2016/06/08 by Simon.Tovey
Fix for UE-31653
Instance params from the Spawn, Required and TypeData modules were not being autopopulated.
Change 3006514 on 2016/06/08 by Zabir.Hoque
MIGRATING FIX @ Request
Off by 1 error on reflection roughness calculation affecting 4.12. When I hoisted the max mip index i did a -1 on both sides(c++ & hlsl). This is the simplest hotfix. In 4.13 I'll remove the shader instruction and only do the "-1" in c++ this 1 less shader instruction.
#CodeReview: Marcus.Wassmer, Daniel.Wright
Change 3006605 on 2016/06/08 by Rolando.Caloca
DR - vk - Remove a bunch of unused code, clean up some todos
Change 3006969 on 2016/06/08 by HaarmPieter.Duiker
Add #ifdefs around inverse tonemapping to avoid performance hit in normal use
Change 3007240 on 2016/06/09 by Chris.Bunner
Made a pass at fixing global shader compile warnings and errors.
Change 3007242 on 2016/06/09 by Chris.Bunner
Don't force unlit mode when re-loading a map.
#jira UE-31247
Change 3007243 on 2016/06/09 by Chris.Bunner
Cache InvalidLightmapSettings material for instanced meshes.
#jira UE-31182
Change 3007258 on 2016/06/09 by Chris.Bunner
Fixed refractive depth bias material parameter.
Change 3007466 on 2016/06/09 by Rolando.Caloca
DR - Use vulkan debug marker extension directly from header
Change 3007504 on 2016/06/09 by Martin.Mittring
added refresh button to ImageVerifier
Change 3007528 on 2016/06/09 by Martin.Mittring
ALU optimization to SSR, minor perf difference on NVTitan, needs to to be profiled on lower end
make render more deterministic
Change 3007551 on 2016/06/09 by Chris.Bunner
Reverted constant type change in previous commit.
Change 3007559 on 2016/06/09 by Martin.Mittring
updated ImageValidator
Change 3007584 on 2016/06/09 by Rolando.Caloca
DR - Fix case when not running under RD
Change 3007668 on 2016/06/09 by Rolando.Caloca
DR - vk - Split layers/extensions by required/optional
Change 3007820 on 2016/06/09 by Rolando.Caloca
DR - Android compile fix
Change 3007926 on 2016/06/09 by Martin.Mittring
fixed UI scaling in ImageVerifyer
Change 3007931 on 2016/06/09 by John.Billon
-Fixed cutouts not working for certain sized texture/subUV size combinations.
-Also fixed issue with subUV module not being postloaded consistently on startup.
#Jira UE-31583
Change 3008023 on 2016/06/09 by Martin.Mittring
refactor noise code in shaders
Change 3008127 on 2016/06/09 by Zabir.Hoque
Merging back hot fixes:
1. Fix DX12 crashing due to oclusion queries waiting on incorrect sync point. Integrating change from MS.
2. Immediate context should flush directly and not attempt to flush the immediate context, ie. itself.
Change 3008129 on 2016/06/09 by Daniel.Wright
Disabled r.ProfileGPU.PrintAssetSummary by default due to spam
Change 3008169 on 2016/06/09 by Rolando.Caloca
DR - Fix mobile rendering not freeing resource when using RHI thread
Change 3008429 on 2016/06/09 by Uriel.Doyon
Enabled texture streaming new metrics.
Added progress bar while texture streaming is being built.
Added debug shader validation to prevent crashes when there are uniform expression set mismatches.
Added texture streaming build to "Build All"
Change 3008436 on 2016/06/09 by Uriel.Doyon
Fixed shipping build
Change 3008833 on 2016/06/10 by Rolando.Caloca
DR - Allow RenderTargets to be easily shared via GPU to other DX or OpenGL applications
Submitted by Allar
PR #1864
#jira UE-24545
Change 3008842 on 2016/06/10 by Rolando.Caloca
DR - Remove vertex densities view mode
Change 3008857 on 2016/06/10 by John.Billon
Added a PostLoad to ParticleModuleSubUV to call postload on the SubUV animation to ensure that the animation is loaded in time for caching.
Change 3008870 on 2016/06/10 by Rolando.Caloca
DR - Rebuild hlslcc libs (missing from last merge)
Change 3008925 on 2016/06/10 by John.Billon
Fixed r.ScreenPercentage.Editor
#Jira UE-31549
Change 3009028 on 2016/06/10 by Daniel.Wright
Shadow depth refactor
* Shadow setup and render target allocation now happens in InitViews, and shadow depth rendering happens at one spot in the frame
* This provides control over where shadow depths are rendered for things like async compute, and allows easy atlasing of shadowmaps for forward shading
* The 33Mb of shadow depth buffers in FSceneRenderTargets has been removed, and shadow depth buffers are now allocated as needed
* A large amount of duplicated code to handle each shadow type has been combined
* Cleaner parallel rendering: no more view hacking for the shadow depth pass, no more shadow depths in the middle of translucency
* 'vis ShadowDepthAtlas' or 'vis WholeSceneShadowMap' must now be used to visualize the shadow depth textures
Change 3009032 on 2016/06/10 by Daniel.Wright
Fixed crash with simple forward shading in the material editor
Change 3009178 on 2016/06/10 by Rolando.Caloca
DR - Add support for multi callbacks on HlslParser, added a write to string callback
Change 3009268 on 2016/06/10 by Daniel.Wright
Warning fixes
Change 3009416 on 2016/06/10 by Martin.Mittring
moved decal rendering code in common spot for upcoming MeshDecal rendering
Change 3009433 on 2016/06/10 by John.Billon
Adding ensures for translucency lighting volume render target acesses.
#Jira UE-31578
Change 3009449 on 2016/06/10 by Daniel.Wright
Fixed whole scene point light shadow depths getting rendered redundantly
Change 3009675 on 2016/06/10 by Martin.Mittring
fixed Clang compiling
Change 3009815 on 2016/06/10 by Martin.Mittring
renamed IsUsedWithDeferredDecal to IsDeferredDecal
to be more correct
Change 3009946 on 2016/06/10 by Martin.Mittring
minor optimization
Change 3010270 on 2016/06/11 by HaarmPieter.Duiker
Update gamut transformations used when dumping EXRs to account for bug UE-29935
Change 3011423 on 2016/06/13 by Martin.Mittring
fixed default of bOutputsVelocityInBasePass
#code_review:Rolando.Caloca
#test:PC
Change 3011448 on 2016/06/13 by Martin.Mittring
minor engine code cleanup
#code_review:Olaf.Piesche
#test:PC
Change 3011991 on 2016/06/13 by Daniel.Wright
Fixed downsampled translucency crash in VR
Change 3011993 on 2016/06/13 by Daniel.Wright
Stationary Mobility for primitive components is allowed again, with the meaning 'moves rarely'
Mobility tooltips now reflect whether a primitive component or light component is being inspected
Change 3012096 on 2016/06/13 by Daniel.Wright
Missing file from cl 3011993
Change 3012546 on 2016/06/14 by John.Billon
Added r.ContactShadows.Enable CVar to allow contact shadows to be globally disabled/enabled
#Jira OR-23282
Change 3012706 on 2016/06/14 by John.Billon
Renamed r.ContactShadows.Enable to r.ContactShadows
Change 3012992 on 2016/06/14 by Rolando.Caloca
DR - vk - Fixed backbuffer/swapchain order with RHI thread enabled
- Added support for CustomPresent
Change 3013030 on 2016/06/14 by Rolando.Caloca
DR - vk - Fix dev issue
Change 3013423 on 2016/06/14 by Martin.Mittring
removed code redundancy for easier upcoming changes
#test:PC
Change 3013451 on 2016/06/14 by Martin.Mittring
removed no longer needed debug cvar
#test:PC
Change 3013643 on 2016/06/14 by Zabir.Hoque
Fix API only being inlined in the cpp and not avaialble in the .h
Change 3013696 on 2016/06/14 by Olaf.Piesche
Adding missing quality level spawn rate scaling on GPU emitters
Change 3013736 on 2016/06/14 by Daniel.Wright
Cached shadowmaps for whole scene point and spot light shadows
* Controlled by 'r.Shadow.CacheWholeSceneShadows', defaults to enabled (7ms -> 1.5ms of shadow depths on Titan for ~20 lights)
* Primitives with Static or Stationary mobility have their depths cached, as long as the light is not moving
* Primitives with Movable mobility or using World Position Offset in their materials will not have their depths cached
* Cached shadowmaps are copied each frame and then movable primitive depths composited
* Fast paths exist for when there were no static primitives (skip cached shadowmap) or movable primitives (project directly from cached shadowmap)
* 'r.Shadow.CacheWPOPrimitives' controls whether materials using WPO can be cached (default is off for correctness)
* 'r.Shadow.CachedShadowsCastFromMovablePrimitives' can be used to force off all support for movable primitives, skipping the shadowmap copies (1.5ms -> 0ms of shadow depths for ~20 lights)
Change 3014103 on 2016/06/15 by Daniel.Wright
Compile fix
Change 3014507 on 2016/06/15 by Simon.Tovey
Resurrected Niagara playground and moved to Samples/NotForLicencees
Change 3014931 on 2016/06/15 by Martin.Mittring
moved r.RenderInternals code into renderer to be able to access more low level data
#test:PC, paragon
Change 3014933 on 2016/06/15 by Martin.Mittring
nicer text
Change 3014956 on 2016/06/15 by Daniel.Wright
Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
Change 3014985 on 2016/06/15 by Uriel.Doyon
Enabled Texture Build shaders on Mac
Exposed IStreamingManager::AddViewSlaveLocation in ENGINE_API
Fixed issue FStreamingManagerTexture::ConditionalUpdateStaticData which would to update some data in shipping.
Fixed r.Streaming.MipBias not affecting maximum allowed resolution, showing warnings of texture streaming overbudgets
#jira UE-30566
#jira UE-31098
Change 3014995 on 2016/06/15 by Rolando.Caloca
DR - vk - Removed RHI thread wait on acquire image
- Move Descriptor pool into context
Change 3015002 on 2016/06/15 by Rolando.Caloca
DR - Add (disabled) additional cvar for r.DumpShaderDebugWorkerCommandLine
Change 3015041 on 2016/06/15 by Martin.Mittring
fixed ImageValidator crashing when using files that exist only in ref or test folder
Change 3015309 on 2016/06/15 by Rolando.Caloca
DR - vk - Enable fence re-use on SDKs >= 1.0.16.0
Change 3015356 on 2016/06/15 by Rolando.Caloca
DR - vk - Prep for staging buffer refactor
Change 3015430 on 2016/06/15 by Martin.Mittring
minor optimization for subsurfacescatteringprofile
Change 3016097 on 2016/06/16 by Simon.Tovey
Enabling Niagara by default in the Niagara playground
Change 3016098 on 2016/06/16 by Simon.Tovey
Some misc fixup to get niagara working again
Change 3016183 on 2016/06/16 by Rolando.Caloca
DR - vk - Recreate buffer view for volatile buffers
Change 3016225 on 2016/06/16 by Marcus.Wassmer
Duplicate reflection fixes from 4.12 hotfixes.
Change 3016289 on 2016/06/16 by Chris.Bunner
Always gather MP_Normal definitions as they can be shared by other material properties.
#jira UE-31792
Change 3016294 on 2016/06/16 by Daniel.Wright
Fix for ensure accessing CVarCacheWPOPrimitives in game
Change 3016305 on 2016/06/16 by Daniel.Wright
Raised r.Shadow.CSM.MaxCascades to 10 on Epic scalability level, which it should have always been
Change 3016330 on 2016/06/16 by Daniel.Wright
Cached shadowmaps are tossed after 5s of not being used for rendering - helps in the case where you fly through a bunch of lights and never look back
Skipping shadow depth cubemap clear if there will be a cached shadowmap copy later - saves .4ms on PS4 for a close up point light
Stats for shadowmap memory used under 'stat shadowrendering'
Change 3016506 on 2016/06/16 by Daniel.Wright
Fixed crash building map in SunTemple due to null access
Change 3016703 on 2016/06/16 by Uriel.Doyon
Fixed warning due to floating point imprecision when building texture streaming
Change 3016718 on 2016/06/16 by Daniel.Wright
Volume lighting samples use adaptive sampling final gather
* Increases their build time by 2x but improves quality in difficult cases (small bright sources of bounce lighting)
Change 3016871 on 2016/06/16 by Max.Chen
Sequencer: Added support for the named "PerformanceCapture" event which like Matinee, calls GEngine->PerformanceCapture to output a screenshot when the event fires. Refactor event track/sections so that the player is passed to the trigger events evaluation.
Copy from Dev-Sequencer
#jira UE-32093
Change 3017189 on 2016/06/16 by Zabir.Hoque
Fix GBuffer format selection type-o.
#CodeReview: Marcus.Wassmer
Change 3017241 on 2016/06/16 by Martin.Mittring
optimized and cleaned up rendering in transluceny, distortion, custom mesh drawing
#code_review:Daniel.Wright, Marcus.Wassmer, Nick.Penwarden
Change 3017856 on 2016/06/17 by Rolando.Caloca
DR - Missing GL enum
Change 3017910 on 2016/06/17 by Ben.Woodhouse
- Added a Video Buffer to ensure smooth submission of frames from CEF. Without this, we can get multiple texture updates per engine frame, which causes stuttering at high framerates
- Disable hardware acceleration on Windows, since this causes severe performance issues with video rendering
Please note: To actually see 60fps video, you need to ensure the browser frame rate passed into FWebBrowserSingleton::CreateBrowserWindow is set to 60 (default is 24)
#RB:Keli.Hloedversson,Martin.Mittring
Change 3018126 on 2016/06/17 by Ben.Woodhouse
Fix build warning on Mac
#RB:David.Hill
Change 3018167 on 2016/06/17 by Chris.Bunner
Handle case when float4 is passed to TransformPosition material node.
#jira UE-24980
Change 3018246 on 2016/06/17 by Benjamin.Hyder
Submitting Preliminary ShadowRefactor TestMap
Change 3018330 on 2016/06/17 by Benjamin.Hyder
labeled ShadowRefactor map
Change 3018377 on 2016/06/17 by Chris.Bunner
Removed additional node creation when initializing a RotateAboutAxis node.
#jira UE-8034
Change 3018433 on 2016/06/17 by Rolando.Caloca
DR - Fix some clang warnings on Vulkan
Change 3018664 on 2016/06/17 by Martin.Mittring
unified some code for easier maintainance, fixed missing multiply from former change (CL 2933812)
#test:PC
#code_review:Marcus.Wassmer,Brian.Karis
Change 3019023 on 2016/06/19 by Benjamin.Hyder
Re-Labeled ShadowRefactor map
Change 3019024 on 2016/06/19 by Benjamin.Hyder
Correcting Translucent Volume (Non-Directional) settings
Change 3019026 on 2016/06/19 by Benjamin.Hyder
Correcting Lighting ShadowRefactor map
Change 3019414 on 2016/06/20 by Allan.Bentham
Refactor mobile shadows
Change 3019494 on 2016/06/20 by Gil.Gribb
Merging //UE4/Dev-Main@3018959 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3019504 on 2016/06/20 by John.Billon
-Created a blueprint node (ExportRenderTarget and ExportTexture2D) to export render targets/textures as HDR images to disk.
-Moved HDR export code(FHDRExportHelper and CubemapUnwrapUtils) to runtime from editor to allow access from blueprints.
-Created a small common interface for blueprints and the editor itself to use for exporting.
#Jira UE-31429
Change 3019561 on 2016/06/20 by Gil.Gribb
UE4 - Worked around afulness of windows scheduler. This would occasionally cause hitches on quad core machines with additional load in the tick task manager.
Change 3019616 on 2016/06/20 by Rolando.Caloca
DR - Replicate change in DevRendering to fix splotches on characters with morph targets
Change: 3019599
O - Fix flickering on heroes with morph targets
Change 3019627 on 2016/06/20 by Rolando.Caloca
DR - Doh! Compile fix
Change 3019674 on 2016/06/20 by Simon.Tovey
Ripped out the quick hacky VM debugger I wrote a while back.
Over complicated the VM and didn't do enough work to justify it.
Will revisit debugging and profiling of VM scripts in future.
Change 3019691 on 2016/06/20 by Ben.Woodhouse
Add a per-object shadow setting for directional lights (r.Shadow.PerObjectDirectionalDepthBias), which is independent of the CSM setting. Often a smaller bias is desirable on per-object shadows, where detailed self-shadowing is needed.
This change also makes the CSM naming consistent with what the setting actually does (the old setting was named r.shadow.csm, although it affects per-object shadows as well as CSMs).
#RB:Martin.Mittring, Daniel.Wright
Change 3019741 on 2016/06/20 by John.Billon
Fixed compile error on mac.
Change 3019984 on 2016/06/20 by Martin.Mittring
minor optimization
Change 3020172 on 2016/06/20 by Zachary.Wilson
Fixing mesh distance fields for engine content cube and cylinder by setting distance field resolution to 2. for UE-26783 #rb: none
Change 3020195 on 2016/06/20 by Zachary.Wilson
Fixing engine coontent sphere's distance fields for UE-26783, distance fields resolution set to 2. #rb: none
Change 3020196 on 2016/06/20 by Rolando.Caloca
DR - Appease static analysis
Change 3020231 on 2016/06/20 by Zachary.Wilson
Making basic shapes consistent distance field resolution scale. #rb: none
Change 3020468 on 2016/06/20 by David.Hill
CameraWS UE-29146
Change 3020502 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee Camera for RenderOutputValidation
Change 3020508 on 2016/06/20 by Benjamin.Hyder
Adding AutomationMatinee for RenderOutputValidation
Change 3020514 on 2016/06/20 by Benjamin.Hyder
Setting Autoplay for AutomationMatinee (sequence)
Change 3020561 on 2016/06/20 by Daniel.Wright
Removed outdated comment on uniform expression assert
Change 3021268 on 2016/06/21 by Daniel.Wright
Scaled sphere intersection for indirect capsule shadows
* Fixes the discontinuity when capsule axis points close to the light direction
* GPU cost is effectively the same (more expensive to compute, but tighter culling)
Change 3021325 on 2016/06/21 by Daniel.Wright
Split ShadowRendering.cpp into ShadowDepthRendering.cpp
Change 3021355 on 2016/06/21 by Daniel.Wright
Fixed RTDF shadows (broken by shadowmap caching)
Change 3021444 on 2016/06/21 by Daniel.Wright
Fixed crash due to Depth drawing policy not using the default material shader map properly
Change 3021543 on 2016/06/21 by Daniel.Wright
Fixed drawing to a Canvas after EndDrawCanvasToRenderTarget causing a crash
Fixed DrawMaterialToRenderTarget breaking the Canvas object that BeginDrawCanvasToRenderTarget returns
Change 3021749 on 2016/06/21 by Daniel.Wright
Moved RenderBasePass and dependencies into BasePassRendering.cpp
Moved RenderPrePass and dependencies into DepthRendering.cpp
Change 3021766 on 2016/06/21 by Benjamin.Hyder
Adding 150dynamiclights level to Dev-Folder
Change 3021971 on 2016/06/21 by Daniel.Wright
Removed the CPU-culled light grid which is used to implement TLM_SurfacePerPixelLighting, in preparation for a GPU-culled light grid implementation
* TLM_SurfacePerPixelLighting now behaves like TLM_Surface
Change 3022760 on 2016/06/22 by Chris.Bunner
Merge fixup.
Change 3022911 on 2016/06/22 by Rolando.Caloca
DR - Added r.D3DDumpD3DAsmFile to enable dumping the fxc disassembly when dumping shaders
Change 3023037 on 2016/06/22 by Rolando.Caloca
DR - Fix for the case of global destructors calling FlushRenderingCommands() after the RHI has been destroyed
Change 3023139 on 2016/06/22 by Daniel.Wright
Added on screen message for when VisualizeMeshDistanceFields is requested but engine scalability settings have DFAO disabled
Change 3023231 on 2016/06/22 by Daniel.Wright
Only allowing opaque per-object shadows or CSM in the mobile renderer
Change 3023415 on 2016/06/22 by Daniel.Wright
Fix crash in dx12 trying to clear stencil when there is no stencil in the depth target
Change 3024888 on 2016/06/23 by Daniel.Wright
Fixed preshadows being rendered redundantly with multiple lights
Change 3025119 on 2016/06/23 by Martin.Mittring
added MeshDecal content to RenderTest
Change 3025122 on 2016/06/23 by Martin.Mittring
enabled DBuffer for RenderTest
Change 3025153 on 2016/06/23 by Marc.Olano
Fix Spherical Particle Opacity. Particles using this stopped rendering sometime after 4.10.
Needed to use world space without shader offsets, not absolute world space.
Change 3025180 on 2016/06/23 by Marc.Olano
Use translated world space for particle centers.
Better fix for Spherical Particle Opacity problems, but with fingers in more pies. Includes rename of particle center vertex factory variables.
Change 3025265 on 2016/06/23 by David.Hill
Bilbords translucent during PIE - lighting model was incorrectly set in gbuffer
#jira UE-26165
Change 3025269 on 2016/06/23 by Ryan.Brucks
Adding new Testmap for Pixel Depth Offset velocities with Temporal AA
Change 3025345 on 2016/06/23 by Benjamin.Hyder
Submitting MeshDecal Content
Change 3025444 on 2016/06/23 by Benjamin.Hyder
updating content for MeshDecal
Change 3025491 on 2016/06/23 by Benjamin.Hyder
Updating DecalMesh Textures
Change 3025802 on 2016/06/23 by Martin.Mittring
added to readme
Change 3026475 on 2016/06/24 by Rolando.Caloca
DR - Show current state of r.RHIThread.Enable when not using param
Change 3026479 on 2016/06/24 by Rolando.Caloca
DR - Upgrade glslang to 1.0.17.0
Change 3026480 on 2016/06/24 by Rolando.Caloca
DR - Vulkan headers to 1.0.17.0
Change 3026481 on 2016/06/24 by Rolando.Caloca
DR - Vulkan wrapper for extra logging
Change 3026491 on 2016/06/24 by Rolando.Caloca
DR - Missed file
Change 3026574 on 2016/06/24 by Rolando.Caloca
DR - vk - Enabled fence reuse on 1.0.17.0
- Added more logging info
Change 3026656 on 2016/06/24 by Frank.Fella
Niagara - Prevent sequencer uobjects from being garbage collected.
Change 3026657 on 2016/06/24 by Benjamin.Hyder
Updating Rendertestmap to latest
Change 3026723 on 2016/06/24 by Rolando.Caloca
DR - Fix for ES3.1 RHIs
Change 3026784 on 2016/06/24 by Martin.Mittring
New feature: Mesh Decals / Material layers (Chris.Bunner is the goto person on MeshDecals from now on)
Change 3026866 on 2016/06/24 by Olaf.Piesche
#jira OR-18363
#jira UE-27780
fix distortion in particle macro uvs
[CL 3028922 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2967522 on 2016/05/05 by Martin.Mittring
fixed UE-30208 Ensure taking high resolution screenshot
renamed cvar from r.SaveUncompressedEXRFrame to r.SaveEXR.CompressionQuality and change meaning
Change 2967541 on 2016/05/05 by Martin.Mittring
added cvar help entry to the editor menu
Change 2967544 on 2016/05/05 by Martin.Mittring
* added ensures to track down UE-22073 [CrashReport] Crash when changing Editor Window Size - FDeferredShadingSceneRenderer::ClearTranslucentVolumeLighting()
* fixed typo
* improved r.DisplayInternals
Change 2967685 on 2016/05/05 by Rolando.Caloca
DR - Fix 2013 compile
#jira UE-30369
Change 2967883 on 2016/05/05 by Olaf.Piesche
Making inherit rotation work for mesh particles
#jira UE-30153
Change 2967948 on 2016/05/05 by Daniel.Wright
MaterialParameterCollections now create default resources (uniform buffers) which are used when no valid FScene is present (eg DrawTile while exporting materials to lightmass)
Change 2967954 on 2016/05/05 by Daniel.Wright
New refraction mode 'Pixel Normal Offset', which uses the difference between the per-pixel normal and the per-vertex normal to compute the refraction offset. This is useful for refraction from large water surfaces without reading outside of screen bounds as much.
Change 2967970 on 2016/05/05 by Olaf.Piesche
Improvement for depth buffer collision; reduce tunneling by sampling midpoint instead of predicted position.
#jira UE-27297
Change 2968125 on 2016/05/05 by Daniel.Wright
Hopeful fix for mac compile error with enum
Change 2968126 on 2016/05/05 by Daniel.Wright
Forward declare to fix compile error
Change 2969070 on 2016/05/06 by Martin.Mittring
fixed Clang Compile error
Change 2969224 on 2016/05/06 by Martin.Mittring
fixed Clang
Change 2969275 on 2016/05/06 by Rolando.Caloca
DR - Fix for simulation time from BP not matching material editor expression time
#jira UE-26431
Change 2969413 on 2016/05/06 by Daniel.Wright
Simple forward shading path
* Support for a directional light in the base pass, which can be shadowed either by distance field shadowmaps or a single shadow factor from the Indirect Lighting Cache
* Binding and outputting to GBuffers is disabled when using simple forward shading, along with dependencies of the GBuffers
* Specular, normal maps and the 3rd SH band of skylighting are all hardcoded off. Materials are forced fully rough.
* Enabled with 'r.SimpleForwardShading 1', which can be changed at runtime
* Added r.SupportSimpleForwardShading, which determines if the necessary shaders are compiled
* Removed r.SimpleDynamicLighting, whose functionality (unshadowed directional light in the base pass) is a subset of simple forward shading, and was unused
Change 2969414 on 2016/05/06 by Daniel.Wright
Added cvar 'r.Fog' for scalability
Change 2969415 on 2016/05/06 by Daniel.Wright
Low end scalability setup for Paragon
Change 2969583 on 2016/05/06 by Daniel.Wright
Effectively disabled the WRITES_PRECSHADOWFACTOR_TO_GBUFFER optimization, as all combinations use the GBuffer target
* This fixes bSingleSampleShadowFromStationaryLights which was broken in cl 2863775 when selective GBuffer outputs was enabled
Change 2969597 on 2016/05/06 by Olaf.Piesche
Adding emitter tick times to Cascade viewport overlays
#jira UE-25172
Change 2969599 on 2016/05/06 by Daniel.Wright
Added r.Shadow.ForceSingleSampleShadowingFromStationary for scalability
Change 2969795 on 2016/05/06 by Daniel.Wright
Made r.SimpleForwardShading a scalability cvar
Change 2969796 on 2016/05/06 by Daniel.Wright
Enabled simple forward shading for the lowest shadow quality in Paragon
* Moved Orion.Character.NonLocalHeroPreshadows to be under shadow quality
* Enabling r.Shadow.ForceSingleSampleShadowingFromStationary when shadows are disabled through r.ShadowQuality
Change 2972338 on 2016/05/10 by Martin.Mittring
Added ImageValidator V0.11 to Perforce (for automated screenshot comparison)
Change 2972450 on 2016/05/10 by Martin.Mittring
fixed sorting issues, added column sort
Change 2972564 on 2016/05/10 by Martin.Mittring
fixed PixelCountToFail
Change 2972572 on 2016/05/10 by Martin.Mittring
added color
Change 2972667 on 2016/05/10 by Daniel.Wright
Capsule shadows support an off-center projection - fixes stereo rendering
Indirect lighting cache is updated for primitives with a visible indirect capsule shadow - fixes indirect shadows disappearing when the caster is off-screen in the Static skylight case
Change 2972687 on 2016/05/10 by Martin.Mittring
split data from view
Change 2972713 on 2016/05/10 by Martin.Mittring
background validation
Change 2972742 on 2016/05/10 by Martin.Mittring
do not lock files in folder
Change 2972837 on 2016/05/10 by Daniel.Wright
Comment for tiled reflection culling edge failure case
Change 2972891 on 2016/05/10 by Daniel.Wright
Simple forward shading only supported on PC now
Change 2972927 on 2016/05/10 by Martin.Mittring
fixed comparison, added directory watcher
Change 2972952 on 2016/05/10 by Martin.Mittring
tooltips
Change 2972965 on 2016/05/10 by Martin.Mittring
readme
Change 2972986 on 2016/05/10 by Martin.Mittring
polish
Change 2973015 on 2016/05/10 by Zabir.Hoque
Clamp max cubemap resolutions for reflection capture component.
Change 2973067 on 2016/05/10 by Uriel.Doyon
Removed temporary streaming data from ULevel. Now the data goes directly in FStreamingManagerTexture.
Removed deprecated classes and structures associated with old data.
Uniformized dynamic primitives and static primitives streaming logic.
Static primitive instances are now bound to level component and have visibility information.
MeshTexCoordSize Debug now shows live update when tweaking "StreamingDistanceMultiplier"
Change 2973129 on 2016/05/10 by Martin.Mittring
fixed crash (uninit var)
Change 2973167 on 2016/05/10 by Olaf.Piesche
Fixing mac compiler warnings; removed beam tangent from particle source and target, as it's treated separately anyway.
Change 2973654 on 2016/05/11 by Gil.Gribb
FIxed bad resolve from main merge
Change 2973787 on 2016/05/11 by Simon.Tovey
PR #2080: Added 7 additional blueprint nodes and assoicated functions to Particle System Compoenent (Contributed by alwintom)
#2080
Change 2973794 on 2016/05/11 by Simon.Tovey
GitHub 1646 : Increase Wireframe Linear Color Value for Particles in Cascade Preview viewport
#1646
Change 2973814 on 2016/05/11 by Chris.Bunner
Fixed D3D warning.
Change 2973868 on 2016/05/11 by Martin.Mittring
fixed compiler warning
Change 2974104 on 2016/05/11 by Uriel.Doyon
Optimized TextureStreaming ASync task by improving cache efficency.
Removed ForcedFullyLoad texture sets and merged them with the other entries (to prevent checking in two data structures).
Change 2974163 on 2016/05/11 by Uriel.Doyon
Fixed Editor Build
Change 2974263 on 2016/05/11 by Olaf.Piesche
Fix for particle beam source/target selection
Change 2974313 on 2016/05/11 by Martin.Mittring
nicer icon
Change 2974632 on 2016/05/11 by Martin.Mittring
zoom (mouse wheel) and pan support
Change 2974651 on 2016/05/11 by Martin.Mittring
UE-30565 Blend Radius does not override Priority for blendable post process material array
#test:PC
Change 2974994 on 2016/05/12 by Uriel.Doyon
Fixed uninitialized members in texture streaming when updating dynamic primitives.
#jira UE-30632
Change 2975514 on 2016/05/12 by Olaf.Piesche
Getting mesh particle transform down to pixel shader, making available in TransformVector/TransformPosition nodes
#udn 288158, and requests from several artists
Change 2975970 on 2016/05/12 by Zabir.Hoque
Enable setting high precision normals/tangets as a part of static mesh import.
Change 2976134 on 2016/05/12 by Daniel.Wright
Moved RHI prefix out of command list macros so you can find callers in a Find in Files for RHIBlendState, etc
Change 2976135 on 2016/05/12 by Daniel.Wright
Added material property bAllowNegativeEmissiveColor which is useful when rendering to an offscreen render target
Change 2976139 on 2016/05/12 by Daniel.Wright
Blueprint can now be used to draw to a TextureRenderTarget2D with DrawMaterialToRenderTarget
Canvas can now draw to a TextureRenderTarget2D in a Blueprint with BeginDrawCanvasToRenderTarget / EndDrawCanvasToRenderTarget
Change 2976199 on 2016/05/12 by Brian.Karis
Improved screen space ray cast intersection heuristic.
Change 2976203 on 2016/05/12 by Brian.Karis
Fixed hair NaNs
Change 2976214 on 2016/05/12 by Zabir.Hoque
Fix compiler error on Clang
Change 2976239 on 2016/05/12 by Brian.Karis
Improved hair shadows
Change 2976240 on 2016/05/12 by Brian.Karis
Made recompileshaders specific file work again. Kind of hacky but better than nothing
Change 2976290 on 2016/05/12 by Zabir.Hoque
Few more clang compiler fixes.
#jira UE-30713
Change 2976517 on 2016/05/13 by Zabir.Hoque
Final set of fixes for compile breaks.
Change 2976535 on 2016/05/13 by Zabir.Hoque
Fix mono builds
Change 2977270 on 2016/05/13 by Zabir.Hoque
Incorrectly used 7 as max texcoords. Corrected to #define MAX_TEX_COORDS
#lockdown gil.gribb
Change 2980140 on 2016/05/17 by Gil.Gribb
Merging //UE4/Dev-Main@2980127 to Dev-Rendering (//UE4/Dev-Rendering)
#lockdown nick.penwarden
Change 2980211 on 2016/05/17 by Ben.Marsh
EC: Build DDC in Dev-Rendering every 3 hours.
#lockdown Gil.Gribb
Change 2980876 on 2016/05/17 by Michael.Trepka
Metal shader compile fix
#lockdown gil.gribb
[CL 2981788 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2917472 on 2016/03/21 by Rolando.Caloca
DR - Fix SCW directcompile arguments, add -pipeline
Change 2919580 on 2016/03/23 by Rolando.Caloca
DR - HlslParser - Fix for used elements (sparrow's arrow was showing when it shouldn't)
Arrays of input/outputs are now flattened so disjoint entries can be optimized out (and fixes a bug)
#jira OR-15380
#tests Run game with sparrow, test with slomo to check for gfx glitches
Change 2919660 on 2016/03/23 by Rolando.Caloca
DR - Latest vk changes (from dev mobile's 2916881 to 2919157)
Change 2919902 on 2016/03/23 by Rolando.Caloca
DR - Fix skeletal meshes decrementing stats twice
#codereview Marcus.Wassmer
#jira UE-28478
Change 2920020 on 2016/03/23 by David.Hill
#Jira UE-28503
EyeAdapation when used in material shader may not be initialized.
#rb olaf.piesche
Change 2920071 on 2016/03/23 by Rolando.Caloca
DR - Remove old vk define
- Started moving around direct calls to queue submit
Change 2920252 on 2016/03/23 by Rolando.Caloca
DR - Changes vk structs to classes
Change 2920314 on 2016/03/23 by Olaf.Piesche
Add -windowed to standalone game PIE command line to avoid PIE launching in full screen
#jira UE-27870
#codereview michael.trepka
Change 2920745 on 2016/03/24 by Uriel.Doyon
Texture streaming build now takes into account the material texcoord scales applied to the texture sampling.
Also finds out which texcoord is being used when sampling textures (between 0 and 3 currently).
TexCoord analysis debug view shaders is now working with SM4 ane SM5.
StaticMeshComponents hold persistent data coming from the texture streaming build.
#tests tested with different Paragon assets. Editor SM4 & SM5. Cooked maps
#codereview marcus.wassmer
Change 2921335 on 2016/03/24 by Uriel.Doyon
Added missing static keyword for locally defined console variable.
#codereview rolando.caloca
Change 2921416 on 2016/03/24 by Uriel.Doyon
Revert enabling debugview shaders on non PC platforms (until properly tested and debugged)
Change 2921446 on 2016/03/24 by Daniel.Wright
Planar reflection mesh
Change 2921530 on 2016/03/24 by Daniel.Wright
Manual revert of Ronin planar reflections
#codereview Ryan.Vance
Change 2921608 on 2016/03/24 by Uriel.Doyon
Updated texture streamer to take into account the new HLOD texture group.
Change 2921677 on 2016/03/24 by Daniel.Wright
Distance Field Specular Occlusion
* Prototype - disabled by default
Change 2921681 on 2016/03/24 by Daniel.Wright
UnmappedTexelsPercentage is now 100 based
Change 2921682 on 2016/03/24 by Daniel.Wright
Planar reflections
* New actor and component
* The scene is rendered to texture with a mirrored camera and a clip plane each frame
* The reflection texture is then applied to opaque pixels in a deferred pass, with distance and angle from plane fades
* Translucent materials apply the nearest reflection plane in the base pass
* Planar reflections require the project setting 'Support global clip plane for Planar Reflections' to be enabled, since writing to SV_ClipDistance all the time adds about 15% BasePass GPU time on PS4
* Fixed global distance field in materials which had been broken since moving global distance field properties into the view uniform buffer
* Fixed PS4 removing system-value semantics when output from vertex shader and not read in next stage
Change 2921734 on 2016/03/24 by Uriel.Doyon
Fixed tessellated cube having wrong UVs
#jira UE-28379
Change 2922063 on 2016/03/24 by Daniel.Wright
Removed planar reflection debug code
Change 2922428 on 2016/03/25 by Chris.Bunner
Delete FShaderPipeline objects when clearing TMaterialShaderMaps.
#rb Rolando.Caloca
#jira UE-28621
Change 2922803 on 2016/03/25 by Rolando.Caloca
DR - New cmd buffer management (disabled)
- Move cmd buffer out of pending state and into context
- Do not hardcode # cmd buffers
- Move back buffer image mgmt into swapchain
- Fixed some image layout transition bugs
Change 2923056 on 2016/03/25 by Rolando.Caloca
DR - Initial fix for canvas locking inside a render pass
[CL 2932649 by Gil Gribb in Main branch]
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2890427 on 2016/03/02 by Olaf.Piesche
Fixing global vector fields not working at all with fixed bounds particle systems.
#rb simon.tovey
Change 2890689 on 2016/03/02 by David.Hill
Noise buffers missing in (Slate) UI materials
#jira:UE-27231
Change 2892556 on 2016/03/03 by Gil.Gribb
UE4 - Added the hipri and background threads to SetThreadAffinity
Change 2898686 on 2016/03/08 by Gil.Gribb
PS4 - Reduced malloc spam on submission queues.
Change 2899191 on 2016/03/08 by Olaf.Piesche
Adding HasCompleted as a possible condition for auto-deactivate, so we don't restrict this purely to burst only emitters
#hira UE-18899
Change 2899587 on 2016/03/08 by Uriel.Doyon
Added missing default value for FGBufferData.SelectiveOutputMask
Change 2901654 on 2016/03/09 by David.Hill
Opacity mask materials were producing incorrect shadows. The pixel shader computation of world coordinates was incorrect. Instead we can simply use the interpolated position from the vertex shader.
#rb:Martin.Mitring
Change 2903496 on 2016/03/10 by Gil.Gribb
PS4 - Added Cycles64 and optimized the PS4 GetCycles to use a shift instead of a divide.
Change 2903508 on 2016/03/10 by Gil.Gribb
UE4 - Tweaked out MallocBinned2. Removed several recyclers in the engine since MB2 is faster. Reworked the container slack policies to use the allocator granularity.
Change 2905727 on 2016/03/11 by Zabir.Hoque
Merging as an Edit.
//UE4/Private-GDC16-Character/Engine/Source/Runtime/Engine/Private/ShaderCompiler/ShaderCompiler.cpp
to //UE4/Dev-Rendering/Engine/Source/Runtime/Engine/Private/ShaderCompiler/ShaderCompiler.cpp
Change 2910327 on 2016/03/15 by Daniel.Wright
Re-added support for vs2012 project generation
[CL 2914224 by Gil Gribb in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2826201 on 2016/01/13 by Zabir.Hoque
Add more verbose logging to try to understand #OR-11297
#lockdown Andrew.Grant
#CodeReview Marcus.Wassmer
#RB none
#TESTS compiled Win64 debug editor, ran agora_p
Change 2826170 on 2016/01/13 by Marcus.Wassmer
Flush unloaded resource properly in LoadMap
#codereview Gil.Gribb
#rb none
#test cycling game. memory is freed properly now.
#lockdown Andrew.Grant
Change 2826135 on 2016/01/12 by Michael.Noland
Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation
- Disabled async streaming for the duration of the QOS ping measurement to avoid hitches
- Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future)
- Added logging of the current average frame time when the datacenter ping is finalized
- Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4)
#jira OR-12453
#rb paul.moore
#tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc...
Merging CL# 2826128 using //Orion/Main_to_//Orion/Dev-General
Change 2826131 on 2016/01/12 by Michael.Noland
#UE4 - added print out of MS/FPS during Qos ping evaluation
#rb michael.noland
#tests loaded up through login screen to see output
Merging CL# 2825678 using //Orion/Main_to_//Orion/Dev-General
Change 2826128 on 2016/01/12 by Michael.Noland
Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation
- Disabled async streaming for the duration of the QOS ping measurement to avoid hitches
- Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future)
- Added logging of the current average frame time when the datacenter ping is finalized
- Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4)
#jira OR-12453
#rb paul.moore
#tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc...
Merging CL# 2826116 using //Orion/Release-Next->//Orion/Main
Change 2826116 on 2016/01/12 by Michael.Noland
Orion: Improve login screen on PC to reduce the potential impact of framerate on data center ping calculation
- Disabled async streaming for the duration of the QOS ping measurement to avoid hitches
- Added a circular throbber in the top left corner of the login screen indicating that something is async streaming (as a diagnostic tool for users affected by the datacenter ping, can be removed in the future)
- Added logging of the current average frame time when the datacenter ping is finalized
- Added a 'Pick Ideal Settings' button to the login screen (note: on the actual screen, not the login widget, so it will not appear on PS4)
#jira OR-12453
#rb paul.moore
#tests Ran a QOS server and client and verified that the new logging is occurring, tried out the new benchmark button, etc...
#lockdown andrew.grant
#codereview josh.markiewicz
Change 2825772 on 2016/01/12 by Dmitry.Rekman
Linux signal handling improvements.
- Switch crash handlers to use "crash malloc" (preallocated memory) on crash.
- Remove unnecessary memory allocations from graceful termination handler.
#rb none
#tests Run the Linux server and crashed it a few times.
#codereview David.Vossel, Michael.Trepka
Change 2825768 on 2016/01/12 by Josh.Markiewicz
#UE4 - added print out of MS/FPS during Qos ping evaluation
#rb michael.noland
#tests loaded up through login screen to see output
Change 2825703 on 2016/01/12 by Brian.Karis
Switched on new motion blur. Set temporal AA sharpness to 1.
#rb none
#TESTS editor
Change 2825689 on 2016/01/12 by Lina.Halper
Fix for get animation notify crash
https://jira.ol.epicgames.net/browse/OR-12248https://jira.ol.epicgames.net/browse/OR-12348
- Also fixed the crash in preview of persona due to blend sample cache contains previous animation data
- Also fixed blend space player to reinitialize cache data
- The main issue is marker doesn't clamp the length, causing notifies ensure to trigger.
#rb : Laurent.Delayen
#tests: 10 Sparrows bot match for long time
#code review: Martin.Wilson
#lockdown: Andrew.Grant
Change 2825680 on 2016/01/12 by Martin.Mittring
fixed all cases with r.Tonemapper.ScreenPercentage, ScreenPercentage, Fringe, Vignette, ViewRect, flickering with transluceny (View members have been modified while other thread was reading)
#rb:Olaf.Piesche, David.Hill
#test: PC, many cases
Change 2825579 on 2016/01/12 by Chris.Bunner
Force shadow shape bone indices on the required update list.
#rb Lina.Halper, Rolando.Caloca
#tests Editor
#codereview Daniel.Wright
#jira OR-12339
Change 2825443 on 2016/01/12 by Martin.Mittring
#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
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2771498 on 2015/11/18 by Rolando.Caloca
DevRendering - HlslParser - Do not crash if an unknown preprocessor directive is found; add proper support for #pragma
#codereview Marcus.Wassmer
Change 2771600 on 2015/11/18 by Rolando.Caloca
DevRendering - SCW - Added support for running the platform shader compiler for one usf file off the dumped usf
Usage:
ShaderCompileWorker -directcompile FILENAME.USF -entry=EntryPoint -format=PCD3D_SM5/SF_PS4/etc -vs/-ps/-gs/-hs/-ds/-cs
-Also removed old communication enum from SCW
#rb Daniel.Wright
Change 2771647 on 2015/11/18 by Rolando.Caloca
DevRendering - HlslParser - Refactored removed unused outputs code in prep for reusing a lot of this code
- Entry point string now gets modified to the optimized one
- Fixed parser allocator when requesting pages bigger than PageSize
#rb Chris.Bunner
Change 2772133 on 2015/11/18 by Chris.Bunner
Removed physics shape type zeroing on Speedtree import. UE-23285
#rb Ori.Cohen
Change 2772225 on 2015/11/18 by Rolando.Caloca
DevRendering - Hlsl - Support for removing unused inputs on pixel shaders
- Fix some shadow variable warnings
#rb Chris.Bunner, Nick.Penwarden
Change 2772469 on 2015/11/18 by Daniel.Wright
Fixed SCW always exiting after compiling a long shader, now checks idle time starting from the end of the last compile task
Automated smoke tests aren't run in standalone programs which are frequently launched as they increase the startup time (doubles startup time of SCW as shown in sampling profile)
#rb Rolando.Caloca
Change 2772471 on 2015/11/18 by Daniel.Wright
Particle SubUV cutouts
* A new asset type 'SubUV Animation' precomputes bounding geometry for every frame of a SubUV texture animation.
* Particle emitters with a SubUV module can then use this SubUV Animation to render with much tigher bounding geometry to reduce overdraw.
* GPU performance savings depend on how much empty space (zero alpha) existed in the texture. Measured a reduction of 2-3x GPU time on a smoke effect.
* This only works if the material does not modify opacity to reveal areas with zero texture alpha
Change 2772483 on 2015/11/18 by Marcus.Wassmer
Filtering options on UnrealPak -list
#rb Josh.Adams
Change 2772644 on 2015/11/18 by Daniel.Wright
Integrate - Temporal AA dithering is only enabled if outputting to a low precision format
#rb Nick.Penwarden
Change 2773336 on 2015/11/19 by Rolando.Caloca
DevRendering - PS4 shaders - Added input/output attribute information when r.PS4StripExtraShaderBinaryData=0
#rb Marcus.Wassmer
Change 2773476 on 2015/11/19 by Rolando.Caloca
DevRendering - PS4 Shader attribute export stats
Run using r.PS4DumpExportStats 1 in the console
- Also fixed non-vertex shaders not getting optional data
#codereview Marcus.Wassmer
Change 2773865 on 2015/11/19 by Gil.Gribb
UE4 - Added an FName churn tracker.
Change 2773900 on 2015/11/19 by Rolando.Caloca
DevRendering - Fix sharing shaders for material & mesh shaders
#rb Marcus.Wassmer
Change 2774277 on 2015/11/19 by Gil.Gribb
UE4 - Did minor optimizations to the PS4 RHI and drawlists.
Change 2774421 on 2015/11/19 by Olaf.Piesche
Fix#2 for UE-23325 - separate translucency materials don't show in static mesh editor
#codereview Martin.Mittring
Change 2774447 on 2015/11/19 by Rolando.Caloca
DevRendering - Velocity and Depth shader pipelines
#rb Marcus.Wassmer
Change 2774603 on 2015/11/19 by Marcus.Wassmer
Windowed vsync for ps4
#rb Rolando.Caloca
Change 2775650 on 2015/11/20 by Rolando.Caloca
DevRendering - Added two utility overloads per UDN suggestion
#codereview Gil.Gribb
Change 2775798 on 2015/11/20 by David.Hill
Adding a new AutoExposure method
#rb Martin.Mittring
Change 2776345 on 2015/11/20 by Daniel.Wright
Capsule shadows for movable skylight
* Gathers capsule occlusion along the unoccluded sky cone computed by Distance Field Ambient Occlusion
* Requires DFAO to be enabled at the moment
* Some serious artifacts remaining in indoor scenarios, as the unoccluded sky direction is not continuous
Change 2777033 on 2015/11/22 by Uriel.Doyon
Enabled SceneTextures node validation when material domain is DeferredDecal
#review Martin.Mittring
#jira UE-23141
Change 2778618 on 2015/11/23 by Daniel.Wright
Global distance field can be accessed via new DistanceToNearestSurface and DistanceFieldGradient material nodes
[CL 2555411 by Daniel Wright in Main branch]