Commit Graph

114 Commits

Author SHA1 Message Date
jason hoerner
af48ea5a98 UE5_MAIN: Multi-view-family scene renderer refactor, part 2. Move FSceneTextures singleton out of RDG blackboard and FSceneTexturesConfig global variable singleton, into FViewFamilyInfo. This is necessary to allow multiple view families to render in a single render graph and a single scene renderer call.
* Existing calls to CreateSceneTextureShaderParameters and similar functions use "GetSceneTexturesChecked", which allows for the possibility that they are reached in a code path where scene textures haven't been initialized, and nullptr is returned instead of asserting.  The shader parameter setup functions then fill in dummy defaults for that case.  The goal was to precisely match the original behavior, which queried the RDG blackboard, and gracefully handled null if scene textures weren't there.  This definitely appears to occur in FNiagaraGpuComputeDispatch::ProcessPendingTicksFlush, which can be called with a dummy scene with no scene textures.  In the future, I may change this so dummy defaults are filled in for FSceneTextures at construction time, so the structure is never in an uninitialized state, but I would like to set up a test case for the Niagara code path before doing that, and the checks aren't harmful in the meantime.
* I marked as deprecated global functions which query values from FSceneTexturesConfig, but they'll still work with the caveat that if you use multi-view-family rendering, the results will be indeterminate (whatever view family rendered last).  There was only one case outside the scene renderer that accessed the globals (depth clear value), which I removed, noting that there is nowhere in the code where we modify the depth clear value from its global default.  I would like to permanently deprecate or remove these at some point.  Display Cluster is the only code that's currently using the multi-view-family code path, and as a new (still incomplete) feature, third party code can't be using it, and won't be affected.

#jira NONE
#rb chris.kulla zach.bethel mihnea.balta
#preflight 6261aca76119a1a496bd2644

[CL 19873983 by jason hoerner in ue5-main branch]
2022-04-22 17:33:02 -04:00
Wei Liu
04d7580d62 Clustered local lights and reflections are supported on mobile forward and deferred.
Local light shadows are supported on mobile forward and deferred, need to enable full depth prepass to generate the ShadowMaskTexture.

Remove the 4 maximum local lights limitation on mobile forward.

Remove the "High Quality Reflection" on mobile forward.

Disable simple lights on mobile forward.

#jira UE-149064

#rb Dmitriy.Dyomin

#preflight 625d17da772cf82d3a6059a6

[CL 19784597 by Wei Liu in ue5-main branch]
2022-04-18 09:09:40 -04:00
zach bethel
a00b40ad3b Deprecated GetRenderTargetItem() from IPooledRenderTarget.
#preflight 624ddb30090236773a1a83e0
#rb luke.thatcher

#ROBOMERGE-AUTHOR: zach.bethel
#ROBOMERGE-SOURCE: CL 19655641 via CL 19655653 via CL 19655661
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19657582 by zach bethel in ue5-main branch]
2022-04-06 18:24:24 -04:00
dmitriy dyomin
05975e280b Fixed: RDG validation assert related to mobile deferred shading pass parameters setup
#rb wei.liu
#jira UE-140957
#lockdown rolando.caloca
#preflight 61f9fcc01d7ca8ed2d67211a

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 18824241 in //UE5/Release-5.0/... via CL 18825897 via CL 18826313
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18826353 by dmitriy dyomin in ue5-main branch]
2022-02-02 09:54:34 -05:00
fred kimberley
7fbfaf57c8 Require explicit constructors/casts when converting between FVector, FVector3d, and FVector3f.
#jira UE-122078
#rb Andrew.Davidson, Colin.McGinley
#preflight standard build

#ROBOMERGE-AUTHOR: fred.kimberley
#ROBOMERGE-SOURCE: CL 18817999 in //UE5/Release-5.0/... via CL 18818012 via CL 18822871
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824721 by fred kimberley in ue5-main branch]
2022-02-02 07:59:31 -05:00
andrew davidson
3542cab338 FMatrix explicit cast fixes - Renderer
#rb ben.ingram, zak.middleton
#preflight 61f285e71e5d78c38307cda4

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18752245 in //UE5/Release-5.0/... via CL 18752267 via CL 18752335
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18752338 by andrew davidson in ue5-main branch]
2022-01-27 07:20:20 -05:00
florin pascu
4d9dfc23c2 Remove IsMobileDistanceFieldShadowingEnabled
#jira UE-131828
#rb Dmitriy.Dyomin
#preflight 61deba60b97cb66880a7dd5d

#ROBOMERGE-AUTHOR: florin.pascu
#ROBOMERGE-SOURCE: CL 18582840 in //UE5/Release-5.0/... via CL 18582843 via CL 18582847
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18582850 by florin pascu in ue5-main branch]
2022-01-12 06:47:06 -05:00
Wei Liu
a714c928b8 Fix a bug of casting CSM on mobile split screen.
#jira UE-136016

#rb Dmitriy.Dyomin
#preflight 61d3ccf8322ebb01f7ea2505

[CL 18506000 by Wei Liu in ue5-main branch]
2022-01-04 01:02:10 -05:00
charles derousiers
078f5165f1 Move SS profiles and SS pre-intregrated profiles textures onto the view in order to make them accessible to all passes without extra manual binding.
#rb sebastien.hillaire, tiantian.xie, wei.liu
#jira none
#preflight 61a61f01f70a9e92dbe9e700

#ROBOMERGE-AUTHOR: charles.derousiers
#ROBOMERGE-SOURCE: CL 18323676 in //UE5/Release-5.0/... via CL 18323690
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18323696 by charles derousiers in ue5-release-engine-test branch]
2021-11-30 08:27:29 -05:00
arciel rekman
f302f8f030 Fix CVars not being picked up from other sections (UE-135567).
- Some projects put rendering CVars in other sections than RendererSettings.

#jira UE-135567
[at]Josh.Adams, [at]Dmitriy.Dyomin
#rb Josh.Adams, Dmitriy.Dyomin

#ROBOMERGE-AUTHOR: arciel.rekman
#ROBOMERGE-SOURCE: CL 18270117 in //UE5/Release-5.0/... via CL 18270123
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18270137 by arciel rekman in ue5-release-engine-test branch]
2021-11-23 10:17:56 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
wei liu
a36d432240 Force mobile dynamic pointlight to use static branch.
#jira UE-131469

#rb Dmitriy.Dyomin

#p4v-preflight-copy 17870962

#ROBOMERGE-AUTHOR: wei.liu
#ROBOMERGE-SOURCE: CL 17883009 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17883020 by wei liu in ue5-release-engine-test branch]
2021-10-21 05:35:48 -04:00
dmitriy dyomin
9f2c3e000e Allow vertex fogging on mobile by default
#rb none

#ROBOMERGE-AUTHOR: dmitriy.dyomin
#ROBOMERGE-SOURCE: CL 17796224 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17796230 by dmitriy dyomin in ue5-release-engine-test branch]
2021-10-13 02:10:48 -04:00
andrew davidson
57beb335f2 Merging //UE5/Dev-LargeWorldCoordinates [at] 17581892 to //UE5/Main
#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 17595295 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17595306 by andrew davidson in ue5-release-engine-test branch]
2021-09-22 10:01:48 -04:00
wei liu
a3368b88c0 Revert the changes from CL#17258939, since it causes regression on mobile.
#jira none

#rb Dmitriy.Dyomin

#ROBOMERGE-SOURCE: CL 17287938 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17287958 by wei liu in ue5-release-engine-test branch]
2021-08-24 11:43:51 -04:00
wei liu
fc8562209f Update mobile movable point light uniformbuffer if LightFadeFactor changed.
#jira UE-119021

#rb Dmitriy.Dyomin
#p4v-preflight-copy 17113013

#ROBOMERGE-SOURCE: CL 17258939 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17258948 by wei liu in ue5-release-engine-test branch]
2021-08-21 09:35:06 -04:00
wei liu
cd964e2e15 Fix a bug of getting FSceneTextures without initialization.
#jira none

#rb Dmitriy.Dyomin
#p4v-preflight-copy 17246618

#ROBOMERGE-SOURCE: CL 17248985 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17249023 by wei liu in ue5-release-engine-test branch]
2021-08-20 12:31:17 -04:00
wei liu
92eea57330 Fix bug that SSAO doesn't work on mobile.
#jira UE-118835

#rb Dmitriy.Dyomin, Florin.Pascu
#preflight 611e2058cc11eb0001d60ac5

#ROBOMERGE-SOURCE: CL 17230122 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17230126 by wei liu in ue5-release-engine-test branch]
2021-08-19 06:08:09 -04:00
florin pascu
4eb62c93ed Remove MOBILE_PROPAGATE_ALPHA shader define
Temporary remove premultiply alpha
FXAA luminance calculation moved from tonemapper to FXAA when MobilePropagateAlpha enabled
#rb Dmitriy.Dyomin
#jira none
#preflight 610c117c6b1f8c0001720cfb

#ROBOMERGE-SOURCE: CL 17074095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17074105 by florin pascu in ue5-release-engine-test branch]
2021-08-05 15:22:21 -04:00
wei liu
d329966293 Fix a bug of mobile Pixel Projection Reflection.
#jira none

#rb Mi.Wang
#preflight 61027bc42b0028000163baa3

#ROBOMERGE-SOURCE: CL 16994304 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16994305 by wei liu in ue5-release-engine-test branch]
2021-07-29 07:35:47 -04:00
wei liu
21eba7aeb1 1. Porting the shading model "Subsurface" and "PreIntegrated Skin" to mobile.
2. Support "Subsurface Profile" shading mobile by preintegral burley diffusion on ring, just like the PreIntegrated Skin, but could be generated at runtime based on the Burley inputs.

#jira UE-101323

#rb Dmitriy.Dyomin, Tiantian.Xie
#p4v-preflight-copy 16327658
#preflight 61013bb05938f900010c8402

#ROBOMERGE-SOURCE: CL 16982577 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16982582 by wei liu in ue5-release-engine-test branch]
2021-07-28 11:09:42 -04:00
wei liu
e88d4df7d0 1. Unify the lighting calculation for both mobile deferred and forward.
2. Add an option to use high quality BRDF on mobile as the same with PC.
3. Fallback to default light shading model if it is not supported on mobile.
4. Use EnvBrdf for mobile deferred lighting pass.

#jira none

#rb Dmitriy.Dyomin
#preflight 60cdef32be81e8000118d85c

#ROBOMERGE-SOURCE: CL 16722349 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16722356 by wei liu in ue5-release-engine-test branch]
2021-06-19 10:07:01 -04:00
florin pascu
5c1e32c73c RG11B10 + SceneDepthAux 16/32F + Alpha Propagate
For Forward ES31
 Default SceneColor RG11B10 + R16F\32F Depth texture
 With PropagateAlpha on RGBA16F + R16F\32F
 PostProcess we sample SceneDepthAux for Depth
For Deferred ES31
 SceneDepthAux only for Metal
 PropagateAlpha not working yet
 PostProcess we sample SceneDepthTexture for Depth

cvar to change Depth texture from 16 to 32Fr.Mobile.SceneDepthAux
cvar for AlphaPropagate r.Mobile.PropagateAlpha
#jira UE-98033
#rb Dmitriy.Dyomin, Carl.Lloyd, Jack.Porter

#ROBOMERGE-SOURCE: CL 16644095 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16644108 by florin pascu in ue5-release-engine-test branch]
2021-06-11 13:47:20 -04:00
dmitriy dyomin
9d5dfa518c Fixed mobile specific issues when project has GPUScene enabled
#ROBOMERGE-SOURCE: CL 16638001 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16638004 by dmitriy dyomin in ue5-release-engine-test branch]
2021-06-11 03:34:19 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -04:00