Commit Graph

136 Commits

Author SHA1 Message Date
andrew lauritzen
767c0a46f4 Disable moving resolution LOD bias for directional lights by default as it can cause artifacts and flicker with certain types of Nanite geometry
#rb ola.olsson

[CL 27857536 by andrew lauritzen in ue5-main branch]
2023-09-13 18:47:40 -04:00
Daniel Wright
ec04d84b92 Disable r.Lumen.ScreenProbeGather.ShortRangeAO.HardwareRayTracing on Cinematic GI quality until artifacts with masked materials and self-intersection on Nanite meshes can be fixed
[CL 27458785 by Daniel Wright in ue5-main branch]
2023-08-29 14:50:35 -04:00
guillaume abadie
4f906c3570 Commits to r.TSR.ShadingRejection.TileOverscan=3 on all AA scalabilities
#rb none
#jira UE-179496, UE-166882

[CL 26815494 by guillaume abadie in ue5-main branch]
2023-08-03 12:39:07 -04:00
guillaume abadie
dde54a1648 Enables TSR Ressurection on High, Epic & Cinematic anti-aliasing scalability
#rb none
#jira UE-179496

[CL 26649358 by guillaume abadie in ue5-main branch]
2023-07-27 15:04:19 -04:00
Daniel Wright
3b52da999e Lumen ShortRangeAO use HWRT on Cinematic quality level
[CL 26187443 by Daniel Wright in ue5-main branch]
2023-06-22 13:50:35 -04:00
guillaume abadie
80b3fd8eaa Makes default r.ScreenPercentage settings configurable in project settings per renderer
Motivations of this change:
1) Temporal upscale by default in game builds even when dynamic resolution is not supported;
2) Fixes "Editor Preferences > Performance > Viewport Resolution > Override game screen percentage settings with editor settings in PIE" or (r.Editor.Viewport.OverridePIEScreenPercentage) that used to override r.ScreenPercentage in PIE by default to prevent accidental out of video memory when going PIE on high resolution/DPI display that was not discoverable enought user and generating misunderstanding;
3) Makes editor UI more understandable that the resolution controls under Settings > Engine Scalability Settings is actually PIE resolution settings, since the editor viewport screen percentage is controled independently in editor viewport top left menus;
4) Fixes inconsistency where VR and mobile renderer viewport didn't have their own settings like path tracer or non-realtime editor viewports had;
5) Adds resolution quality presets: just a slider for the 3D rendering resolution is very subjective to a player what to choose, whereas presets allows to more intuitively suggests trade off on the screen percentage range.

What this changes does to the end user:
1) Implements default screen percentage project settings in Project Preferences > Rendering > Default Screen Percentage (or r.ScreenPercentage.Default.*) for each indivual uses case that are: desktop renderer, mobile renderer, VR rendering, path tracer
1.1) Desktop renderer renderer default to screen percentage based on display resolution to automatically temporally upscale;
1.2) All other rendering methods (mobile render, VR renderer, path tracer) defaults to native resolution rendering as before.
2) Adds editor viewport screen percentage settings for mobile renderer and VR in Project Settings > Editor Performance > Viewport Resolution
3) Changes defaults of sg.ResolutionQuality and r.ScreenPercentage to 0 and fallbacks to project settings' default screen percentage
4) Rewrite Level Editor UI > Settings > Engine Scalability Settings to:
4.1) Says it only apply to PIE viewport, not including Simulate in Editor since these is still viewed with editor viewports, and warn when there is no PIE game viewports;
4.2) Explicitly says what is the current screen percentage of the PIE game viewport;
4.3) Explicitly says what is the current rendering and display resolutions;
4.4) Says what rendering mode is being applied (Desktop renderer, mobile renderer, VR rendering, path tracer)
4.5) Says where the settings come from, r.ScreenPercentage was directly set by console code, or whether the Engine Scalability was overident (sg.ResolutionQuality>0) or where the default settings come from (project's default screen percentage settings or editor viewport preferences)
4.6) Says the actually setting is being used (Manual, Based on Display Resolution, Based on OS DPI Scale)
4.7) Explicitly says which anti-aliasing method is being used on the anti-aliasing scalability group
5) The "Editor Preferences > Performance > Viewport resolution > Override project's default screen percentage settings with editor viewports' settings in PIE" (r.Editor.Viewport.OverridePIEScreenPercentage) now chooses whether the default screen percentage project settings should be overriden by the editor viewport's default settings. sg.ResolutionQuality and r.ScreenPercentage now behaving as a override, it means they are also applied in PIE to avoid user confusions when they do indeed what to take control of it in the project settings or game logic.
6) Adds resolution quality presets in BaseScalability.ini that can be customised in a project's DefaultScalability.ini:
6.1) Default 3D resolution preset: Sets sg.ResolutionQuality=0 to end up using the default project settings presets which for the case of the desktop renderer means temporal upscaling by default based on the display resolution like Fortnite's Recommended settings.
6.2) Performance 3D resolution preset: Sets sg.ResolutionQuality=100*1080/2160
6.3) Balanced 3D resolution preset: Sets sg.ResolutionQuality=100*1260/2160
6.4) Quality 3D resolution preset: Sets sg.ResolutionQuality=100*1440/2160
6.5) Native 3D resolution preset: Sets sg.ResolutionQuality=100

#rb rob.srinivasiah, jack.porter, juan.canada, allan.bentham
#jira UE-184651

[CL 25988162 by guillaume abadie in ue5-main branch]
2023-06-14 14:28:12 -04:00
guillaume abadie
153e48978d Deletes r.TSR.History.GrandReprojection=1 and r.TSR.Subpixel.Method=1
r.TSR.History.GrandReprojection=1 doesn't looks nearly as good as r.TSR.History.ScreenPercentage=200 and cause high maintenance burden;
r.TSR.Subpixel.Method=1 is just always worst looking due to the introduce instability on the image.

#rb none
#jira UE-179496

[CL 25977651 by guillaume abadie in ue5-main branch]
2023-06-14 10:16:33 -04:00
Charles deRousiers
6d256bf57f Remove hair scalability settings which are no longer used.
#rb none
#jira none

[CL 25917621 by Charles deRousiers in ue5-main branch]
2023-06-12 02:52:06 -04:00
Guillaume Abadie
ca0443bae1 Implements r.DOF.Gather.ResolutionDivisor used by cinematic post processing scalability
#rb none
#jira UE-171238
#preflight 646e87d81417daba1e1285fa

[CL 25614074 by Guillaume Abadie in ue5-main branch]
2023-05-24 18:24:05 -04:00
Guillaume Abadie
1c4dd178f5 Nukes tonemaper's USE_GRAIN_QUANTIZATION
* Tonemapper have too many shader permutations
* Doesn't make any meaningful performance difference on slowest platforms
* Renames the GrainQuantization to BackbufferQuantizationDithering to reduce confusion with film grain
* Offer it on all post processing scalability settings

#rb rod.bogart, serge.bernier
#jira none
#preflight 6449b3926b589f8b36a118b2

[CL 25213159 by Guillaume Abadie in ue5-main branch]
2023-04-27 09:03:30 -04:00
guillaume abadie
0811d3a316 Implements a r.TSR.ShadingRejection.TileOverscan to reducing tiling artifact on high, epic and cinematic scalability
#rb none
#preflight 6438662bec219759f5d553e4

[CL 25035533 by guillaume abadie in ue5-main branch]
2023-04-13 20:28:26 -04:00
guillaume abadie
0448923d63 Changes r.Bloom.ScreenPercentage to 50 on epic post processing scalability
#rb trivial
#preflight none

[CL 24884469 by guillaume abadie in ue5-main branch]
2023-04-01 02:39:22 -04:00
guillaume abadie
de6220aa04 Commits to r.TSR.History.ScreenPercentage=200 on Epic TSR scalability
#rb juan.canada
#jira none
#preflight skip

[CL 24266513 by guillaume abadie in ue5-main branch]
2023-02-16 14:59:48 -05:00
Sebastien Hillaire
3877388b66 Enable high quality refelction by default on some platforms.
#rb charles.derousiers
#preflight https://horde.devtools.epicgames.com/job/63ecb74e8736f0cb114965d9

[CL 24228203 by Sebastien Hillaire in ue5-main branch]
2023-02-15 07:21:50 -05:00
marc audy
909c2b3520 Lumen Reflections denoiser improvements for 'High' reflection quality
* Tonemapped weighting during the spatial resolve is now enabled by default on High settings, which causes reflections on rough surfaces to lose brightness, but is necessary for acceptable quality with bright emissives
    * Controlled by r.Lumen.Reflections.ScreenSpaceReconstruction.TonemapStrength
 * Temporal filter no longer lowers strength on mirror reflections for half res reflections
 * Disabled reflection pixel jitter
 * Neighborhood clamp is expanded in areas of high spatial resolve variance, controlled by r.Lumen.Reflections.Temporal.NeighborhoodClampExpandWithResolveVariance
 * The bilateral filter skips the normal weight in areas of disocclusion.  This reduces fireflies around the edges of the screen under camera movement, especially when the material has a noisy normal but low roughness.
[CODEREVIEW] Daniel.Wright

[CL 24062588 by marc audy in ue5-main branch]
2023-02-07 18:28:53 -05:00
Charles deRousiers
ee729a8553 * Unify all hair env. lighting integration. Evaluation is now in a common place and is consistent accross calling sites.
* Change Lumen hair integration and now use simplify evaluation (integration cost is now smaller)
* Ensure dual scattering is properly evaluated for hair pixel requesting it (i.e., have 'use complex transmittance' bit enabled)

Tests: QAGame, MHSample, CitySample, Strata, mobile.

#rb none
#jira UE-174801
#preflight 63d27fce6a14d8406dc2ca07
#fyi tim.doerries

[CL 23867410 by Charles deRousiers in ue5-main branch]
2023-01-26 09:46:37 -05:00
Ola Olsson
817cf2bb2a Add second VSM resolution bias for moving lights along with tracking of what lights are moving. When a light stops is does a gradual transition to the second bias.
- r.Shadow.Virtual.ResolutionLodBias[Local|Directiona]lMoving configures the LOD bias for a light that is currently moving.
 - Added FShadowScene that will contain persistent, event driven, shadow aspects of the scene.

#rb andrew.lauritzen
#jira UE-168058
#preflight 63d25c3fd05eec2267515722

[CL 23865867 by Ola Olsson in ue5-main branch]
2023-01-26 06:11:32 -05:00
guillaume abadie
0cb5770275 Rolls back r.TSR.History.GrandReprojection=1 on Epic TSR
#rb none
#preflight none

[CL 23820532 by guillaume abadie in ue5-main branch]
2023-01-23 15:22:57 -05:00
guillaume abadie
9ccd56dfcc Capitalizes on TSR perf optimisations on consoles to upgrade TSR Epic quality with r.TSR.History.ScreenPercentage=200
#rb none
#preflight 63cafba063626fcc5faa7801

[CL 23798573 by guillaume abadie in ue5-main branch]
2023-01-20 17:43:47 -05:00
Daniel Wright
5a7efc8ea7 Lumen character lighting improvements
* Fixed ScreenProbeGather Screen Traces missing nearby features, which was happening due to the bias needed for downsampled HZB tracing.  ScreenProbeGather Screen Traces now use full res HZB tracing.
 * Hair Voxel Occlusion is now traced for the full resolution Bent Normal, Lumen Reflection HWRT, and Lumen Visualize HWRT
 * Added a HWRT version of ScreenSpaceBentNormal, which is too slow to use (.12ms ScreenSpace vs 1.75ms HWRT) but still useful as a reference
 * Renamed ScreenSpaceBentNormal feature to ShortRangeAO, now that it's no longer just screen traces (r.Lumen.ScreenProbeGather.ShortRangeAO)
 * Enabled ShortRangeAO on GI High settings by default (60fps mode)
 * Clamp albedo used for the AO Multibounce approximation (DistantIlluminationRescale) to increase the amount of occlusion when a very light surface is next to a very dark surface (r.Lumen.ScreenProbeGather.ShortRangeAO.MaxMultibounceAlbedo)
 * Disabled HairScreenTrace on both ScreenProbeGather and ShortRangeAO as it causes to over-occlusion and costs too much
#preflight 63bf2dedaf3ebedd999a3f8a

[CL 23658050 by Daniel Wright in ue5-main branch]
2023-01-11 20:04:13 -05:00
krzysztof narkowicz
e68fad4a77 Fixed missing Lumen reflections on non foliage using subsurface mode.
Instead of a binary r.Lumen.Reflections.Foliage, use r.Lumen.MaxRoughnessToTraceForFoliage cutoff.This allows to skip reflections rays on foliage, but still trace those from very smooth ice surfaces.

[REVIEW] [at]daniel.wright
#rb Daniel.Wright
[FYI] Ben.Woodhouse

#localization none
#tests PC_editor_and_PS5_replay

[CL 23147830 by krzysztof narkowicz in ue5-main branch]
2022-11-15 19:40:11 -05:00
guillaume abadie
4fe0f66275 Commits to TSR's grand history reprojection on Epic scalability settings
#rb none
#preflight trivial

[CL 23049089 by guillaume abadie in ue5-main branch]
2022-11-09 02:19:06 -05:00
krzysztof narkowicz
28125d98a2 Lumen - periodically refresh surface cache on all scalability levels
[CL 22986736 by krzysztof narkowicz in ue5-main branch]
2022-11-04 10:35:22 -04:00
daniel wright
42faeecff4 Revert to r.Lumen.ScreenProbeGather.FullResolutionJitterWidth=1 on High GI settings, as disabling it causes too much instability for most projects
[CL 22937847 by daniel wright in ue5-main branch]
2022-11-02 23:05:27 -04:00
daniel wright
d02376c5e7 Disabled r.Lumen.ScreenProbeGather.FullResolutionJitterWidth on GI High settings to reduce cost (.13ms at 60% SP on PS5), as r.Lumen.ScreenProbeGather.StochasticInterpolation is already injecting noise which helps with temporal stability.
[CL 22888510 by daniel wright in ue5-main branch]
2022-11-01 15:06:08 -04:00