Demo

Let's start with the video where we explain the issue and show the solution:

Background

In Dec 2019 I started a thread on Blender Artists - Filmic is on EVERYTHING in the compositor (not just render layers). It was a popular thread - staying active for around 3 years. blenderartists.org/t/filmic-is-on-everything-in-the-compositor-not-just-render-layers

Troy, the creator of Filmic, explained a lot about what colour spaces are and why they work the way they do. From this I understand a little better about why you have to set the normal map in your material to non-colour. Not all RGB colour spaces are equal: R=0, B=0, G=0 may always be black, but white could be 1, 1, 1, 255, 255, 255, 100, 100, 100, or #FFFFFF. And even if you agree that white is 1, 1, 1 there can still be depute about what goes on between 0 and 1. What we think is a straight line sliding through all the greys is in fact a logarithmic curve – that means we get more out of the 256 shades of grey that computers, phones and TVs use to share data. And that's not even starting on HDRIs – short explanation of them: there's a difference between the white of a white wall and the white of staring at the sun.

blender-filmic-different-white-levels

He didn't tell me the formula that would convert between Standard and Filmic, though. I would have to work it out myself.

As you can see from the thread, what I was aiming for was something a little like this:

I put together a series of boxes with emit values of RGB=0 to RGB=10, and rendered it out in Filmic
I put together a series of boxes with emit values of RGB=0 to RGB=10, and rendered it out in Filmic

Then I brought the render into a new file set to Standard, and read the RGB values of each of the boxes.

I copy-pasted the numbers, and brought them into a website called MyCurveFit for it to generate a formula that I can then convert into maths nodes.

blender-filmic-mycurvefit

Can you see what's wrong here? That curve isn't actually going through the little red dots that came from the data I gave it. Not really precise enough. After this I more or less abandoned the project. However, the thread on Blender Artists continued to live.

Several people contributed. People found ways to solve this problem within both Blender and Nuke. The answer (as found by Blenderbob) was RGBCurves.

And then I saw something new on the then newest version of Blender:

blender-color-management-settings

I thought this was a way of giving your 3D Scene and the rest of the compositor different colour settings, so the 3D scene could be Filmic, but the background video could be Standard. It turns out it wasn't that at all. It was the ability to have the renders that you save look different from how they appear in Blender it's self. I'm not sure what use that is. It turns out that the reason that no-one had made a video about this new feature was that it was basically useless. And I'd just started making the video for what I thought the feature was – I'd created a dancing robot and everything! It was time to dive back into Add-on creation for the Filmic UnFilmic Nodes that I wanted.

So... I would use the RGB Curves... I would create the inverse, and I would include the inverse of the converter between Filmic and Standard. I would use the values that I put together inputing the values between 0 and 10. But RGB Curves only go up to 1... I would have to include a MixRGB to multiply the value by 10.

blender-filmic-rgb-curves-node

Finally I could write up the story of how it was created and release it... And it could be very useful when combined with my other Add-on Greenscreen Within Eevee Pro.

blender-filmic-comp-nodetree

Downloads

If you want to use the compositing node I created, you can download it here: FilmicUnfilmicNodes.zip