Vertex colors are interpreted as SRGB instead of linear when building a static mesh from mesh description.

Summary

When you build a static mesh from a mesh description containing vertex colors, the mesh’s vertex colors will be rendered brighter than the mesh description’s color values. The color difference appears to be the same as when interpreting a linear color as a SRGB color.

What Type of Bug are you experiencing?

Rendering (Graphics / Niagara)

Steps to Reproduce

  1. Create a FMeshDescription for any simple static mesh in C++.
  2. Set all VertexInstanceColor attributes to an easily recognizable value, e.g. FVector4f(0.5, 0.5, 0.5).
  3. Build a static mesh asset from the FMeshDescription.
  4. Open the static mesh in the editor and check the “Vert Colors” show flag.
  5. Check the rendered vertex color using the color picker tool.

Expected Result

The rendered color is the same as the color set in the mesh description.

Observed Result

The rendered color is brighter, e.g. value 0.73 instead of 0.5.

Affects Versions

5.7

Platform(s)

Windows