Hi! Could somebody give me a hand with the Convert Colorspace node? I’m trying to get the Filmic effect in the compositor, and try to use the Convert Colorspace node for that task. I’ve rendered my scene with my color management settings set to sRGB-default, and in the compositor I run the result through a Convert Colorspace as shown below:
As you can see the right one (converted from default sRGB) is different than the one on the left, which is the same image but saved in with the color space set to Filmic. Why is that?
Because data → sRGB → Filmic doesn’t return the same data as data → Filmic. I think you’re fundamentally misunderstanding how Filmic and sRGB work.
Basically, sRGB clips the raw data into a set range, removing values above and below the maximum and minimum. Converting this result to Filmic doesn’t restore the data that’s been clipped. The only way to access that data is to not clip it in the first place; i.e., forgo sRGB
The view transform (Filmic, Standard, etc.) happens after compositing, not before. If you save out a JPEG or PNG and bring it back in, it’ll be sRGB or Filmic, whatever your color management settings were, but when you send the RenderLayer to compositing directly, it’s linear, like everything else inside Blender’s internal working space. Then the compositing operations are applied, then, on output, (if you’re rendering to a format that’s not EXR) the view transform happens on top of everything.
If you want to apply Filmic in the compositor, like you’re trying to do here, you need to set the conversion’s “from” to linear, since that’s the data that’s going into it. Then, you need to remember that the data flowing out of that node is now Filmic sRGB, but Blender’s still ready to apply your chosen transform at the end! If it’s set to Standard like you have it, for example, that’s Filmic sRGB followed by sRGB—a double transform. So you need to counteract that, either by:
A: setting your view transform to Raw, so Blender doesn’t do anything else after your compositing nodes, and saves the Filmic image straight into the file, or
B: adding a second Colorspace conversion right after the first, converting sRGB to Linear, so that when Blender applies Standard (aka Linear to sRGB) on the way out, the two operations cancel each other out, and you get the Filmic data you already had.