Page MenuHome

Fix T79005: Vertex color conversion operators changing the colors
ClosedPublic

Authored by Pablo Dobarro (pablodp606) on Jul 16 2020, 10:51 PM.

Details

Summary

CD_PROP_COLOR vertex data is stored in scene linear while legacy vertex
colors are srgb, so both operators also need to do this conversion

Diff Detail

Repository
rB Blender
Branch
T79005 (branched from master)
Build Status
Buildable 9056
Build 9056: arc lint + arc unit

Event Timeline

Pablo Dobarro (pablodp606) requested review of this revision.Jul 16 2020, 10:51 PM
Pablo Dobarro (pablodp606) created this revision.
Sergey Sharybin (sergey) requested changes to this revision.Jul 17 2020, 10:29 AM

From my understanding, the new vertex color should be in the scene linear, not in the linear with rec709 chromaticities. From this point of view you should be using IMB_colormanagement_srgb_to_scene_linear_v3 (the srgb_to_linearrgb_v4 converts rec709 sRGB to linear, which only works with the default OCIO configuration, but will behave wrong when using different configuration).

This revision now requires changes to proceed.Jul 17 2020, 10:29 AM

The new vertex colors should be scene linear, but the old vertex colors are scene linear + sRGB transfer function, not sRGB. So I think this is correct.

Any updates on this?
this issue is quite problematic.

Any updates on this?

🥺

There isn't really updates, you'll get them automatically if there's any activity in the path,

I am a bit confused with @Brecht Van Lommel (brecht)'s reply though. Brecht, what do you exactly refer to as "this" ?

By this I meant the code in this patch.

I see, thanks for clarification. A bit confusing, but this what it is :)

P.S. We also had a quick in-person discussion. The vertex colors are stored in linear plus sRGB transform, and this is how they are used everywhere. So this patch is correctly following the rest of the areas which are using vertex color.

This revision is now accepted and ready to land.Oct 18 2021, 2:29 PM