Color space conversion in the UI composition is incorrect on DX12 HDR.
In the main() function In CompositeUIPixelShader.usf, you can see the following color space transform.
// sRGB -> RRT -> ODT
UIColor.xyz = ColorLookupTable(UIColor.xyz);
But it seems that the input of ColorLookupTable() must be linear color space. So it makes UI color incorrect on HDR.
[Link Removed]
[Link Removed]
Adding sRGB->Linear transform before the function fix this problem.
// sRGB -> Linear -> RRT -> ODT
UIColor.xyz = sRGBToLinear(UIColor.xyz);
UIColor.xyz = ColorLookupTable(UIColor.xyz);
[Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-117936 in the post.
5 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.26, 4.27, 5.0-early access, 5.0 |
Target Fix | 5.1 |
Fix Commit | 19918995 |
---|
Created | Jun 11, 2021 |
---|---|
Resolved | Apr 26, 2022 |
Updated | May 6, 2022 |