Commit Graph

2720 Commits

Author SHA1 Message Date
juan canada
6e6085f811 Fixed potential flickering in ray tracing translucency due precision issues
#rb none
#jira UE-92276
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 12982285 in //UE4/Release-4.25/... via CL 12982295 via CL 12982323
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12982345 by juan canada in Main branch]
2020-04-22 15:19:47 -04:00
patrick kelly
af59c2e03c Adapt path tracing clear coat model to the new real-time changes.
#rb none
#jira ue-92238

#ROBOMERGE-SOURCE: CL 12972976 in //UE4/Release-4.25/... via CL 12972980 via CL 12972981
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12972982 by patrick kelly in Main branch]
2020-04-22 01:16:16 -04:00
patrick kelly
c8250fcd70 Prevent substrate transmission for non metallic, clear coat materials.
Reformulate CalcThinTransmission to align with path tracing material model.

#rb none
#jira ue-92238
#public okforgithub

#ROBOMERGE-SOURCE: CL 12972954 in //UE4/Release-4.25/... via CL 12972961 via CL 12972966
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12972968 by patrick kelly in Main branch]
2020-04-22 01:13:49 -04:00
patrick kelly
c8501f7427 Fixing issues with clear coat:
1) The normalization term for reflected transmitted color was being applied incorrectly
2) Addressed corner-case where Metallic = 0 was not properly applying transmission
3) Applied lerp(Default, ClearCoat, scalar) to handle mixed materials

#rb juan.canada, brian.karis
#jira ue-92238

#ROBOMERGE-SOURCE: CL 12962009 in //UE4/Release-4.25/... via CL 12962025 via CL 12962031
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12962066 by patrick kelly in Main branch]
2020-04-21 16:48:55 -04:00
Ben Ingram
66944fbb51 Fix merge of shader changes from Release-4.25 combined with optimizations from FN
#rb none

[CL 12960787 by Ben Ingram in Main branch]
2020-04-21 15:57:02 -04:00
ben ingram
68fbb75271 #jira UE-92139
Fix issues causing material DDC values to be non-determinisic
- Shader code within resources sorted by hash
- Debug source code values sorted by type
Also add mechanism to serialize any MemoryLayout described type to string
- Makes it easier to inspect material data to find sources of non-determinism
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12944988 in //UE4/Release-4.25/... via CL 12944998 via CL 12957822
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12957827 by ben ingram in Main branch]
2020-04-21 13:46:17 -04:00
kenzo terelst
6a75081c1f Integrate PSO creation crash fix from Dev-Rendering for Lightmap density view (wrong VS-PS interpolators) - From UDN
#rb Rolando.Caloca
#jira none
#lockdown Marcus.Wassmer

#ROBOMERGE-SOURCE: CL 12926505 in //UE4/Release-4.25/... via CL 12926513 via CL 12926522
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12926526 by kenzo terelst in Main branch]
2020-04-20 12:49:58 -04:00
michael forot
c36af33a01 Fix bad index
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 12900676 in //UE4/Release-4.25/... via CL 12900689 via CL 12900691
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12907256 by michael forot in Main branch]
2020-04-18 15:58:36 -04:00
michael forot
996fd90144 Fix hair interpolation for 4.25
#rb none
#jira none
[FYI] charles.derousiers

#ROBOMERGE-SOURCE: CL 12877701 in //UE4/Release-4.25/... via CL 12877703 via CL 12877706
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12877707 by michael forot in Main branch]
2020-04-17 03:55:56 -04:00
uriel doyon
46f0d86dcf Converted the LODColoration viewmode to use the debug view mode framework.
This fixes tessellation, vertex displacement and to some extent translucency rendering.
#rb rolando.caloca
#jira UE-85311
#lockdown marcus.wassmer

#ROBOMERGE-SOURCE: CL 12874781 in //UE4/Release-4.25/... via CL 12874784 via CL 12874786
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12874788 by uriel doyon in Main branch]
2020-04-16 18:30:27 -04:00
eric mcdaniel
2e6d8153cf Roll and merge loops in volumetric fog compute shader
- unrolled loop for N=16 can exceed maximum branch length on unoptimized shaders for some DXC variants
  - roll the loop to address this and remerge with the following loop as there is no longer a reason for the split

#rb Krzysztof.Narkowicz
#jira none

#ROBOMERGE-SOURCE: CL 12869760 in //UE4/Release-4.25Plus/... via CL 12869765
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12869773 by eric mcdaniel in Main branch]
2020-04-16 14:21:24 -04:00
wei liu
a3101f7ea2 Fix a bug that the IndirectIrradiance is 0 if there is only a dynamic skylight in the scene and the metal material will be black.
#jira UE-91975

#rb Dmitriy.Dyomin, Jack.Porter, Mi.Wang

[FYI] Wenlei.Li

#ROBOMERGE-SOURCE: CL 12840292 in //UE4/Release-4.25/... via CL 12840295 via CL 12840297
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12840299 by wei liu in Main branch]
2020-04-16 00:55:36 -04:00
juan canada
bfceab0663 Few changes to make ray tracing debug visualization modes consistent with GBuffer visualizations
- Only allow tone mapping on radiance, indirect irradiance and primary rays debug ray tracing view modes
- Apply pow 2.2 on roughness (same as done by BufferVisualization/Roughness engine material graph)

#rb Juan.Canada
#jira
#lockdown cristina.riveron

#ushell-cherrypick of 12796945 by Yuriy.ODonnell

#ROBOMERGE-SOURCE: CL 12797788 in //UE4/Release-4.25/... via CL 12797808 via CL 12797923
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12797989 by juan canada in Main branch]
2020-04-15 10:00:07 -04:00
krzysztof narkowicz
a4dd45fe8e Fixed crash when HighFrequencyNoiseTexture is missing by removing its binding as it is not used in the tonemap shader anymore.
[FYI] Zach.Bethel

#ROBOMERGE-SOURCE: CL 12789190 via CL 12789193 via CL 12789194 via CL 12789195
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12789196 by krzysztof narkowicz in Main branch]
2020-04-15 00:09:29 -04:00
charles derousiers
d9fb9099a8 Fix missing sky raytracing occlusion from hair geometry using hair voxel representation.
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 12783290 in //UE4/Release-4.25/... via CL 12783292 via CL 12784381
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12786669 by charles derousiers in Main branch]
2020-04-14 16:57:07 -04:00
juan canada
f47b4637e6 Enabling ray tracing global illumination on two-sided foliage.
#rb patrick.kelly, juan.canada
#jira none
#lockdown cristina.riveron


#ushell-cherrypick of 12714979 by Patrick.Kelly

#ROBOMERGE-SOURCE: CL 12781204 in //UE4/Release-4.25/... via CL 12781216 via CL 12784374
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12786653 by juan canada in Main branch]
2020-04-14 16:56:57 -04:00
ben ingram
a2ab3c89e0 #jira FORT-275014
FHashedName converts strings to upper-case before hashing, otherwise hash depends on what particular case of a given string is first seen
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12738969 in //UE4/Release-4.25/... via CL 12738971 via CL 12782999
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12786234 by ben ingram in Main branch]
2020-04-14 16:50:58 -04:00
eric mcdaniel
963e65a37d DXC shader validation error/warning fixes
- Random.ush
  - VoronoiNoise3D_ALU()
    - DXC was unable to determine the interation range for the first set of loops and hence could not unroll them
     - explicit loop iteration counts have been added to the unroll to resolve
    - while in here I noticed the unroll counts on the other loops are incorrect so I've updated them accordingly

- MeshParticleVertexFactory.ush & NiagaraMeshVertexFactory.ush
  - the texture coordiate pack/pack pattern utilized here confuses DXC
    - in particluar, it appears to struggle with the conditional in the loop to handle the tail interation on the odd texture coordiate count case
      - it reports this as a potential out of bounds memory access
      - unsure if the DXC generated code does so or just warns
      - regardless, refactored this pattern where found to move the final texture coordinate in the odd count case out of the loop and drive it off a preprocessor check

#rb David.Harvey, Brian.White, Juan.Canado
#jira none
#rnx
#ushell-cherrypick of 12545038 by eric.mcdaniel

#ROBOMERGE-SOURCE: CL 12726838 in //UE4/Release-4.25Plus/... via CL 12781755
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782562 by eric mcdaniel in Main branch]
2020-04-14 13:41:13 -04:00
eric mcdaniel
03c664d218 DXC compilation fixes
- remove default values for some global shader uniforms
  - DXC does not support this and I've verified we are setting these uniforms prior to use

#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12465645 by eric.mcdaniel

#ROBOMERGE-SOURCE: CL 12726829 in //UE4/Release-4.25Plus/... via CL 12781746
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782559 by eric mcdaniel in Main branch]
2020-04-14 13:41:07 -04:00
eric mcdaniel
e167288eb5 Addressing a number of DXC shader validation errors and warnings
#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12330720 by eric.mcdaniel

#ROBOMERGE-SOURCE: CL 12726817 in //UE4/Release-4.25Plus/... via CL 12781740
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782554 by eric mcdaniel in Main branch]
2020-04-14 13:40:58 -04:00
eric mcdaniel
2a6bf41b5c DXC shader compilation validation error fixes
- FilterVertexShader.usf, FilterPixelShader.usf
  - DXC is unable to determine conditional and associated indexing are compile time constant so refactor to give it some help
  - unroll a small loop in the VS, otherwise DXC is unhappy with the indexing

- SingleLayerWaterRendering.cpp
  - ForwardLightData uniform parameters were used but unbound in FSingleLayerWaterCompositePS
    - added the parameter macro and bound the associated global uniform buffer from the view

- LightRendering.cpp
  - CapsuleLightIntegrate.ush declares a texture2d called DummyRectLightTextureForCapsuleCompilerWarning
    - its used to initalize the texture member in an FAreaLight struct but that texture is unused in this scenario
    - I assume this was added to work around a warning that the FAreaLight was not fully initialized
      - unfortunately, unoptimized DXC does not strip this parameter and UE throws an error that we didn't bind anything to it


#rb David.Harvey
#jira none
#rnx
#ushell-cherrypick of 12081162 by eric.mcdaniel

#ROBOMERGE-SOURCE: CL 12726814 in //UE4/Release-4.25Plus/... via CL 12781738
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12782552 by eric mcdaniel in Main branch]
2020-04-14 13:40:52 -04:00
ben ingram
cdf6d3b52b #jira none
Add freezable hash table, use to accelerate lookup of shaders within ShaderMap
- Shaders are searched by TypeName and PermutationId, so move those fields out of FShader and into separate arrays inside ShaderMap, to reduce cache misses while finding shaders
#rb none

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12765795 via CL 12766018 via CL 12766118
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v678-12743200)

[CL 12766138 by ben ingram in Main branch]
2020-04-13 17:04:25 -04:00
ben ingram
024b50cd13 #jira FORT-275014
FHashedName converts strings to upper-case before hashing, otherwise hash depends on what particular case of a given string is first seen
#rb none
[FYI] josh.adams

#ROBOMERGE-OWNER: ben.ingram
#ROBOMERGE-AUTHOR: ben.ingram
#ROBOMERGE-SOURCE: CL 12733823 via CL 12733836 via CL 12736071
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)

[CL 12736167 by ben ingram in Main branch]
2020-04-10 19:00:26 -04:00
jules blok
b4b77b549c Fix ShaderCompiler incorrectly determining Instanced Multi-View support
Only use layered swapchains for the scene render targets in the WMR plugin
Only attempt to use instanced mobile multi-view for Hololens

#jira UE-91748
#rb Steve.Smith

#ROBOMERGE-OWNER: jules.blok
#ROBOMERGE-AUTHOR: jules.blok
#ROBOMERGE-SOURCE: CL 12686399 in //UE4/Release-4.25/... via CL 12686400 via CL 12686413
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12686414 by jules blok in Main branch]
2020-04-09 00:37:31 -04:00
john hable
e0bc96e8d4 Fixing subsurface specular threshold.
#jira ue-88715
#rb kevin.ortegren

#ROBOMERGE-SOURCE: CL 12674805 in //UE4/Release-4.25/... via CL 12674808 via CL 12674815
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12674820 by john hable in Main branch]
2020-04-08 12:10:49 -04:00