Will you use the new Rec.2020 working color space?

Question for the color experts here:

Is there any reason an artist that is only working in Blender would want to use Rec.2020 instead of Rec.709 working color space in Blender 5.0? My understanding is that it does not allow artists to use “more colors” (that would be the bit depth of the file format) and its effect of boosting saturation in some cases is still at the expense of clipping (better to apply that artistically in the compositor with intention).

I am leaving out ACEScg from this discussion since the ACES folks will need it for interchange with other software, but that is more of an I/O pipeline issue. And AgX, the default view transform in Blender, is not recommended to be used with it.

The wider color space also opens up the door to negative and above 1 values in the color picker, which could be confusing. Also potentially confusing to folks is that some view transforms do not work well with it, such as PBR Neutral.

Now if displays could display those colors, that would be one thing. So if you have a fancy P3 display and are making content for another P3 display, that also seems like a good reason. But if you’re planning to publish to everyday devices or are working on a regular monitor, why go up to a larger color space and add potential complications just to end up in sRGB?

Some people have mentioned that renderers can make better use of the wider color space. How so, exactly?

Do you think bigger is better? My understanding at the moment is that it is not if you don’t have an I/O need for it. I just want to make sure I’m not missing anything before I make any recommendations.

3 Likes

following.

That’s a very good question. Why would you even be thinking of doing that? You don’t need it, enjoy that fact. If you have no reason to do something, maybe don’t do it… especially with color management. :laughing: Are you looking for a headache for no good reason at all?.. :laughing:

5 Likes

No. There’s really no need for it on a day to day basis as you said.

I do like that we have more options now though, that’s always a good thing. There’s always someone that will need a more specific color space and installing/managing anything other than Blender defaults can get pretty messy if you don’t know what you’re doing.

3 Likes

The use case of Linear Rec.2020 working space is not really about the “saturation”, that’s just a by-product of how the view transform is designed. The working space option is primarily about how the colorimetry data is interpreted before feeding into the render engine and the compositor. For example, if you assign a surface with linear Rec.709 texture of RGB (0.0, 1.0, 0.0), and the working space is set to Linear Rec.2020, it means OCIO will convert it to (0.32928, 0.91954, 0.08801) before feeding it into Cycles. This means, in Linear Rec.709 working space, that surface will have 0 reflectance in the R and B channels, but it will have non-zero reflectance in Linear Rec.2020. This means, we can have more reflected energies in Rec.2020 working space.

The most important reason why Rec.2020 makes a lot of sense as the PBR rendering space, is that its primaries are spectrally defined, the wavelength of Rec.2020 R primary is 630nm, G is 532nm, B is 467nm. That’s the most important advantage of it, while other spaces like Rec.709 are defined with human observer colorimetry only.

It does add complication to the workflows though, so many users can still stay with Rec.709.

10 Likes

I wonder how are image textures intended to be used here. It seems to me it would make sense to use only 32bit image textures in that same working space if you care about this. I wonder if people do this… All image textures… That’s quite a thing… Most assets have textures in 8bit sRGB… how does one even make those?.. It’s not like they are converted to 32 bit Rec.709 without issues, but at least those are the same primaries. What algorithms are used to convert sRGB textures to Rec.2020? Can you trust them? Is there even enough research on human vision for them to be possible to be any good not even talking about problems with conversion from 8 to 32 bits?.. To be honest I am not even sure what would the definition of “any good” be…

In Blender, you mark the texture’s source space on the node, and OCIO automatically converts it to the working space before the data gets passed into the connection noodles.

And it’s all good and well then :laughing: Better not to think about it.

There’s more detail if you want to know more. The actual conversion is matrix based, the matrices are in the OCIO config. The foundation of the matrices is the CIE XYZ standard human observer, assuming the metamerism behavior of that human observer. Therefore converting between the camera spaces and these human observer defined spaces are not always ideal. People working with compositing real camera footages are adviced to delay converting to the human observer until the view transform step to handle. Basically set the working space to the particular camera’s native RGB space, like ARRI Wide Gamut 3 or 4 for ARRI cameras. I don’t think this is relevant to most Blender users though.

1 Like

Thank you! That is exactly what I was hoping to learn about! Avoiding zeros while mixing colors does make sense, as does having the primaries be spectrally defined.

For anyone curious, here is a quick test where the material base colors are defined as the Rec.709 primaries with a yellow thrown in just for fun. Left is with the Rec.709 working space and right is with the Rec.2020 working space.

It’s not a huge difference, but there is some improvement in how the bounced lighting mixes.

Here we go… Conclusions begin. A new better way… “more color, more professional, more better” :laughing:

2 Likes

It will be more obvious if you use chromatic light source.

It’s not that it’s “more color”, colorimetry data is not really the perceptual “color” that you see on screen. Again, it has to do more with energy in the light transport rendering.

In what cases would you advice to use Rec.2020 working space? And why?

In case you want to have more similar result to spectral rendering, and your view transform of choice is good enough to handle that working space.

Note there will still be differences between Rec.2020 RGB renders and spectral renders.

Since spectral rendering allows arbitrary spectral power distributions (that potentially correspond to the same human observer colorimetry), spectral rendering can have many different kind of energy-reflecting behavior depending on how the light source sprectal distribution is defined.

Rec.2020 working space is like spectral rendering but all spectra are produced using only three wavelengths.

Rec.2020 working space can still have 0 values in channels, but it will occur now at the human observer’s spectral locus. It just makes more sense in a “PBR” aspect.

1 Like

I am glad new functionality is in Blender, but personally, I am a bit skeptical to how it could benefit me personally. My thinking is the same with spectral rendering: I have no way to input correct data into my scenes. That’s about it. I cannot make spectral photographs, could not view them, could certainly not edit them and make textures from them. It’s nice that the calculations are getting more accurate in some areas, but to be honest, personally, I have a bit more pessimistic view. It just seems that there is so much room for something to be wrong, I just don’t trust anything, except my own eyes and not even completely. :smiley: I’ll still only judge the result and nothing else.

Like this

image
image

You know what? I like the Rec.709 one better. It seems to have more pleasing color contrast to me. I like it more in this case. That’s about it for me. A vague opinion based on my personal experience. I honestly think it should have more weight then the math. Not that the energy calculations in the light transport rendering are not better, I am sure they are, but when you calculate something, the results depend on the input, so… what does it matter if the input is not correct anyway? And I think it cannot be. And what about the calculations? Standard observer… I just don’t trust that guy… :laughing: Which one is it? from 1931, 1964, 2015? is it the one with 2° made with experiments based on 7 people or 10° made with experiment based on experiences of 10 people?.. maybe the one from 2015?..


(random source I just googled this from: https://ies.org/lda/color-the-limits-of-a-standard-observer-2/)

It’s nice… but it’s better to not jump to conclusions too fast, I think. Especially if it presents some complications to workflows that to be honest I don’t know about.

1 Like

Again, chromatic light souce will make it more obvious

btw, in the time when agx blender version still was in development there were two versions of bt.2020: with white point D65 and E. If I want to develop a workflow using bt.2020 wich one should I use now?

before rendering did you convert the working space using the colormanagement panel in blender 5.0?

The D65 version should be fine.

I am not by my computer right now, I have this in my phone, text is in Chinese but you should get the idea.

14 Likes