10 Commits

Author SHA1 Message Date
Dmitriy Dyomin
c687575341 Remove sRGB-only output restriction in tonemapper for mobile platforms
#jira none
#preflight shader
#fyi thomas.engel

[CL 24115680 by Dmitriy Dyomin in ue5-main branch]
2023-02-10 01:54:21 -05:00
benjamin rouveyrol
0645b83a3d HDR composition improvements:
* De-hardcode UI luminance, now driven by r.HDR.UI.Luminance
* Expose hard-coded ACES tonemapper parameters:
  - r.HDR.Display.MinLuminanceLog10 (-4.0) defines the luminance for the darkest point in the scene, and will also compute its ACES value (through lookup_ACESmin). The same is happening with the existing CVar r.HDR.Display.MaxLuminance, through lookup_ACESmax
  - r.HDR.Display.MidLuminance (15.0) defines the luminance for 18% gray. It works by offseting the dakest and brightest points in the scene
  - r.HDR.Aces.SceneColorMultiplier (1.5) . This acts like a gain to ensure consistency between ACES (for HDR) and UE (for SDR) tonemappers.

From my tests,  r.HDR.Aces.SceneColorMultiplier and r.HDR.Display.MidLuminance are a bit redundant, but the former acts as a gain on the input color, whereas the latter changes the anchor points for the tonemapper. Since they don't have a linear relationship, it felt useful to keep them both.

some examples:

Default Values (used in initial implementation of ACES 1.3)
r.HDR.Display.MinLuminanceLog10 = -4
r.HDR.Display.MidLuminance = 15
r.HDR.Aces.SceneColorMultiplier = 1.5

ACES 1.3 reference values (match reference images for r.HDR.Display.MaxLuminance=1000, 2000, 4000)
r.HDR.Display.MinLuminanceLog10 = -4
r.HDR.Display.MidLuminance = 15
r.HDR.Aces.SceneColorMultiplier = 1.0

ACES 1.3 with better fit to UE SDR tonemapper (scaled to 300 nits)
r.HDR.Display.MinLuminanceLog10 = -4
r.HDR.Display.MidLuminance = 54
r.HDR.Aces.SceneColorMultiplier = 1.0

#review eric.renaudhoude
#jira UE-162970
#preflight 6319a664a60c539c987c1e45

[CL 21890495 by benjamin rouveyrol in ue5-main branch]
2022-09-08 06:28:38 -04:00
benjamin rouveyrol
09c29cbee9 integration of ACES 1.3: the HDR tonemapper can now support parameterized maximum luminance.
Updated ACESOutputTransformsRGBD65 so ACESOutputTransformsRGBD65(0.18)=0.18, just like FilmToneMap does. This helped to get similar brightness between these 2 tonemappers and should be useful for people who would like to use ACES, even in SDR.

#rb eric.renaudhoude rod.bogart
#preflight 630652115366f61a42c3fbe7
#jira UE-151467

[CL 21559813 by benjamin rouveyrol in ue5-main branch]
2022-08-25 03:08:42 -04:00
eric renaudhoude
fd087c3e1e ColorManagement: Initial compatibility for working color space in the output transform.
This focuses initally on integration in CombineLUTs and its device-encoding-only equivalent, but exposes a global color space conversion uniform buffer for later use within the renderer but also in plugins.

#jira UE-153249
#rb rod.bogart, brian.karis, benjamin.rouveyrol
#fyi ruslan.idrisov
#preflight 62c4a5c9892b4d4f30f5ef66

[CL 20950630 by eric renaudhoude in ue5-main branch]
2022-07-05 17:44:40 -04:00
eric renaudhoude
5c243341ed HDR: Device-encoding-only shader fix for ScRGB.
This correctly replicates the combine LUTs and tonemap shaders, where the final conversion from AP1 to sRGB is applied after the LUT.

#jira none
#rb benjamin.rouveyrol, rod.bogart
#preflight 62b499d6ce64aeefefb9308e

[CL 20796884 by eric renaudhoude in ue5-main branch]
2022-06-23 12:51:33 -04:00
benjamin rouveyrol
731de80428 Have r.HDR.Display.ColorGamut enum values defined in a single place and replaced hardcoded numbers by enum values.
#jira UE-148995
#preflight 62716752e16e280be614c38b
#rb eric.renaudhoude jeff.newquist

[CL 20056544 by benjamin rouveyrol in ue5-main branch]
2022-05-05 08:49:19 -04:00
benjamin rouveyrol
30ea8aca4f Have r.HDR.Display.OutputDevice enum values defined in a single place and replaced hardcoded numbers by enum values.
#preflight 62559eb569015afc27ac1833
#jira UE-148598
#rb eric.mcdaniel

[CL 19784660 by benjamin rouveyrol in ue5-main branch]
2022-04-18 09:20:23 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -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
christina tempelaarl
0fca9fb1fd Full-screen post process material
#rb rod.bogart, zach.bethel, matt.kuhlenschmidt

#ROBOMERGE-SOURCE: CL 13056912 via CL 13056949 via CL 13056976
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13056980 by christina tempelaarl in Main branch]
2020-04-28 12:42:51 -04:00