Commit Graph

8182 Commits

Author SHA1 Message Date
Sebastien Hillaire
92c8937e37 Added sky atmosphere transmittance on forward shaded translucent when per pixel mode is selected on the atmospoheric dir light.
#rb none
#preflight https://horde.devtools.epicgames.com/job/62960217d86c0bf739a111ef

[CL 20435765 by Sebastien Hillaire in ue5-main branch]
2022-05-31 08:11:24 -04:00
guillaume abadie
a2c5574494 Allows to control TSR pass to run on asynccompute at thiner granularity
#rb none
#preflight 6295c77b926be5fb68a25cf3

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20434685 via CL 20434689 via CL 20434693
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20434849 by guillaume abadie in ue5-main branch]
2022-05-31 04:53:12 -04:00
Charles deRousiers
db938b3b08 Add Lumen tile debug pass for screen probe gather passes.
#rb none
#jira none
#preflight 6294ee083f058e13b5bf358e
#fyi daniel.wright

[CL 20434602 by Charles deRousiers in ue5-main branch]
2022-05-31 03:12:51 -04:00
guillaume abadie
4e42a66ca9 Allows TSR to upscale separate translucency independently from input resolution
This also implements r.Translucency.ScreenPercentage.Basis to experiment controling the translucency resolution independently from the primary screen percentage

#rb none
#jira UE-152560
#preflight 6294fbc4e61254772f5834a6

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 20432059 via CL 20432067 via CL 20432069
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20434142 by guillaume abadie in ue5-main branch]
2022-05-31 01:21:02 -04:00
aleksander netzel
a6237048e1 Fix for IsValid() crash when showing RayTracingDebug:
* When RT debug is enabled we disable translucency but some of the postprocessing materials might use that texture so we need to set correct ViewRect as well.

#jira UE-144066
#rb Tiago.Costa
#preflight 6290d21ad24a7fc585f2c9f4

[CL 20429352 by aleksander netzel in ue5-main branch]
2022-05-30 05:19:22 -04:00
Charles deRousiers
3eb064d38c Change ShaderPrint symbol buffers layout.
It will ease merging all shader print RW buffer into a single one.

#rb none
#jira none
#preflight 6294677f380652524eae7e28

[CL 20428909 by Charles deRousiers in ue5-main branch]
2022-05-30 03:08:58 -04:00
brian karis
0d8b010e12 Nanite displaced mesh. Added uniform tessellation and displacement.
#rb graham.wihlidal
#preflight 62901dcd74630984fd6763b1

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 20400905 via CL 20400917 via CL 20400925
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20402444 by brian karis in ue5-main branch]
2022-05-27 20:42:29 -04:00
jason hoerner
00a17f45d1 Scene Capture: Fix for additive / composite blending. Need to skip render target clear when compositing.
#jira UE-151360
#rb mihnea.balta
#preflight 6290b3a9b974ae8eb0391726
#lockdown mihnea.balta

#ROBOMERGE-OWNER: jason.hoerner
#ROBOMERGE-AUTHOR: jason.hoerner
#ROBOMERGE-SOURCE: CL 20391763 in //UE5/Release-5.0/... via CL 20393665
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20398598 by jason hoerner in ue5-main branch]
2022-05-27 16:47:05 -04:00
jeremy moore
925a8fe75c Fix some items rendering to a separate velocity pass when base velocity pass is used with r.SelectiveBasePassOutputs.
This logic took primitives with a material using static lighting and moved velocity writing to a second pass.
Seems like that is some old behavior and after asking around it isn't well known why we had it.
Anyway it's not good to pay the cost of that second pass, so removing that.
#preflight 628fd8f574630984fd4d4464

#ROBOMERGE-AUTHOR: jeremy.moore
#ROBOMERGE-SOURCE: CL 20392160 via CL 20392172 via CL 20392182
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20398501 by jeremy moore in ue5-main branch]
2022-05-27 16:44:41 -04:00
Juan Canada
0091bd7424 Fixed assert triggering because baked depth data was invalid
#jira UE-153278
#rb yujiang.wang
#preflight 6291061c6c4b4192f2a4ccdd

[CL 20395456 by Juan Canada in ue5-main branch]
2022-05-27 13:23:22 -04:00
Tiantian Xie
fcff8d55e8 Add multiple reflection capture support for single layer water.
#rb none
#preflight 6290efe4fe5e30102ab0d9a7

[CL 20394554 by Tiantian Xie in ue5-main branch]
2022-05-27 12:14:09 -04:00
mihnea balta
21d8858521 Fix crash when using time-sliced sky captures.
The code was never allocating the second sky render target because it was using the wrong index in the null check (ConvolvedSkyRenderTargetReadyIndex is 0 at that point).

#jira UE-149630
#rnx
#lockdown Michal.Valient
#preflight https://horde.devtools.epicgames.com/job/628f8239e17a02240dd06378
#rb Jason.Hoerner

#ROBOMERGE-AUTHOR: mihnea.balta
#ROBOMERGE-SOURCE: CL 20379597 in //UE5/Release-5.0/... via CL 20381835
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20385099 by mihnea balta in ue5-main branch]
2022-05-26 16:44:59 -04:00
jeff newquist
137231161e Fix NonUnity/NonPCH build error
#jira none
#fyi tiago.costa
#preflight none
#rnx

[CL 20384679 by jeff newquist in ue5-main branch]
2022-05-26 16:24:20 -04:00
chris kulla
3dada130b2 Path Tracer: invalidate path traced output when decals are added, removed or transformed
#rb Tiago.Costa
#preflight 628fc6f48c077c0d661f7993

[CL 20383655 by chris kulla in ue5-main branch]
2022-05-26 15:26:34 -04:00
zach bethel
92d58d2338 Restored FTextureRenderTargetCubeResource to use a staging 2D texture as its render target. Replaced the render target clears with copies from the staging texture which mirrors the old implementation with CopyToResolveTarget. Also fixed another regression in CopyTexture that wasn't part of the unit test.
#rb mihnea.balta, jason.hoerner
#preflight 628f96ab74630984fd3f45d5
#jira UE-151491

[CL 20379819 by zach bethel in ue5-main branch]
2022-05-26 11:24:29 -04:00
Guillaume Abadie
4d350f00a2 Removes accidental log spam in translucency
#rb trivial
#jira none
#preflight trivial

[CL 20377535 by Guillaume Abadie in ue5-main branch]
2022-05-26 06:43:34 -04:00
tiago costa
fc62d1fc0e Initial support for deferred decals in path tracer.
- Decals materials are evaluated using callable shaders in PathTracingKernel.
- Decals are culled using a 2D grid similar to the existing light grid.
- In order to correctly handle decal blending order, decals are sorted using the same logic as the rasterizer on CPU. The compute shader that builds the decal grid maintains the correct order.
- Decal materials are wrapped in FRayTracingDecalMaterialShader. The instance parameters of each decal are bound using uniform buffers.

#preflight 628f3fed2f2409bc1e7a6414
#rb Yuriy.ODonnell, chris.kulla, Jeremy.Moore

[CL 20377336 by tiago costa in ue5-main branch]
2022-05-26 05:59:55 -04:00
Guillaume Abadie
46a784ccaa Rewrites dynamic translucency resolution on top of the DynamicRenderScaling API
#rb none
#jira UE-152561
#preflight 628f49d99d313ae1c7ddf9a8

[CL 20377304 by Guillaume Abadie in ue5-main branch]
2022-05-26 05:54:01 -04:00
Guillaume Abadie
bbb8d0e2c8 Rewrites dynamic resolution on top of the DynamicRenderScaling API
#rb none
#jira UE-152561
#preflight 628f43e6f622d972b5cb4f2f

[CL 20377247 by Guillaume Abadie in ue5-main branch]
2022-05-26 05:34:08 -04:00
Marc Audy
ab31b6dc6c Fix non-unity
#rnx
#preflight

[CL 20376568 by Marc Audy in ue5-main branch]
2022-05-26 02:27:07 -04:00
Guillaume Abadie
0734868f53 Implements DynamicRenderScaling API with GPU timing measurement integrated within RDG
This allows to define a new dynamic scaling in the renderer with low amount of boiler plate:

DynamicRenderScaling::FHeuristicSettings GetDynamicTranslucencyResolutionSettings()
{
	RenderingDynamicScaling::FHeuristicSettings BucketSetting;
	BucketSetting.Model = RenderingDynamicScaling::EHeuristicModel::Quadratic;
	BucketSetting.bModelScalesWithPrimaryScreenPercentage = true;
	BucketSetting.MinResolutionFraction = ...
	...
	return BucketSetting;
}

DynamicRenderScaling::FBudget GDynamicTranslucencyResolution(TEXT("DynamicTranslucencyResolution"), &GetDynamicTranslucencyResolutionSettings);


And then simply define a scope to measure the GPU timing as such:

{
	DynamicRenderScaling::FRDGScope DynamicTranslucencyResolutionScope(GraphBuilder, GDynamicTranslucencyResolution);

	// add passes to GraphBuilder
}

#rb zach.bethel
#jira UE-152561
#preflight 628f1219bb14235aa38c904c

[CL 20376428 by Guillaume Abadie in ue5-main branch]
2022-05-26 01:58:36 -04:00
jason hoerner
a3c39d3fd0 Suppress static analysis error for potentially leaked virtual shadow map cache pointer. Allocation is stored to the FSceneViewState class and freed later with that class.
#jira UE-154057
#rnx
#preflight 628ec12389000256cea3a6b6

[CL 20373826 by jason hoerner in ue5-main branch]
2022-05-25 20:01:07 -04:00
andrew lauritzen
bf84b62791 Improve texel dither to be more continuous and avoid artifacts at the edges of pages (which are now dynamically picked)
Add a world dither. Not necessarily useful but can be somewhat analygous to PCF radius.
Add permutation to SMRT samples = 0 (and possibly more in the future).

#preflight 628eab6fc826bd5a7f1135ec
#rb ola.olsson

#ROBOMERGE-AUTHOR: andrew.lauritzen
#ROBOMERGE-SOURCE: CL 20372897 via CL 20372913 via CL 20372922
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20373677 by andrew lauritzen in ue5-main branch]
2022-05-25 19:50:23 -04:00
graham wihlidal
c39b91a2f1 Fixed new D3D debug validation error around mesh shader topology mismatch. As a note, the error message implies that we can not set the primitive topology or set it to UNKNOWN, but this in fact does not work and we still fail validation. Since mesh shaders and hardware don't actually have a concept of input at all, it doesn't really matter what we specify on the PSO for topology type, therefore I have set the topology to triangle list so it matches the mesh shader declaration in HLSL. No performance or functionality change as a result of this, it just makes the new validation rule happy.
D3D12 ERROR: ID3D12Device1::CreateMeshShader_TopologyMismatch: Since the mesh shader specifies output topology of triangle, if the PSO desc ALSO specifies a primitive topology (even though not necessary to do), it must be D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE to match the mesh shader.  Since the topologies don't match, behavior is undefined.  Earlier runtimes didn't validate this, so this error isn't explicitly failing PSO create.  But this really should be considered an application error. [ MISCELLANEOUS ERROR #1323: CREATEMESHSHADER_TOPOLOGY_MISMATCH]
D3D12: **BREAK** enabled for the previous message, which was: [ ERROR MISCELLANEOUS #1323: CREATEMESHSHADER_TOPOLOGY_MISMATCH ]

[FYI] christopher.waters, jamie.hayes
#preflight skip

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 20372171 via CL 20372216 via CL 20372235
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20373424 by graham wihlidal in ue5-main branch]
2022-05-25 19:32:46 -04:00
zach bethel
50b6956d6a Ported IrradianceEnvironmentMap to RDG.
#preflight 628d31a3c97e4beea3ad4e21
#rb sebastien.hillaire

[CL 20370328 by zach bethel in ue5-main branch]
2022-05-25 15:53:11 -04:00