Commit Graph

50 Commits

Author SHA1 Message Date
Wei Liu
f85fb2c6f3 Fix a cook failure on android.
#jira none

#rb Dmitriy.Dyomin
#preflight 627bbd7f9f7ad2a14b63ff00

[CL 20139131 by Wei Liu in ue5-main branch]
2022-05-11 10:08:44 -04:00
Wei Liu
355707489e Refactor of mobile custom depth/stencil to line up with pc on all mobile platform.
#jira none

#rb Dmitriy.Dyomin
#fyi Serge.Bernier
#preflight 627b87a65d003338d95018bf

[CL 20135905 by Wei Liu in ue5-main branch]
2022-05-11 06:10:52 -04:00
Sebastien Hillaire
cbe8136535 Added support for strata post process blend mode.
#rb none
#preflight none
#fyi charles.derousiers

[CL 19243774 by Sebastien Hillaire in ue5-main branch]
2022-03-03 10:05:56 -05:00
Sebastien Hillaire
fd3899ba19 Conversion of post process and light function to dedicated nodes with auto set domain.
#rb none
#fyi charles.derousiers
#preflight 6220a0e47e0217a606e837f1
https://horde.devtools.epicgames.com/job/6220a0e47e0217a606e837f1

[CL 19242057 by Sebastien Hillaire in ue5-main branch]
2022-03-03 07:05:58 -05:00
Charles deRousiers
a02d41c4ee Renamed PROJECT_STRATA into STRATA_ENABLED.
This avoids to define STRATA_ENABLED as 'env. define' for all global shaders needing a Strata specific path.

#rb none
#jira none
#fyi sebastien.hillaire
#preflight 62151b25797dbbeb472ae2eb

[CL 19074999 by Charles deRousiers in ue5-main branch]
2022-02-22 12:35:58 -05:00
Sebastien Hillaire
b8821a1964 Big Strata core update!
- Completely changed the way we evaluate and represent the material topology.
- A topology is now represented as a tree to allow any horizontal/vertical operations (almost like a kdtree).
- This allows for correct translucent material coverage/transmittance evaluation, as well as correct BSDFs luminance weight (finally).
- All the operations to be able to do that are expended in HLSLTranslator instead of letting the compiler handle it (otherwise was too slow, leading to bugs and could not even debug shaders). This means no conditional BSDF packing.
- There is no more Material/layer/BSDFs array: only a Tree or operators, some of them being BSDF at leaves.
- Parameter blending has also been updated: when enabled on a node, it will be forced on all the oprator child / in the sub tree.
- Parameter blending is applied on an inlinedbsdf on the StrataData. When it is the root of the parameter blending subtree, it is promoted to a fully fledged BSDF operator node to allow other regular operators.
- The inlinedbsdf is not longer in premultiplied mode. Horizontal/Vertical/Add parameter blending operators have been updated to reflect that. This allows for simpler/unified/clearer code.
- Vertical blending now uses the new simple "layering of two slabs with uncorelated coverage" math I have RnD'd. See GetVerticalLayeringInfo in ShadingCommon.ush.

Follow up to this CL:
- CompileStrataBlendFunction should use parameter blending.
- Add more compilation debug output
- Update material vizualisation
- Fix Rough refraction
- Fix decals
- Fix debug probes
- Pack FStrataBSDF
- Move all StrataCompilationInfoCreateSingleBSDFMaterial into into the strata tree and rework cost evaluation and material LOD
- Expand graph visit such as UpdateBSDFWeightAfterOperatorVisit to be specific to operators for the compiler to have to do less search to inline what we know already
- Fix STRATA_TODO: operation using parameter blending are not actually discarded so they still occupy a pot in the opeartion arrays in the compiler and in the shader also.

#rb charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/620a5f5d803d9066e67de938
#fyi charles.derousiers

[CL 18993400 by Sebastien Hillaire in ue5-main branch]
2022-02-15 03:09:30 -05:00
serge bernier
9bd5dd217f Make the fetching of the Stencil/depth in the PostProcessMaterial datadriven instead of just testing the feature level. This enable some consoles using the mobile renderer to still have the possibility to use the HiStencil and fetch directly the stencil buffer in the shader.
#jira UE-139942#rb
#rb florin.pascu

#preflight Main

#ROBOMERGE-OWNER: serge.bernier
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 18795109 via CL 18795681 via CL 18795876 via CL 18801655 via CL 18802214
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
#ROBOMERGE-CONFLICT from-shelf

[CL 18808079 by serge bernier in ue5-main branch]
2022-02-01 09:47:39 -05:00
Charles deRousiers
aaab5fe5ad Add Strata support for fetching post-process input.
#rb none
#jira none
#fyi sebastien.hillaire
#preflight 61e06dba341d372424dece93

[CL 18600182 by Charles deRousiers in ue5-main branch]
2022-01-13 13:39:51 -05:00
Charles deRousiers
a7930a32d8 Add initial strata conversion for postprocess domain material.
#rb none
#jira none
#preflight 61dfff561e7c2075bb1e65f0
#fyi sebastien.hillaire

[CL 18595009 by Charles deRousiers in ue5-main branch]
2022-01-13 05:42:09 -05:00
Guillaume Abadie
43ccc8111b Nukes USE_PREEXPOSURE
#rb uriel.doyon, jack.porter

[CL 16070774 by Guillaume Abadie in ue5-main branch]
2021-04-21 04:53:11 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
dmitriy dyomin
1ccaaf3d2d Fixed: Correctly handle cases in mobile PP materials where viewport does not match buffer size
#ROBOMERGE-SOURCE: CL 13045917 via CL 13045918 via CL 13045919 via CL 13045920 via CL 13045921
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13048432 by dmitriy dyomin in Main branch]
2020-04-27 13:01:17 -04:00
rolando caloca
359c172b1c UE4.25 - Fixed a bunch of shader warnings
#jira
#rb Lukas.Hermanns
#rnx

#ROBOMERGE-SOURCE: CL 12335847 in //UE4/Release-4.25/... via CL 12335862
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v671-12333473)

[CL 12335865 by rolando caloca in Main branch]
2020-03-20 10:46:03 -04:00
wei liu
b0ea1b1f80 Fix a bug of EyeAdaptation on mobile platform.
#jira none

#rb mi.wang

#ROBOMERGE-SOURCE: CL 12055273 in //UE4/Release-4.25/... via CL 12055274
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)

[CL 12076180 by wei liu in Main branch]
2020-03-09 13:20:56 -04:00
wei liu
3d8db0ac3e Support LightShaft work with MSAA on IOS.
Make all postprocess passes including postprocess materials work properly with MSAA on IOS.

#jira UE-88184

#rb dmitriy.dyomin, allan.bentham, mi.wang, jack.porter

#ROBOMERGE-SOURCE: CL 11646197 in //UE4/Release-4.25/... via CL 11646198
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11646201 by wei liu in Main branch]
2020-02-26 21:42:01 -05:00
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
jack porter
4467856d61 Fix a bug in mobile custom depth stencil when using half resolution.
#rb Wei.Liu


#ROBOMERGE-SOURCE: CL 11329662 via CL 11329667
#ROBOMERGE-BOT: (v653-11302973)

[CL 11329674 by jack porter in Main branch]
2020-02-11 06:22:25 -05:00
jack porter
c2a7ad34a1 Change mobile custom stencil format from B8G8R8A8 to G8, save depth to R16F color target and use memoryless for depth target to reduce memory cost on mobile platform.
Add a Cvar for using half-res custom depth.
Add a seperate permuation for mobile custom depth stencil pixel shader, so mobile depth prepass could not be affected.
Support PostprocessMaterial stencil test on mobile platform base on the new mobile custom depth implementation
#rb wei.liu, dmitriy.dyomin, mi.wang


#ROBOMERGE-OWNER: jack.porter
#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 11302451 via CL 11302452
#ROBOMERGE-BOT: (v649-11301724)

[CL 11302544 by jack porter in Main branch]
2020-02-09 23:33:32 -05:00
Juan Canada
f396f56a0b Merging //UE4/Dev-Main@11042002 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 11075443 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-21 14:54:20 -05:00
allan bentham
a6dba0cda4 Fix MSAA interaction with before tonemapper post-process materials on iOS
[FYI] Dmitriy.Dyomin
#rnx


#ROBOMERGE-SOURCE: CL 10925142 via CL 10925143 via CL 10925145
#ROBOMERGE-BOT: (v626-10872990)

[CL 10925146 by allan bentham in Main branch]
2020-01-09 05:13:02 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05:00
Marc Audy
360d078ca3 Second batch of remaining Engine copyright updates.
#rnx
#rb none

[CL 10871248 by Marc Audy in Main branch]
2019-12-27 09:26:59 -05:00
zach bethel
f1278df557 Fixed bad merge to staging with post process material pre-exposure.
#rb none

[CL 9420054 by zach bethel in Dev-RenderPlat-Staging branch]
2019-10-04 12:18:43 -04:00