Commit Graph

73 Commits

Author SHA1 Message Date
Gil Gribb
93047290bb Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3054480)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3045482 on 2016/07/11 by Zabir.Hoque

	DX12 Quries need to individually track their syncpoints. Only when resolving a query on the same frame should be stall.

Change 3045929 on 2016/07/12 by Simon.Tovey

	Removing some deprecated node types from Niagara

Change 3045951 on 2016/07/12 by Ben.Woodhouse

	D3D11 Log detailed live device info on shutdown if the debug layer is enabled (including resource types)

Change 3046019 on 2016/07/12 by Chris.Bunner

	Fixed typo in material input name.
	#jira UE-5575

Change 3046053 on 2016/07/12 by Rolando.Caloca

	DR - Fix GL4 shutdown
	#jira UE-32799

Change 3046055 on 2016/07/12 by Rolando.Caloca

	DR - vk - Fix NumInstances=0

Change 3046063 on 2016/07/12 by Rolando.Caloca

	DR - vk - Added flat to uint layouts per glslang
	- Fix bad extension on dumped shaders

Change 3046067 on 2016/07/12 by Rolando.Caloca

	DR - vk - Fix check when not using color RT
	- Added queue submit & present counters

Change 3046088 on 2016/07/12 by Ben.Woodhouse

	Live GPU stats
	A non-hierarchical realtime high level GPU profiler with support for cumulative stat recording.
	Stats are added with SCOPED_GPU_STAT macros, e.g. SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Distortion)
	The bulk of the files in this change are simply instrumentation for the renderer. The core changes are in SceneUtils.cpp/h and D3D11Query.cpp (this is the XB1/DX11X implementation of timestamp RHI queries, which was missing)
	Note: this is currently disabled by default. Enable with the cvar r.gpustatsenabled
	Tested on PC, XB1, PS4

Change 3046128 on 2016/07/12 by Olaf.Piesche

	Max draw distance and fade range for lights, requested by JonL

Change 3046183 on 2016/07/12 by Ben.Woodhouse

	PR #2532: Fix SSAO being applied in unlit viewmode (Contributed by nick-penwarden)

Change 3046223 on 2016/07/12 by Luke.Thatcher

	Fix Scene Cube Captures. SceneCaptureSource flag on the ViewFamily was not set for cube components.

	#jira UE-32345

Change 3046228 on 2016/07/12 by Marc.Olano

	Add Voronoi noise to Noise material node.

	Four versions with differing speed/quality levels accessed through the Quality value in the material node. Tooltips give estimates of the cost of each.

	Also includes spiffy new Rand3DPCG16 and Rand3DPCG32 int3 to int3 hash functions, and a 20% improvement on the computed gradient noise.

Change 3046269 on 2016/07/12 by Rolando.Caloca

	DR - Skip flush on RHIDiscardRenderTargets and only use it on platforms that need it (ie OpenGL)

Change 3046294 on 2016/07/12 by Rolando.Caloca

	DR - Fix static analyisis
	warning C6326: Potential comparison of a constant with another constant.

Change 3046295 on 2016/07/12 by Rolando.Caloca

	DR - Fix the previous fix

Change 3046731 on 2016/07/12 by Marc.Olano

	Fix typo in shader random number constant: repeated extra digit made it too big.

Change 3046796 on 2016/07/12 by Uriel.Doyon

	The texture streaming manager now keeps a set of all valid textures.
	This is used to prevent from indirecting deleted memory upon SetTexturesRemovedTimestamp.
	#jira UE-33048

Change 3046800 on 2016/07/12 by Rolando.Caloca

	DR - vk - Added create image & renderpass dump

Change 3046845 on 2016/07/12 by John.Billon

	Forgot to apply MaxGPUSkinBones Cvar access changes in a few locations.

Change 3047023 on 2016/07/12 by Olaf.Piesche

	Niagara:
	-a bit of cleanup
	-now store and double buffer attributes individually, eliminating unnecessary copy of unused attributes
	-removed FNiagaraConstantMap, replaced with an instance of FNiagaraConstants
	-some code simplification
	-removed some deprecated structs and code used only by old content

Change 3047052 on 2016/07/12 by Zabir.Hoque

	Unshelved from pending changelist '3044062':

	PR #2588: Adding blend mode BLEND_AlphaComposite (4.12) (Contributed by moritz-wundke)

Change 3047727 on 2016/07/13 by Luke.Thatcher

	Fix Scene Capture Components only updating every other frame.
	#jira UE-32581

Change 3047919 on 2016/07/13 by Olaf.Piesche

	CMask decode, use in deferred decals, for PS4

Change 3047921 on 2016/07/13 by Uriel.Doyon

	"Build Texture Streaming" will now remove duplicate error msg when computing texcoord scales.
	Also, several texture messages are packed on the same line if they relate to the same material.

Change 3047952 on 2016/07/13 by Rolando.Caloca

	DR - vk - Initial prep pass for separating combined images & samplers

Change 3048648 on 2016/07/13 by Marcus.Wassmer

	Fix rare GPU hang when asynctexture reallocs would overlap with EndFrame

Change 3049058 on 2016/07/13 by Rolando.Caloca

	DR - vk - timestamps

Change 3049725 on 2016/07/14 by Marcus.Wassmer

	Fix autosdk bug where not having a platform directory sync'd at all would break manual SDK detection

Change 3049742 on 2016/07/14 by Rolando.Caloca

	DR - Fix warning

Change 3049902 on 2016/07/14 by Rolando.Caloca

	DR - Fix typo

Change 3050345 on 2016/07/14 by Olaf.Piesche

	UE-23925
	Clamping noise tessellation for beams at a high but sensible value; also making sure during beam index buffer building that we never get over 2^16 indices; this is a bit hokey, but there are so many variables that can influence triangle/index count, that this is the only way to be sure (short of nuking the entire site from orbit).

Change 3050409 on 2016/07/14 by Olaf.Piesche

	Replicating 3049049; missing break and check for active particles when resolving a source point to avoid a potential crash

Change 3050809 on 2016/07/14 by Rolando.Caloca

	DR - vk - Remove redundant validation layers

Change 3051319 on 2016/07/15 by Ben.Woodhouse

	Fix for world space camera position not being exposed in decal pixel shaders; also fixes decal lighting missing spec and reflection
	The fix was to calculate ResolvedView at the top of the shader. Previously this was not initialized
	#jira UE-31976

Change 3051692 on 2016/07/15 by Rolando.Caloca

	DR - vk - Enable RHI thread by default

Change 3052103 on 2016/07/15 by Uriel.Doyon

	Disabled depth offset in depth only pixel shaders when using debug view shaders (to prevent Z fighting).
	#jira UE-32765

Change 3052140 on 2016/07/15 by Rolando.Caloca

	DR - vk - Fix shader snafu

Change 3052495 on 2016/07/15 by Rolando.Caloca

	DR - Fix for Win32 compile
	#jira UE-33349

Change 3052536 on 2016/07/15 by Uriel.Doyon

	Fixed texture streaming overbudget warning when using per texture bias.

[CL 3054554 by Gil Gribb in Main branch]
2016-07-18 17:17:08 -04:00
Gil Gribb
e581ead572 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3045398)
#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]
2016-07-11 18:51:20 -04:00
Gil Gribb
0b102492a9 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 3028916)
#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]
2016-06-27 13:42:20 -04:00
Ryan Vance
43e9a07ed7 Copying //UE4/Dev-VR to //UE4/Dev-Main (Source: //UE4/Dev-VR @ 3016398)
#lockdown nick.penwarden
#rb nobody

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2945508 on 2016/04/15 by Nick.Whiting

	Integrating fix for module loading for SteamVR, prevents crashing in race conditions

Change 2950385 on 2016/04/20 by Ryan.Vance

	We need to test if the hmd is enabled if it exists. Otherwise, this will return true even if we aren't rendering in stereo if there's an hmd plugin loaded.

Change 2955406 on 2016/04/25 by Chad.Taylor

	Factor scale into the motion controller component late update

Change 2956275 on 2016/04/26 by Nick.Whiting

	Initial integration of OSVR plugin support

	#pr 2097

Change 2964412 on 2016/05/03 by Chad.Taylor

	PSVR's GetControllerOrientationAndPosition now returns false if status is NOT_STARTED or CALIBRATING

Change 2964612 on 2016/05/03 by Ryan.Vance

	Copying //UE4/Dev-VR-InstancedStereo to Dev-VR-Minimal (//UE4/Dev-VR-Minimal)

Change 2985528 on 2016/05/20 by Ryan.Vance

	#jira UE-30715
	Keep from spamming the output log for every single shader compile when instanced stereo is enabled for a shader platform that doesn't support it.

Change 2986246 on 2016/05/22 by Chad.Taylor

	HMD late-update thread safety

Change 2998629 on 2016/06/02 by Ryan.Vance

	Post 4.12 Oculus plugin integration

Change 3000057 on 2016/06/03 by Ryan.Vance

	Updating serialize function for custom material nodes.
	The instanced stereo refactor moved Frame uniforms *back* to View (post 4.11). This should update only objects that went through the prior transformation from View *to* Frame.
	The serialize function was also being used to update Parameters.WorldPosition to Parameters.AbsoluteWorldPosition. This should still run as expected.

Change 3002187 on 2016/06/06 by Ryan.Vance

	Switching from ._m syntax to array syntax. The cross compiler chokes on the former.

Change 3004153 on 2016/06/07 by Chad.Taylor

	Enable PSVR on VS2015

	#jira UE-31202

Change 3009958 on 2016/06/10 by Ryan.Vance

	#jira UE-31922
	Velocity and depth pre-pass for dynamic instanced meshes with isr was only rendering in the left eye.
	Need to loop over the draw call the same way we do for the base pass.

Change 3011054 on 2016/06/13 by Chad.Taylor

	Merging "SteamVR Positional Late-Update" back into Dev-VR

Change 3013361 on 2016/06/14 by Ryan.Vance

	#jira UE-32022
	Fixing dbuffer decal integration errors.

[CL 3018810 by Ryan Vance in Main branch]
2016-06-17 20:25:37 -04:00
Gil Gribb
2614787137 Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2981742)
#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]
2016-05-18 09:31:59 -04:00
Gil Gribb
5f4d6e257c Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main) (Source: //UE4/Dev-Rendering @ 2943238)
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2932679 on 2016/04/04 by Martin.Mittring

	remove hack/cvar that is not longer needed as we fixed the bug
	#rb:Bob.Tellez
	#code_review:Bob.Tellez

Change 2932681 on 2016/04/04 by Martin.Mittring

	fixed cvars in consolevariables.ini can affect engine even if marked with cheat (no longer load consolevariables.ini in shipping and test), unified 3 code path, added testcase, cvars with cheat in ini file other than consolevariables.ini now trigger ensure, =on/off/true/false/.. works in all ini files,
	added enure if non scalability setting are used in ScalabilityIni (get now ignored)
	#rb:David.Hill
	#code_review:Marcus.Wassmer, Michael.Noland

Change 2932719 on 2016/04/04 by Marcus.Wassmer

	Merge 3 band SH back to DevRendering
	#rb Daniel.Wright

Change 2932760 on 2016/04/04 by Zabir.Hoque

	Migrating high resolution cubemaps for skylight and reflection probes.

	#rb: Daniel.Wright

Change 2933121 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix free blocks not getting joined
	- Fix compile issue

Change 2933122 on 2016/04/05 by Rolando.Caloca

	DR - Do not shorten dumped shaders path

Change 2933126 on 2016/04/05 by Rolando.Caloca

	DR - vk  - Index Buffers using new resource management

Change 2933127 on 2016/04/05 by Rolando.Caloca

	DR - vk - Extract multibuffer off index buffer

Change 2933131 on 2016/04/05 by Rolando.Caloca

	DR - vk - Transition to vb's using mutlibuffer

Change 2933136 on 2016/04/05 by Rolando.Caloca

	DR - vk - Change staging buffers to use resource allocation system
	- Fix free block not getting joined
	- Remove define

Change 2933140 on 2016/04/05 by Rolando.Caloca

	DR - vk - 'static' textures now use resource mgmt
	- Release free pages back to the OS
	- Remove ensure

Change 2933152 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix aliasing granularity
	- Fix renderpass end/copy buffer ensure

Change 2933155 on 2016/04/05 by Rolando.Caloca

	DR - SCW - Fix for -directcompile to directly load file for preprocessor

Change 2933158 on 2016/04/05 by Rolando.Caloca

	DR - hlslcc - Error on Metal if trying to R & W on RWTextures
	- Fix indices on RW reads to be unsigned
	#codereview Mark.Satterthwaite, Michael.Trepka

Change 2933169 on 2016/04/05 by Rolando.Caloca

	DR - vk - Move header to public to match changes on DevMobile

Change 2933173 on 2016/04/05 by David.Hill

	Deferred decal rendering with negative scale
	#rb:Matrin.Mittring
	#jira:UE-27389

Change 2933273 on 2016/04/05 by Rolando.Caloca

	DR - vk - Fix renderdoc markers

Change 2933274 on 2016/04/05 by Rolando.Caloca

	DR - Support for -AttachDebugger

Change 2933316 on 2016/04/05 by Rolando.Caloca

	DR - vk - Compile fix whene enabling define

Change 2933334 on 2016/04/05 by Rolando.Caloca

	DR - Compile fix
	#codereview Martin.Mittring

Change 2933805 on 2016/04/05 by Brian.Karis

	Temporal AA dynamic antighosting.

	Fixed DOF

Change 2933811 on 2016/04/05 by Brian.Karis

	Fixed area light NaNs. Improvements to area lights. Horizen handling for wrap around.

Change 2933812 on 2016/04/05 by Brian.Karis

	Fixed fresnel on SSS skin.

Change 2933813 on 2016/04/05 by Brian.Karis

	Tessellation fix

Change 2933816 on 2016/04/05 by Brian.Karis

	Improved forward shading support

[CL 2943241 by Gil Gribb in Main branch]
2016-04-13 21:24:38 -04:00
Bob Tellez
4b28d78a10 Copying up to CL#2909284 //UE4/Fortnite-Staging to //UE4/Main
This is CL#2904759 from //Fortnite/Main

#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2904398 on 2016/03/10 by Bob.Tellez

	#UE4 OnlineBeaconClients are now destroyed when net cleanup happens instead of normal destruction time so the behave more like PlayerControllers. Also added some low level protection from closing already closed beacons.

	#rb Josh.Markiewicz
	#codreview Josh.Markiewicz
	#JIRA FORT-20703

Change 2904339 on 2016/03/10 by Daniel.Broder

	Added support for allowing an actor to determine whether it is selectable or not (rather than relying purely on editor modes).

	One example use-case is a Transient actor created by WorldSettings for Fortnite which can otherwise be selected, edited, and even copied and pasted to a non-Transient form (which can be done accidentally and cause bugs).

	Change made after discussion with Bob.

	#CodeReview Bob.Tellez

	#UE4

Change 2903020 on 2016/03/10 by John.Abercrombie

	Added blueprint function to set named params for use when running an EQS query from BP
	- Phil is going to test this out for me.

	#rb me (Mieszko wrote this)
	#codereview Phil.Cole, Mieszko.Zielinski

Change 2902440 on 2016/03/09 by Ben.Zeigler

	#Jira FORT-20149
	Fix package map issue where if the client package map received a reference to a package that was already in the async loading queue due to an unrelated async load call, it would not register it correctly, which would lead to error messages and actors potentially not being initialized.
	#codereview john.pollard
	#RB bob.tellez

Change 2900138 on 2016/03/08 by Bob.Tellez

	#UE4 Updated the following Parameter value functions to respect the bOverride flag

	GetStaticSwitchParameterValue
	GetStaticComponentMaskParameterValue
	GetTerrainLayerWeightParameterValue

	#rb Nick.Penwarden

Change 2899839 on 2016/03/08 by Lukasz.Furman

	fixed navmesh projection on actors with overlap response to world channels
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2899743 on 2016/03/08 by Lukasz.Furman

	fixed handling multiple blocking hits in navwalking's geometry conforming
	blocking response was used in previous implementation accepting first hit, scoring mutliple points requires getting them all with overlap response
	#fortnite FORT-21546
	#rb Mieszko.Zielinski
	#codereview Zak.Middleton

Change 2898194 on 2016/03/07 by Chris.Gagnon

	Added the ability to filter DataTable Assets by their row using the metadata.
	meta = (RowType=MyRowName)

	#RB Saad.Nader
	#codereview Saad.Nader, Jamie.Dale

Change 2895102 on 2016/03/04 by Ben.Zeigler

	#JIRA FORT-20290
	Fix issue where if a server received a 408 on a verify auth call, it would get stuck in the "in progress" state, and would never try to verify auth again until the auth timed out
	Add additional logging to auth queries, to track this and other issues. The new log lines are permanent, but StartExtraLogging should be disabled before merging back to main
	#codereview josh.markiewicz

Change 2891302 on 2016/03/02 by Bob.Tellez

	#UE4 The spawned NavGraph actors in CreateNavigationDataInstance were getting immediately marked pending kill due to the existance of the FortNavGraph actors placed in the NavMeshBounds map. Marking an actor pending kill instead of calling destroy actor is dangerous since DestroyActor does many other things including removing the actor from the networked actors list. Failure to remove from this list caused FORT-21458. This change both removes the existing FortNavGraph actors from the registered list and better handles cleaning up NavigationData removed for this reason.

	#rb Ben.Zeigler
	#codereview Lukasz.Furman

Change 2887908 on 2016/03/01 by Chris.Gagnon

	Added Event Track to UMG Sequencer.
	Added PlayTo functionality for targeting the end point of a played animation.

	#RB Frank.Fella
	#codereview Frank.Fella, Nick.Darnell

Change 2887686 on 2016/03/01 by Joel.Crabbe

	Fixed issue with replication comparison object not necessarily being the correct, blueprint-defined, defaults-edited version. Changed GetClass()->GetDefaultObject to GetArchetype() for comparison value.

	#codereview Ben.Zeigler

Change 2886847 on 2016/02/29 by Bob.Tellez

	#UE4 Fixed a bug where pasting multiple lines of text into the property matrix would leave the \\r character in the string in windows platforms.

	#codereview Richard.TalbotWatkin

Change 2886414 on 2016/02/29 by Lukasz.Furman

	fixed start point of composite path's update
	#fortnite FORT-21380
	#rb Mieszko.Zielinski

Change 2886250 on 2016/02/29 by Bob.Tellez

	#UE4 Adding !IsInSlateThread to assert in SuspendLoading/ResumeLoading. I suspect this may be the cause of a race condition involving flushing async loading during startup.

	#codereview Robert.Manuszewski

Change 2885942 on 2016/02/29 by Bob.Tellez

	#UE4 Disabling per-instance mesh painting on instanced static mesh components.

	#rb Jack.Porter

[CL 2909292 by Bob Tellez in Main branch]
2016-03-14 21:21:09 -04:00
Bob Tellez
b51555abf7 Copying //UE4/Fortnite-Staging to //UE4/Main
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2806454 on 2015/12/16 by Bob.Tellez

	#UE4 Getting crash reporting working again on linux servers. Since -Unattended is now being passed BEFORE the target folder, the cmd line parsing code was failing so now it parses tokens and switches in a more general way. Also, diagnostics.txt had the incorrect case, since the d is supposed to be capitolized and the crash report processor is case sensitive.

	#rb Ben.Zeigler

	#codereview Dmitry.Rekman

Change 2805502 on 2015/12/16 by Ben.Zeigler

	#UE4 Move ValidateEnumProperties into ValidateGeneratedClass, it was happening too early in the generation process so was being called at an invalid time.
	As a result of this ValidateEnumProperties will not be called correctly for compile on load blueprints, that issue is covered in UE-24569
	#codereview mike.beach, bob.tellez

Change 2805288 on 2015/12/16 by David.Nikdel

	#HTTP #HttpRetry
	- Add new Failed_ConnectionError code to EHttpRequestStatus to distinguish between connection errors and protocol errors.
	- Changed HTTP retry logic a little bit
	  * If a response was received, retry on service-specific explicit HTTP codes (defaults to empty)
	  * If a response was not received and we did not send a full request, automatically retry
	  * If a response was not received and a request may have been sent, retry if the verb is GET or HEAD (should be idempotent)
	- Adjusted Curl/IOS/Mac/PS4/WinInet to try and distinguish Failed_ConnectionError where possible
	  * Other systems will default to Failed which is ok (ConnectionError is an opportunistic categorization)
	  * Opened a PS4 ticket to try to improve detection, but unfortunately there's no way (currently) to distinguish between send timeout, connection timeout, and receive timeout, the latter being the problematic case.
	- Removed the concept of global/default HTTP retry status codes. No system has enough knowledge to set those globally.
	  * Individual requests still specify explicit "retryable" codes and McpServiceBase sets that on each request on a per-service basis
	#RB: Sam.Zamani
	#CodeReview: Sam.Zamani, Josh.Markiewicz, Alex.Fennell, Dmitry.Rekman, Sam.Spiro
	#Fixes: FORT-17804

Change 2803864 on 2015/12/15 by Bob.Tellez

	#UE4 Changed usage of !UE_SERVER to !IsRunningDedicatedServer in cases where we are preventing load attempts on UFonts. This is so running an editor build with -server works the same as running a cooked server.

	#rb Dmitry.Rekman

	#codereview Nick.Darnell

Change 2803677 on 2015/12/15 by Billy.Bramer

	- Expose equality and inequality operators for gameplay attributes

	#rb Todd.Eckert

Change 2802881 on 2015/12/14 by Bob.Tellez

	#UE4 InheritableComponentHandler no longer keeps records for components that we are no longer inheriting.

	#rb Phillip.Kavan, Maciej.Mroz

	#codereview Phillip.Kavan, Maciej.Mroz

Change 2801636 on 2015/12/14 by Bob.Tellez

	#UE4 Returning package insert order for non-imports back to being after those of matching priorities unconditionally since this is what you want even when you are not using the asset registry to preload packages.

	#codereview Graeme.Thornton

Change 2800400 on 2015/12/11 by Jonathan.Lindquist

	Submitting a new Pivot Painter Edition
	- now renders to textures
	- improved workflow
	- greater capabilities

Change 2799579 on 2015/12/11 by John.Abercrombie

	[AUTOMERGE]

	Fixed EQS BP query wrappers getting GCed before wrapped query finishes #UE4

	Fixes FORT-18649 - Patrols don't spawn consistently
	- The patrol blueprint was waiting (endlessly) for an EQS query to finish but because the wrapper could be GC-ed while the EQS query was running the delegate would never fire

	#rb me (this code was written by MieszkoZ)
	(removed code review for integration of Mieszko.Zielinski, Phil.Cole, Dominic.Barile)

	--------
	Integrated using branch UE4-Fortnite-To-UE4-FortniteReleases/0.10 (reversed) of change#2799575 by John.Abercrombie on 2015/12/11 09:55:11.

Change 2799018 on 2015/12/10 by Bob.Tellez

	#UE4 The asset registry tags stripped from cooked builds is now a blacklist by default that includes only the FiB tag. You can opt-in to using the whitelist by flipping the bUseAssetRegistryTagsWhitelistInsteadOfBlacklist flag.

	#rb Fred.Kimberley

	#codereview Peter.Knepley

Change 2798926 on 2015/12/10 by Bob.Tellez

	#UE4 Removed some showflags from the list of "Fixed" showflags since they were actually in use at runtime in Fortnite in a scene capture.

	#jira FORT-18514

	#codereview Martin.Mittring

Change 2797758 on 2015/12/10 by Mark.Satterthwaite

	Defer calls to AUGraphUpdate into FCoreAudioDevice::UpdateHardware - this call will synchronise the calling thread with the CoreAudio thread/run-loop so that the CoreAudio graph is safe to modify and this may incur a significant stall. This means it is far more efficient to amortise the cost of all changes to the graph with a single call. To ensure correctness the audio format conversion components are cached and disposed of after the call to AUGraphUpdate so that any existing operations on the CoreAudio thread are completed prior to disposal.

Change 2781204 on 2015/11/25 by Dmitry.Rekman

	Linux: use jemalloc by default if available.

	- Alleviates one of the reasons for player disconnect (FORT-18048), which was machines running OOM.

	#rb Bob.Tellez
	#codereview Bob.Tellez, Ben.Zeigler

Change 2779398 on 2015/11/24 by Mark.Satterthwaite

	Switch the default graphics API on Mac back to OpenGL, but allow Metal to run with -metal (or -metalsm5 for experimental SM5 support).
2016-01-08 19:10:43 -05:00
Nick Penwarden
6d5e1da95f Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#lockdown ben.marsh

==========================
MAJOR FEATURES + CHANGES
==========================

Change 2774277 on 2015/11/19 by Gil.Gribb

	UE4 - Did minor optimizations to the PS4 RHI and drawlists.

Change 2791226 on 2015/12/04 by Uriel.Doyon

	Added source code for Embree 2.7.0
	Removed duplicate files from the /doc folder.

Change 2800193 on 2015/12/11 by Marcus.Wassmer

	SSAO AsyncCompute support.
	#rb Martin.Mittring

Change 2801631 on 2015/12/14 by Olaf.Piesche

	Making auto deactivate true by default, moving checks to HasCompleted, eliminating some unnecessary logic

	#rb martin.mittring

Change 2803240 on 2015/12/15 by Gil.Gribb

	UE4 - Added command to collect stats on spammy stats.

Change 2803476 on 2015/12/15 by Rolando.Caloca

	DR - Allow toggling compute skin dispatch at runtime
	- r.SkinCacheShaders Now enable the shaders and feature
	- r.SkinCaching enables toggling at runtime
	- r.SkinCache.BufferSize Sets the size in bytes of buffer for outputting
	- Now uses 3 UAV buffers instead of one (avoid RenderDoc crashes)
	#codereview Marcus.Wassmer, Martin.Mittring

Change 2803940 on 2015/12/15 by Marcus.Wassmer

	Add r.PS4.AsyncComputeBudgetMode to switch between CUMasking and WaveLimit modes.  So far it looks like WaveLimits behave better in UE4.

	Also rearrange AsyncSSAO to run immediately after HZB to overlap with occlusion queries.  In my testing this takes SSAO cost from .5ms -> .2ms.   However it had to be hacked to run without normals.  Hopefully Martin can get some real AsyncSSAO in.

	#rb Martin.Mittring
	#codereview Martin.Mittring

Change 2803999 on 2015/12/15 by Uriel.Doyon

	Refactored the shader complexity material override logic to allow other viewmodes shader overrides.
	TexelFactorAccuracy ViewMode : shows the accuracy of the static mesh texel factors, used for streaming.
	WantedMipsAccuracy ViewMode : shows the accuracy of the static mesh wanted mips accuracy, used for streaming.
	Added an option to stream textures based on the AABB distance instead of using the sphere approximation.
	Added an option to only keep a the wanted mips.
	Moved optimization related viewmodes into a submenu to avoid polluting the interface.
	#jira UE-24502
	#jira UE-24503
	#jira UERNDR-89

Change 2804150 on 2015/12/15 by Olaf.Piesche

	make separate translucency screen percentage a bit more robust; add numsamples to the render target creation functions in preparation for MSAA support for higher quality with low res separate translucency

	#rb martin.mittring

Change 2804367 on 2015/12/15 by Daniel.Wright

	Capsule shadow primitives are tracked separately on registration - saves 2.6ms of RT time doing the view frustum culling in a medium sized map

Change 2805293 on 2015/12/16 by Olaf.Piesche

	logging if potentially immortal emitters are spawned from gameplay; this should catch if we spawn burst only emitters with indefinite life spans (muzzle flashes, hit impacts, etc.)

	#rb martin.mittring

Change 2805586 on 2015/12/16 by Zabir.Hoque

	Adding support for decals to fade and destroy themselves automatically.

	#CodeReview: Martin.Mittring, Daniel.Wright, Olaf.Piesche

Change 2807663 on 2015/12/17 by Rolando.Caloca

	DR - Remove expensive logging
	#codereview Marcus.Wassmer

Change 2807903 on 2015/12/17 by Zabir.Hoque

	Refactored DecalComponent's lifetime management such that it can be set and reset from Blueprints.

	#CodeReview Daniel.Wright, Martin.Mittring, Olaf.Piesche

Change 2809261 on 2015/12/18 by Martin.Mittring

	Added VisualizeShadingModels to track down issues like that:
	  FORT-16913 Textures on Hero Mesh is not shown
	#rb:David.Hill
	#code_review:Bob.Tellez

Change 2810136 on 2015/12/21 by Rolando.Caloca

	DR - Added back draw event colors
	PR #1602
	#jira UE-21526
	#codereview Mark.Satterthwaite, Keith.Judge, Marcus.Wassmer, Josh.Adams

Change 2810680 on 2015/12/21 by Martin.Mittring

	moved SSAO ComputeShader running without per pixel normal (for AsyncCompute) into DevRendering
	#test:editor

Change 2811205 on 2015/12/22 by Brian.Karis

	Pulled clear coat out of the reflection compute shader. Added permutation for skylight.

	Clear coat base layer now done in base pass. It only picks up the closest capture. This will cause popping when the object moves. Still needs a cross fade.

Change 2811275 on 2015/12/22 by David.Hill

	UE-24675
	#rb martin.mittring

	Corrected buffer-size related problem with fringe.

Change 2811397 on 2015/12/22 by Brian.Karis
2016-01-08 11:12:28 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Gil Gribb
c7b6303e56 Copying //UE4/Dev-Rendering to Dev-Main (//UE4/Dev-Main)
#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
2015-12-10 21:55:37 -05:00
Nick Whiting
31e4175868 Copying Dev-VR to Dev-Main
#lockdown nick.penwarden

[CL 2791734 by Nick Whiting in Main branch]
2015-12-05 02:42:09 -05:00
Andrew Grant
d077828526 Copying //UE4/Orion-Staging to Dev-Main (Originating from //Orion/Main at CL-2777663)
#lockdown Nick.Penwarden

 Change 2777555 on 2015/11/23 by Antony.Carter

	Friend List Sub Menu restyling to new designs

	#RB Nicholas.Davies
	#TESTS Check 3 sub menus of friends list (Online Status, Friends List, Settings) still function correctly with new styling.

Change 2777506 on 2015/11/23 by Andrew.Rodham

	Sequencer: Copy/Paste command binding is no longer active if the seuqnece widget is not focused

	This addresses UE-23423

	#tests Tested copy/paste inside and outside of sequencer
	#codereview Max.Chen
	#rb Max.Chen

Change 2777505 on 2015/11/23 by Andrew.Rodham

	Sequencer: Undoing the addition of a spawnable now ensures its actor instance is deleted correctly

	This addresses UE-23450

	#tests tested the repro steps on the bug
	#codereview Max.Chen
	#rb Max.Chen

Change 2777489 on 2015/11/23 by Andrew.Rodham

	Sequencer: Workflow optimizations for spawnables

	 - Editing a property on an instance of a spawnable now automatically propagates to the spawnable defaults, provided the property is not keyed
	 - Fixed a few cases where spawnables were left lingering around while scrubbing or switching between sub-sequences
	 - Fixed the root sequence instance being evaluated when there was a sub-sequence focused.
	 - Selection states are now remembered for spawnable objects when they are destroyed/re-spawned

	#codereview Max.Chen
	#tests tested loks of object types as spawnables in PIE and in editor
	#rb Max.Chen

Change 2777321 on 2015/11/23 by Terence.Burns

	Updated the usage of World->UpdateStreamingLevels to FlushStreaming levels on the advice of Dmitriy. Need this to ensure that the streaming is completed before we send it off to lightmass.

	#rb Dmitriy.Dyomin
	#Tests Run the RebuildLightmaps UAT script.

Change 2777091 on 2015/11/22 by Andrew.Grant

	Changed "inappropriate outmost" warning on package load to an error. At the very least we want this for a day or two on Orion to surface errors quickly, but may be a good thing to make a standard error since it indicates something that's likely broken.

	#rb none
	#tests Golden path in game, cooked content
	#codereview Nick.Penwarden, Michael.Noland

Change 2777037 on 2015/11/22 by Laurent.Delayen

	Additional debug info to track down https://jira.ol.epicgames.net/browse/OR-9675

	#rb martin.wilson
	#codereview martin.wilson
	#tests Golden path (PIE) + compiled for PS4

Change 2777030 on 2015/11/22 by Sam.Zamani

	#online,externalui,ps4
	- added footer option for closing the embedded web browser

	#rb none
	#tests exec command to try on ps4

Change 2777019 on 2015/11/22 by Marcus.Wassmer

	Possible fix for OR-9851
	#rb none
	#test GoldenPath, PS4
	#codereview Nick.Darnell,Matt.Kuhlenschmidt

Change 2776932 on 2015/11/22 by Max.Chen

	Sequencer: Fix editor selection so that it's not modified in response to the sequencer outliner tree node changing selection if the user is not explicitly selecting in the tree.

	#RB none
	#tests Select an actor that Sequencer doesn't control and it shouldn't deselect.

Change 2776900 on 2015/11/21 by Marcus.Wassmer

	HighQuality particle lights.
	#rb Brian.Karis
	#test GoldenPath, HQ Particles w/wo ShadowCasting.
	#codereview Olaf.Piesche, Simon.Tovey, Tim.Elek

Change 2776868 on 2015/11/21 by Brian.Karis

	Reduced temporal aa responsiveness back where it was.

Change 2776867 on 2015/11/21 by Brian.Karis

	Removed shading terminator bias meant for shadow map acne but it made character faces look worse.

Change 2776840 on 2015/11/21 by Brian.Karis

	Hair indirect lighting implemented.

	Improvements to hair shading model. No longer uses backlit parameter.

	#rb marcus.wassmer
	#tests editor

Change 2776748 on 2015/11/21 by Max.Preussner

	Sequencer: Continued to implement track label editor

	Note: still disabled, because there are a couple remaining issues

	#codereview: max.chen
	#rb: max.chen
	#test: Editor, Runtime

Change 2776493 on 2015/11/20 by Max.Preussner

	Sequencer: Wrapped the node tree context menu actions for editing in an 'Edit' section

	#codereview: max.chen
	#rb: max.chen
2015-11-24 16:45:24 -05:00
Andrew Grant
9d58a141e9 Copying //UE4/Orion-Staging to Dev-Main (Originates from //Orion/Main @ CL-2759376)
#lockdown Nick.Penwarden

[CL 2759916 by Andrew Grant in Main branch]
2015-11-09 19:35:15 -05:00
Marcus Wassmer
fb1d7d8b61 Transition ensure fixes
#codereview Daniel.Wright

[CL 2729107 by Marcus Wassmer in Main branch]
2015-10-14 18:20:51 -04:00
Daniel Wright
b7debff48d Integrate - The static shadow depth map used to shadow translucency from Stationary lights is now saved properly during a blueprint construction script
[CL 2714995 by Daniel Wright in Main branch]
2015-10-02 15:43:59 -04:00
Marcus Wassmer
14432ef62c Fix fortnite transition validation ensures
#codereview Ben.Zeigler

[CL 2708775 by Marcus Wassmer in Main branch]
2015-09-28 20:17:24 -04:00
Marcus Wassmer
445543fd51 First pass at new RHITransitionResources API.
Rendertarget transitions are completed and validated on DX11 and PS4 RHI's.

[CL 2700116 by Marcus Wassmer in Main branch]
2015-09-21 20:07:00 -04:00
Martin Mittring
63f4217299 integrated from Orion
CL 2676126

	added more useful GPU profile into to many passes

[CL 2676152 by Martin Mittring in Main branch]
2015-09-01 16:52:40 -04:00
Mark Satterthwaite
e824b4c3c0 Merging changes necessary to support layered rendering on platforms where layer specification is done in vertex shader as geometry shaders don't exist.
reviewedby michael.trepka, rolando.caloca, marcus.wassmer, lee.clark

[CL 2672079 by Mark Satterthwaite in Main branch]
2015-08-28 05:31:26 -04:00
Simon Tovey
6163834f0e Fix for Translucent Lighting Crash - UE-18950
GBufferResources were being used in TranslucentShadowDepthPS but not being set. They shouldn't be set as GBuffers aren't valid for this draw.
A similar issue occured a while ago in which the SceneTextureParameters were being used here and caused artefacts in the translucent shadows based on the SceneColor.
I avoided this by setting them to a dummy black texture. This approach won't work for the GBufferResources so I've removed that fix and gone about things differently.
The shader sets a define to have SceneTextureLookup() just return black.
This means the SceneTextures, nor the GBufferResources need be set at all for this draw.

[CL 2651076 by Simon Tovey in Main branch]
2015-08-11 09:35:12 -04:00
Marcus Wassmer
11ff098ea0 Bind clear color to rendertargets at creation time.
#codereview Rolando.caloca

[CL 2615534 by Marcus Wassmer in Main branch]
2015-07-09 15:11:37 -04:00
Marcus Wassmer
8a49574735 Vertex and Index buffer write locks on PS4 no longer require memcopies.
RHi now provides CreateAndLock functions for Vertex and Index buffers which are more efficient on certain platforms.
Use r.PS4StandardWriteLocks=1 to enable the old default functionality for testing if necessary.
#codereview Gil.Grib,Lee.Clark

[CL 2606146 by Marcus Wassmer in Main branch]
2015-06-30 14:18:55 -04:00
Gil Gribb
356a7d8f96 UE4 - Large upgrade to parallel rendering. No longer block per pass. Several RHI cmdlist passthrough functions added and implemented on the consoles
[CL 2570510 by Gil Gribb in Main branch]
2015-05-29 10:47:57 -04:00
Daniel Wright
63f23a830f Fixed translucent self shadowing
#codereview Marcus.Wassmer

[CL 2561171 by Daniel Wright in Main branch]
2015-05-21 14:39:12 -04:00