move the color management to a compositor node
At the moment there's a real problem with colour management, because if you enable filmic for example, this also affects the alpha channel, making compositing with filmic enabled very difficult.
For example if you try and use an alpha over to give an image a white background, and the image was rendered in filmic, then the white background will show as gray.
Having a color management node in the compositor would resolve this completely, as you could plug it into the beauty only, and still keep the alpha and environment etc as god intended (untouched by colour management).
9 Comments
I think there might be two issues - one is wanting/needing to do operations in display referred color (for that I think some kind of color management/view transform node could be good), the other is wanting to view buffers more intelligently (nothing happens to your alpha channel when it looks grey, it still works) so maybe a smarter viewer node?
* @Bassam Kurdali * the alpha channel does actually get affected. I've tested this by saving out a png with a file node, and even adding a white background in another software results in gray rather than white.
* @tibbyninja * The value of 1.0 is not seen as pure white with the Filmic view transform. If you want a pure white, you need a value around 16.3 (or close). But the alpha of 1.0 is still it's maximum value and this is something totally different.
That said, I like the idea to have a "colorspace" node to switch to another working space when needed on some operations. I think this is on the roadmap: wiki.blender.org/wiki/Source/Render/ColorManagement "The compositor should get a compositor node to convert between two color spaces defined in the OpenColorIO configuration."
* @tibbyninja * what exactly are you doing? I've never seen my alphas change - unless you are piping it into an image output and saving it that way (it is no longer an alpha channel)
* @Bassam Kurdali * it turns out I was wrong, the alpha isnt the cause, the problem was that filmic affects the compositor. So for example with filimic enabled, it's not possible to save out a pure white image, it'll always be downgraded to an off white before saving....unless you uncheck the save as render checkbox (not available in the file output node).
So the only solution is to set the colour managmenet view transform to standard, and then try and replicate the filmic look on the beauty/combined pass only, so that any other nodes you add in the compositor are unaffected.
A LUT compositor node which only affects the branch running through it would be a great option. There isn't already a compositor node which applies a lut is there?
I really need this. Currently, I have a pipeline that produces lots of non-color outputs that need to be .png files. Because of this limitation, I have to save all non-color passes as .exr and then post-process them to convert them to .png. I think you could maybe have a color management node that takes in linear values and allows you to select the transformation and outputs the converted values, but this will make some of the nodes that work with color information more confusing. Or alternatively, any node that uses color management should have the option to select its color management profile, including the most important one: file output node.
* @angelo.tartanian * Why don't you just save file without the color management applied? To do that, when you save an image file, you can uncheck "Save as render".
* @Vincent Girès * the file output node doesnt appear to have this option.
* @angelo.tartanian *
Setting the buffer to non-colour data will suffice.