CL 26768387 change the permutation of that shader, but incorrectly didn't 'touched' the shader to invalidate it (changes were incorrectly reverted locally). This invalidation should ensure that the shader is correctly recompile with the new permutation arrangement.
#rb none
#jira UE-191830
[CL 26800750 by charles derousiers in ue5-main branch]
- glint can be enabled/disabled per platofm still.
- Glints are enabled by default now.
- Simplified the complexspecial path defines to only have one.
#rb none
#preflight none
#fyi charles.derousiers
[CL 25600737 by Sebastien Hillaire in ue5-main branch]
- Common.ush change of runtime check for IsOrthoProjection() function calls to minimise cost to 1ALU
- Add 2 new functions, ScreenVectorFromScreenRect and GetScreenPositionForProjectionMatrix which return corrected values depending on projection type
- Converted CommonViewUniformBuffer to read from the new ViewUniformBuffer TanAndInvTanHalfFOV vector. This means that the static projection matrix values used by these functions are assigned in SceneView.cpp. Ortho rendering does not use these values, so these functions only need to return 1.0f for each value for ortho, and moving this to a constant vector means we avoid unnecessary IsOrthoProjection checks in the shader code.
- Added a few helper functions for the above to SceneView.h/.cpp, including a correction for the ScreenToClip matrix which is now reused in multiple locations, including for shadow rendering, rather than being hard coded.
- Utilised these changes to correct the problems with Point and Spot lights+shadows in ortho perspective, and also corrects some minor artifacts that occur with directional light in ortho.
#jira UE-40089
#rb Jason.Hoerner, Jason.Nadro
#preflight 6408c712b0544ef0b4afc961
#fyi Guillaume.Abadie
[CL 24634679 by Jon Cain in ue5-main branch]
This persistent atlas hold IES texture in a unique texture array which is used by all systems (raster/RT/PT/Lumen), and unify IES profile rendering.
#rb chris.kulla, sebastien.hillaire, krzysztof.narkowicz
#jira UE-167618
#preflight 6356fd907261e565c436a0fb
[CL 22806455 by Charles deRousiers in ue5-main branch]
- Move translucent injection outside the loop rather as it shares state and doesn't need barriers between it. This had already been done for unshadowed lights but this implements it for shadowed lights as well.
- Implement VSM one pass projection (still default off) even when clustered shading is not enabled. Has two paths in the regular light loop:
1) If another effect (ex. light functions) needs to interact with the screen shadow mask, a VSM composite path is inserted that does a quick copy from the one pass projection shadow mask bits
2) If only VSM is needed for the light, the lookup is rolled directly into the deferred lighting pixel shader, eliding the screen shadow mask entirely
Especially in the second case this significantly cuts down on GPU idle time and g-buffer bandwidth, improving the performance of scenes with small local lights
#rb ola.olsson, charles.derousiers
#preflight 633b36f9ba39998ce84c34dd
#jira UE-122099
[CL 22327084 by andrew lauritzen in ue5-main branch]
- separate SSS, opaque rough refraction and scene color output when strata project setting is enabled.
- simple placeholder per pixel variance from roughness/layers computation
- SSS only reads from subsurface buffer when ORR is enabled
- Added simple combine pass to final scene lighting (no blur for now)
- Started adding tiling but reached UAV count limit. I will refactor code later to workaround that.
- Updated light rendering, reflection environment pixel shader. Next will be lumen and clustered deferred shading.
#preflight https://horde.devtools.epicgames.com/job/622fc09fe348fe2ada4214f8
#rb none
#fyi charles.derousiers, tiantian.xie
[CL 19382940 by Sebastien Hillaire in ue5-main branch]
This changes allow to bind a larger amount of rect. light texture, and allows future support for rect light in forward & cluster passes.
#jira none
#rb sebastien.hillaire
#preflight 61fcebd0b5092d45ad110db4
[CL 18861192 by Charles deRousiers in ue5-main branch]
- all sky computations are now done in translated coordinate
- clouds shadow are in translated space but thetracing is still world space so it does cause issue for position>1000000000 (to be revisited).
- Adapted Volumetric Fog, Translucent light volume, real time refelction capture, Lumen, defered light and forward shaded translucent.
- some variables have been renamed to reflect the new working space.
#rb none
#preflight https://horde.devtools.epicgames.com/job/61f85f17114ec25fe0b7acdb
#jira https://jira.it.epicgames.com/browse/UE-139796
#ROBOMERGE-AUTHOR: sebastien.hillaire
#ROBOMERGE-SOURCE: CL 18806499 in //UE5/Release-5.0/... via CL 18808548 via CL 18822171
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)
[CL 18822479 by sebastien hillaire in ue5-main branch]