#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3091951 on 2016/08/17 by Chris.Bunner
(Duplicate) CL 3090919: Fixed edge case interactions in HLOD ray rejection logic in Lightmass.
Change 3093162 on 2016/08/18 by Ben.Woodhouse
Fix minor memory leak (missing delete of RT Heartbeat thread)
Change 3093470 on 2016/08/18 by Ben.Woodhouse
Fix minor leak in FMonitoredProcess - the Thread member would get leaked if the FMonitoredProcess was cancelled, because it gets NULLed without deleting it. Fix is to add a bool to keep track of whether the thread is running, rather than using the Thread pointer.
Also fixes a race condition where the FMonitoredProcess::Thread member could get initialized after the thread had completed. This would cause IsRunning to never return false, even if the thread has completed, and the editor would hang on startup (this was fixed by setting bIsRunning to true before creating the thread)
Change 3093698 on 2016/08/18 by Daniel.Wright
Translucent lighting volume draw event cleanup
Change 3093700 on 2016/08/18 by Daniel.Wright
Clamp on box reflection capture transition distance visualizer
Change 3093755 on 2016/08/18 by Ryan.Vance
Merging stereo planar reflections from Odin.
Change 3094060 on 2016/08/18 by Daniel.Wright
Fully featured base pass reflection captures with blending and parallax correction
* Used in the forward renderer when materials opt-in to 'High Quality Reflections'
* Used in the deferred renderer for translucent 'Surface ForwardShading' materials
* Reflection captures are culled to a frustum space grid using the same reverse linked-list method as lights in the forward renderer
* Fixed grid culling in stereo / splitscreen
* The ReflectionEnvironment compute shader used in the deferred path also uses the culled grid now which reduces its cost from .93ms -> .70ms on 970 GTX. PS4 cost is about the same.
* Capsule indirect self-shadowing is now reduced in the forward path to match deferred, and both are controlled by r.CapsuleIndirectShadowSelfShadowIntensity
* SetupHZB is now skipped when SSAO / SSR / HZB are all disabled
Change 3094160 on 2016/08/18 by Daniel.Wright
CIS fixes
Change 3094899 on 2016/08/19 by Ben.Woodhouse
Batching optimization for dragging components onto blueprints, reported on UDN. Adding 2300 static mesh actors now takes 3 seconds instead of 40 minutes.
https://udn.unrealengine.com/questions/305821/suspected-rhi-uniform-buffer-leak-when-adding-stat.html
#jira UE-34937
Change 3095256 on 2016/08/19 by Daniel.Wright
Disabled ISR warning spamming CIS
Change 3095468 on 2016/08/19 by Daniel.Wright
Fixed refcounting on hit proxy render targets
Change 3095470 on 2016/08/19 by Daniel.Wright
Added bVisibleInReflectionCaptures to primitive component, which is useful for hiding objects too close to the capture point
Change 3096274 on 2016/08/22 by Rolando.Caloca
DR - vk - added missing BC4
Change 3096291 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix image views for some rendertarget formats
- Fix ImageViews on sub mips
Change 3096579 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix rendering for shaders with no descriptors
Change 3096584 on 2016/08/22 by Rolando.Caloca
DR - vk - Fix 3d texture update
Change 3096813 on 2016/08/22 by Rolando.Caloca
DR - Fix GL linking errors
PR #2615
Change 3097062 on 2016/08/22 by Rolando.Caloca
DR - vk - Added unified mem flag
- Added Mip index into UAV
- Switched compute descriptor set index 0
Change 3097065 on 2016/08/22 by Rolando.Caloca
DR - vk - Framebuffer barriers now wait on STAGE_FRAGMENT_SHADER instead of STAGE_BOTTOM_OF_PIPE
Change 3097084 on 2016/08/22 by Daniel.Wright
Enabled r.VertexFoggingForOpaque by default to match other forward renderer choices (fast by default)
Change 3097086 on 2016/08/22 by Rolando.Caloca
DR - vk - Missed file
Change 3097943 on 2016/08/23 by Rolando.Caloca
DR - hlslcc - Remove duplicated definitions out into a common header
Change 3098166 on 2016/08/23 by Rolando.Caloca
DR - Custom Renderer callback after getting SceneColor
Change 3098418 on 2016/08/23 by Olaf.Piesche
Moving vertex factory dirtying to always happen in-editor for mesh emitters on dynamic data reinitialization; there are several cases in which this needs to happen (some material changes, mesh reimports...) which are difficult to track, so in-editor we just always recreate the mesh particle vertex factory with the dynamic data.
#jira UE-34838
Change 3098448 on 2016/08/23 by Rolando.Caloca
DR - vk - fixes for depth/stencil descriptors
- Minor debug dump improvement
Change 3098463 on 2016/08/23 by Daniel.Wright
Static lights with MinRoughness = 1.0 don't get their source shapes drawn into reflection captures, since they are being used as virtual area lights
Change 3098556 on 2016/08/23 by Daniel.Wright
Lightmass area shadows only mark texels as mapped inside the light's influence, which fixes multiple stationary lights with bUseAreaShadowsForStationaryLight interfering.
Change 3098672 on 2016/08/23 by Rolando.Caloca
DR - vk - Fixed crash when using vertex shaders with no descriptors
Change 3099173 on 2016/08/24 by Ben.Woodhouse
Fixed various issues with subsurface profile, for checkerboard and non-checkerboard code paths
- Re-enable non-checkerboard skin by default
- Checkerboard issues fixed:
- Emissive lighting was being applied twice due to not taking checkerboard pattern into account
- Emissive lighting was modulated by basecolor in the recombine
- Metallic materials were contributing specular lighting to the diffuse channel
- Non-checkerboard fixes:
- Fix write mask during SkyLightDiffuse so alpha is updated correctly
- Metallic specular lighting was broken (specularColor was lerping to white instead of baseColor)
- Optimisation: Fall back to default lit for pixels where the opacity is 0.
- For non-checkerboard, this gives better handling of metallic/emissive for pixels where SSS is not required (non-CB RGBA encoding for diffuse/spec doesn't cope well with colored specular or emissive)
- For checkerboard, this gives similar results in terms of shading, but we get full-resolution shading on non SSS pixels
#jira UE-34561
Change 3099673 on 2016/08/24 by Daniel.Wright
Removed unused reflection shape variables
Change 3099674 on 2016/08/24 by Daniel.Wright
Fixed translucent materials not working in DrawMaterialToRenderTarget (fallout from cl 3089208)
Fixed ensure with FRendererModule::DrawTile in the forward renderer, trying to bind light attenuation texture
Change 3099700 on 2016/08/24 by Daniel.Wright
Disabled log spam when a Rift is connected but not being used
Change 3099730 on 2016/08/24 by Daniel.Wright
MSAA depth resolve uses depth of closest surface, hides some artifacts with dynamic shadowing against the skybox
Change 3099789 on 2016/08/24 by Brian.Karis
FloatRGB is now always supported.
If 11:11:10 isn't supported by hardware this format by definition will map to a different format meaning it is always supported.
Change 3099987 on 2016/08/24 by Daniel.Wright
Fixed light grid debug asserts on PS4
* Always creating the local light buffer, even if it won't be used by the shader
* Transition ViewState FRWBuffers to writable at the beginning of a new frame
Change 3100120 on 2016/08/24 by Rolando.Caloca
DR - vk - Use 256MB pages for GPU memory
Change 3100151 on 2016/08/24 by Daniel.Wright
PS4 gracefully falls back to Temporal AA when MSAA is requested, as the GNM RHI doesn't support MSAA yet
Change 3100302 on 2016/08/24 by Rolando.Caloca
DR - vk - Mem system changes
- Now allocates a readback heap from GPU->CPU
- Removed bad total memory on heap/type
- Added fallback to another mem type if it's OOM
Change 3101110 on 2016/08/25 by Rolando.Caloca
DR - vk - Remove r.Vulkan.UseGLSL
Change 3101121 on 2016/08/25 by Rolando.Caloca
DR - vk - Initial support for HiResShot
Change 3101450 on 2016/08/25 by Rolando.Caloca
DR - vk - Remove imagelayout from textures; renamed a method for clarity
Change 3101462 on 2016/08/25 by Daniel.Wright
Planar reflections no longer update GPU particles, fixes Scene Depth particle collision
Change 3101525 on 2016/08/25 by Frank.Fella
Niagara - Remove public include modules from niagara, and remove the public include dependency on niagara from UnrealEd, and fix up fallout.
Change 3101613 on 2016/08/25 by Rolando.Caloca
DR - vk - Fix static analysis warning
Change 3101686 on 2016/08/25 by Frank.Fella
Niagara - Move asset type actions into the niagara module.
Change 3101865 on 2016/08/25 by Rolando.Caloca
DR - vk - Fix compile issue when enabling dump layer
Change 3101946 on 2016/08/25 by Frank.Fella
Orion - Fix include error caused by niagara include fixup.
Change 3101999 on 2016/08/25 by Frank.Fella
Fortnite - Fix include error caused by niagara include fixup.
Change 3102035 on 2016/08/25 by Frank.Fella
Ocean - Fix include error caused by niagara include fixup.
Change 3102047 on 2016/08/25 by Frank.Fella
UnrealTournament - Fix include error caused by niagara include fixup.
Change 3102627 on 2016/08/26 by Frank.Fella
Niagara - Move stats group declaration to the niagara module and move the stats declarations in the niagara module into the cpp files.
Change 3102654 on 2016/08/26 by Ben.Woodhouse
Fix for D3D error with mismatched vertex/pixel shader registers for SV_POSITION input. Remove unused PixelPosition attribute from interpolators
#jira UE-33424
Change 3102780 on 2016/08/26 by Ben.Woodhouse
Make shadow culling take FOV into account, via LODDistanceFactor
Also set the LODDistanceFactorSquared member of the view, which was previously uninitialized
#jira UE-33873
Change 3102930 on 2016/08/26 by Rolando.Caloca
DR - vk - Do not require backbuffer at start, like Metal
Change 3103061 on 2016/08/26 by Rolando.Caloca
DR - vk - More debug dump to help track down issues
Change 3103143 on 2016/08/26 by Rolando.Caloca
DR - vk - Added partial image view for each texture for Depth/Stencil
- Removed some unused members from textures
Change 3104162 on 2016/08/29 by Gil.Gribb
Merging //UE4/Dev-Main@3104155 to Dev-Rendering (//UE4/Dev-Rendering)
Change 3104491 on 2016/08/29 by Rolando.Caloca
DR - vk - Fix merge issue
Change 3104500 on 2016/08/29 by Rolando.Caloca
DR - Rebuilt hlslcc libs after merge
Change 3104978 on 2016/08/29 by John.Billon
-Moved Particle Cutouts to the Required Module
-Pre-existing SubUVAnimation data is automatically moved to required on Init.
-Added Default Particle Cutouts project setting that will attempt to find and use a texture on a particle's material for a cutout by default.
Change 3105249 on 2016/08/29 by John.Billon
Fixing non-editor compile error.
Change 3105326 on 2016/08/29 by Zabir.Hoque
SIMD Movie Player on XB1
Change 3105813 on 2016/08/30 by John.Billon
Fixing static analysis warning.
Change 3106322 on 2016/08/30 by Matt.Kuhlenschmidt
Removed duplicated view uniform shader parameters initialization between slate and scene rendering. Moved all the duped initialization into a single shared method. The shared method should be where new parameters are initialized if they are required for the view to work properly.
Change 3106350 on 2016/08/30 by Rolando.Caloca
DR - vk - Added missing texture formats
- Added texture debug name
Change 3106547 on 2016/08/30 by Rolando.Caloca
DR - Added ESimpleRenderTargetMode::EExistingColorAndClearDepth
Change 3106631 on 2016/08/30 by Uriel.Doyon
Dirty Texture Streaming Build do not dirty maps anymore.
#jira UE-35241
Change 3106919 on 2016/08/30 by Rolando.Caloca
DR - Temp workaround to get Vulkan up & running, might require hlslcc fix
Change 3106974 on 2016/08/30 by Uriel.Doyon
Changed lightmass exports version from GUID to INT in order to shorten filenames.
Change 3106988 on 2016/08/30 by Uriel.Doyon
New project specific config value r.Streaming.CheckBuildStatus used to specify whether the engine should check if the "Texture Streaming Build" is dirty (false by default).
#jira UE-35227
Change 3107927 on 2016/08/31 by John.Billon
-Duplicating OpenGL4 ClearUAV Implementation from 4.13
-Fixed uav clear format.
#Jira UE-35345
Change 3108095 on 2016/08/31 by Marc.Olano
Restore initialization of noise textures, accidentally removed in @3106322
#jira UE-35369
Change 3108557 on 2016/08/31 by John.Billon
Fixing HTML5 compile error
[CL 3109297 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 3055495 on 2016/07/19 by Marc.Olano
Allow Noise material node on mobile
No reason to exclude mobile, except for Fast Gradient Noise, which uses 3D textures. Allow this node on ES2 for all of the other noise functions.
#jira UE-33345
Change 3055602 on 2016/07/19 by Luke.Thatcher
Fix crash bug in D3D11 RHI when selecting adapters.
- Array of adapter descriptors will get out of sync with the adapter index if any adapter is skipped (e.g. the Microsoft Basic Render Device).
#jira UE-33236
Change 3055890 on 2016/07/19 by Daniel.Wright
Improved the assert in LoadModuleChecked so we won't have to check the log to see which module it was
Change 3055891 on 2016/07/19 by Daniel.Wright
Fixed Global Distance Field not dirtying previous object position on UpdateTransform - left behind a phantom shadow on teleports
* This will effectively double partial distiance field update costs until clipping of the update regions is implemented
Change 3055892 on 2016/07/19 by Daniel.Wright
Higher poly light source shapes drawn into reflection captures
Change 3055893 on 2016/07/19 by Daniel.Wright
More info to 'Incompatible surface format' GNM assert
Change 3055904 on 2016/07/19 by Daniel.Wright
Reflection environment normalization improvements
* Indirect specular from reflection captures is now mixed with indirect diffuse from lightmaps based on roughness, such that a mirror surface will have no mixing. Reflection captures now match other reflection methods like SSR and planar reflections much more closely.
* When a stationary skylight is present, Reflection captures are now normalized as if the initial skylight will always be present, giving consistent results with static skylight reflections. The skylight and reflection captures with sky removed used to be normalized separately, compacting the relative brightness between the sky and scene.
* Added r.ReflectionEnvironmentLightmapMixing for debugging lightmap mixing issues. This toggle was previously not possible due to prenormalizing the capture data.
* The standard deferred reflection path (r.DoTiledReflections 0) can no longer match the results of the compute path or base pass reflections, as it would require MRT to accumulate the average brightness
* Removed unused r.DiffuseFromCaptures
* Cost of reflection environment on PS4 increased from 1.52ms -> 1.75ms with this change, but decreased back to 1.58ms by reducing tile size to 8x8
Change 3055905 on 2016/07/19 by Daniel.Wright
Workaround for RTDF shadows not working on PS4 - manual clear of ObjectIndirectArguments instead of RHICmdList.ClearUAV
Change 3059486 on 2016/07/21 by Nick.Penwarden
Testing #uecritical
Change 3060558 on 2016/07/21 by Daniel.Wright
Fixed skylight with specified cubemap being black
Change 3061999 on 2016/07/22 by Marcus.Wassmer
Disable old AMD driver hacks for DX11. QA has already tested with them off and given thumbs up.
Change 3062241 on 2016/07/22 by Daniel.Wright
Fixed bug in RHISupportsSeparateMSAAAndResolveTextures that was preventing MSAA for any non-Vulkan platforms
Change 3062244 on 2016/07/22 by Daniel.Wright
Discard old prenormalized reflection environment data on load
Change 3062283 on 2016/07/22 by Daniel.Wright
MSAA support for the forward renderer
* AntiAliasing method is chosen in Rendering project settings, DefaultSettings category
* Deferred passes like shadow projection, fogging and decals are only computed per-pixel and can introduce aliasing
* Added Rendering project setting VertexFoggingForOpaque, which makes height fog cheaper and work properly with MSAA
* The AntiAliasing method in PostProcessSettings has been removed, this may affect existing content
* Added r.MSAACount which defaults to 4
* Integrated wide custom resolve filter from Oculus renderer, controlled by r.WideCustomResolve
* GBuffer targets are no longer allocated when using the forward renderer
* Decal blend modes that write to the GBuffer fall back to SceneColor emissive only
Change 3062666 on 2016/07/23 by Uriel.Doyon
Added legend to streaming accuracy viewmodes
Added a new helper class FRenderTargetTemp to be reused in different canvas rendering.
Exposed the pass through pixel shader so that it can be reused.
#review-3058986 @marcus.wassmer
Change 3063023 on 2016/07/25 by Luke.Thatcher
Fix "RecompileShaders Changed" when using Cook On The Fly.
#jira UE-33573
Change 3063078 on 2016/07/25 by Ben.Woodhouse
Add -emitdrawevents command line option to emit draw events by default. This is useful when capturing with Renderdoc
Change 3063315 on 2016/07/25 by Ben.Woodhouse
Fix div 0 in motion blur. This caused artifacts in some fairly common cases
#jira UE-32331
Change 3063897 on 2016/07/25 by Uriel.Doyon
Fixed missing qualifier on interpolants
Change 3064559 on 2016/07/26 by Ben.Woodhouse
Fix for cooker crash with BC6H textures (XB1, but may affect other platforms). Also fixes corruption issue with texture slices not being a multiple of 4 pixels (expanding as necessary), courtesy of Stu McKenna at the Coalition
Tested fix on xbox, PC and PS4, using QAGame
#jira UE-28592
Change 3064896 on 2016/07/26 by Ben.Woodhouse
Fix compile errors on PS4 (the variable "sample" was conflicting with a keyword, causing compile errors). Also making encoding consistent on new shaders (ansi rather than UTF16)
Change 3064913 on 2016/07/26 by Ben.Marsh
Fix spelling of "Editor, Tools, Monolithics & DDC" node in Dev-Rendering build settings.
Change 3065326 on 2016/07/26 by Uriel.Doyon
Fixed UnbuiltInstanceBoundsList not being reset correctly, creating broken rendered primitives.
#jira UE-32585
Change 3065541 on 2016/07/26 by Daniel.Wright
Materials with a GBuffer SceneTexture lookup will fail to compile with forward shading
Change 3065543 on 2016/07/26 by Daniel.Wright
Restored DetailMode changes causing a FGlobalComponentRecreateRenderStateContext - accidental removal from cl 2969413
Change 3065545 on 2016/07/26 by Daniel.Wright
Added material property bNormalCurvatureToRoughness, which can slightly reduce aliasing. Tweakable impact with r.NormalCurvatureToRoughnessScale.
Fixed reflection capture feedback with base pass reflections
Change 3066783 on 2016/07/27 by Daniel.Wright
Moved PreShadowCacheDepthZ out of FSceneRenderTargets and into FScene, which fixes issues with cached preshadows and multiple scenes, including HighResScreenShot
Disabled GMinScreenRadiusForShadowCaster on per-object shadows, which fixes popping when trying to increase shadow resolution from the defaults (r.Shadow.TexelsPerPixel 3)
Change 3066794 on 2016/07/27 by Daniel.Wright
Fixed crash rendering planar reflections due to NULL PostProcessSettings
Change 3067412 on 2016/07/27 by Daniel.Wright
Fix for OpenGL4 with uint interpolator
Change 3068470 on 2016/07/28 by Daniel.Wright
Fixed crash rendering translucency with translucent shadows which were determined to be invisible
Change 3069046 on 2016/07/28 by Daniel.Wright
Handle null Family in SetupAntiAliasingMethod
Change 3069059 on 2016/07/28 by Daniel.Wright
Added r.ReflectionEnvironmentBeginMixingRoughness (.1) and r.ReflectionEnvironmentEndMixingRoughness (.3), which can be used to tweak the lightmap mixing heuristc, or revert to previous behavior (mixing even on a mirror surface)
Change 3069391 on 2016/07/28 by Daniel.Wright
Fixed AverageBrightness being applied to reflections in gamma space in the mobile base pass, causing ES2 reflections to be overbright
Change 3070369 on 2016/07/29 by Daniel.Wright
r.ReflectionEnvironmentBeginMixingRoughness and r.ReflectionEnvironmentEndMixingRoughness set to 0 can be used to achieve old non-roughness based lightmap mixing
Change 3070370 on 2016/07/29 by Daniel.Wright
Bumped reflection capture DDC version to get rid of legacy prenormalized data
Change 3070680 on 2016/07/29 by Marcus.Wassmer
Fix slate ensure that is most likely a timing issue exposed by rendering.
#ue-33902
Change 3070811 on 2016/07/29 by Marcus.Wassmer
Fix ProjectLauncher errors when loading old versions
#ue-33939
Change 3070971 on 2016/07/29 by Uriel.Doyon
Updated ListTextures outputs to fix cooked VS non cooked differences and also to put enphasis on disk VS memory
Change 3071452 on 2016/07/31 by Uriel.Doyon
Updated the legend description for the (texture streaming) primitive distance accuracy view mode
[CL 3072803 by Marcus Wassmer in Main branch]
Instead of rendering a full screen quad for post process passes, render a mesh which represents only the screen area visible in the HMD after distortion.
This cuts the cost of post processing ~10-15% with no visible difference.
Initial implementation for the Vive.
[CL 2644327 by Ryan Vance in Main branch]
This is more correct for scanned textures as they include scattering already. Affects the look of emissive lighting (rarely needed and can be fixed by content). All diffuse lighting for SubsurfaceScatteringProfile is now done without the BaseColor (minor performance cost) and reading the Lighting before the SubsurfaceScattering pass would be different.
Removed the need for a SceneColor alpha channel as lighting is now stored in a checkerboard pattern for diffuse and specular separate. Specular and diffuse lighting on Subsurface materials can appear a bit less crips.
This means the use of 32bit SceneColor (for better performance) is now possible (we might change the defaults soon).
[CL 2640696 by Martin Mittring in Main branch]
- wasn't scaling right with ViewportSize, e.g. HighResScreenshot
- Missing a horizontal line in the 2d kernel
- Improved quality of the full res portion
- refactored to avoid one full res pass
- simplified Stereo rendering support
- In single viewport case it now goes down to 32bit texture format afterwards (input can be 32/RGB or 64/RGBA as before, without alpha it can look bad)
[CL 2637623 by Martin Mittring in Main branch]
FORT-2471 Player character appears blurry with certain video settings
(Blurry is now only on Subsurface, there it could be a bit better using the non subsurface constribution as full res)
[CL 2383733 by Martin Mittring in Main branch]