Both the material and the Niagara compute shader use the same function to interpret the YCoCg color data, but the Niagara compute shader returns an incorrect color.

Also found on CL: 32347737 in Release-5.4


Steps to Reproduce

1. Download the Licensee's test project and open.
2. Observe that the RVT is set to "YCoCg Base Color, Normal, Roughness, Specular"
3. Observe that the three large cubes write their colors into the RVT
4. Observe that the sphere reads its color from the RVT (and it matches) - Material: /Game/Demo/Materials/M_ReadRVT
5. Observe that the particles do not match the RVT color.
6. Observe that the Material "/Game/Demo/Materials/M_ReadRVT", in its HLSL, calls "VirtualTextureUnpackBaseColorYCoCg(...)" to extract the base color from the data in the RVT.
7. In the Niagara System /Game/Demo/Niagara/N_ReadRVT, observe the scratch pad script module "Read RVT", and open it.
8. Observe it used the node "Sample RVT"
9. In the Generated Code window, with the script set to "Particle GPUCompute Script", observe the function "SampleRVT_Emitter_ReadRVT_RuntimeVirtualTextureSample" also calls "VirtualTextureUnpackBaseColorYCoCg(...)"

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-210242 in the post.

Login to Vote

ComponentUE - Niagara - Rendering
Affects Versions5.
Target Fix5.5
CreatedMar 20, 2024
UpdatedMar 25, 2024
View Jira Issue