How we convert Blender scenes from **Rec.709 to Rec.2020** and keep the same look?

Hello friends, I need some help with color spaces!

Converting Blender scenes from Rec.709 to Rec.2020 is driving me nuts.

If I start a scene directly in Rec.2020 and render to EXR, the colors look pretty much right when I open them again in the Blender Sequencer.

But if the scene was originally created in Rec.709 (which was the only option back then), and I either use the Convert Color Space node in the compositor or even change the entire project to Rec.2020, when I open it again in the Sequencer everything looks washed out and dull, very far from the intended look.

Does anyone know a way to take a project that was initially made in Rec.709 and make it look exactly the same (or at least very close) when working in Rec.2020?

IMPORTANT NOTE:
The textures are in .dds BC3 DXT5 (to save Vram)… a 8 bit per channel format therefore.

Could you maybe provide some sample file and an exact list of steps you take?

Also forgive for naive question, but if the intent is to keep the exact look that you seem to be happy with, why change anything at all? Especially why change it in what seems to be the middle of a project?

Hello @MartinZ!
Thanks for the feedback :slightly_smiling_face:
I’ll divide my reply in 2 parts:


Part1:
I can’t share the file in question, but I can explain things better.

I haven’t done much yet …this is mostly experimentation.
I changed the color space to Rec.2020. Blender tries to compensate and keep things similar, but the result ends up with dull colors.

One thing I noticed is that if all textures are in 16-bit .TIFF, Blender converts between color spaces with almost no visible difference. Unfortunately, to save VRAM I’m using .dds BC3/DXT5 textures, and those convert terribly.

I suspect most of my issues are coming from the texture format, but I still don’t know what the best approach is to regain the original saturation and vibrance.


Part2:
The only reason I’m considering updating the color container is to help ensure the movie remains compatible with future TVs and display standards.
Right now it’s SDR only. From what I understand, that’s probably enough for DCP, Blu-ray, SDR TVs, and it will still play fine on HDR displays.

This is mostly about preservation. I want to keep the best master possible so that, 20 years from now, people might say:
“Hey, this was good stuff that nobody valued back then, but because he mastered it properly we can finally experience it at its full potential.”

:smile: something like that

It seems you are using a file format that is not very popular and so it’s possible that you may have discovered a bug. It’s hard to say. It’s unclear what you are doing exactly. Like for example, how and where you use Convert Color Space node in the compositor or why you mention switching the working space to Rec.2020 at the same time, because those will be 2 very different things. If you change the working space, that color space will be used for rendering calculations and you cannot do that in compositing. It’s unclear what you mean by

Open what, in what way? You mean rendered EXR sequence or that you use the sequencer in some other way? There are many ways to use it.

So I think sharing some example file would make the problem clearer. Not asking to share your production files…

Regarding the reasons, I don’t think it matters much. There is actually no way it would change much. It changes the correctness of semantics in rendering, because Rec.709 primaries are not well spectrally defined, but that’s about it. If you convert image textures that are in sRGB to Rec.2020 you are also converting to color space with different primaries - that process is not very precise. I would argue that you might be loosing data and introducing inaccuracies that way. Not that they would be perceivable. it probably doesn’t matter. Actually I would argue none of this matters at all. But what do I know?.. I would advice to consider if you actually have a good enough reason to do this. It’s not like it’s worse HDR if it’s in Rec.709 32bit per channel EXR format… I would say that’s very much HDR.

Now that might make a difference in my opinion. Way bigger than different working color space. But nobody talks about that… … and it’s not practical probably, there is that as well.

I’m forced to use .dds as I only have 16 GB of VRAM.

Using 16-bit textures pushes VRAM usage past 24 GB, and render times jump from about 1 minute per frame to 10 minutes per frame.
Even 8-bit .png textures still blow up the VRAM.

Every YouTuber I’ve found says that if you want HDR you need Rec.2020 so that’s not actually true? :face_with_raised_eyebrow:

But I genuinely want to learn the practical, no-BS version of this not just theory.
I’m very lost on this.

I can give you a demo file, just like a bug tracker thing containing a .dds texture.
Today I don’t have time but I’ll try upload one tomorrow.

No, it’s not entirely true in my view. HDR is HDR in whatever color space. Rec.2020 is for HDR though, so it’s not false either, but you should consider how it works practically as well. I know one thing for sure - you need HDR for HDR :laughing: and 8bit textures ain’t it. So… that’s one interesting thing a lot of people choose to ignore in my opinion.

Hello ! Here my 2 cents about the subject, even if as a good 3D generalist I’m no expert in any field :smiley:

From my understanding there are two ways you can benefit from Rec2020 :

1/ Is having that as a internal colorspace when rendering, you can learn more about it here : Will you use the new Rec.2020 working color space?
Should we do it ? : Well maybe ! This seems to let colors behave ̷b̷e̷t̷t̷e̷r̷ differently under very colored lighting. But in the meantime it doesn’t strikes as super different under regular conditions. So maybe not worth on a day by day basis…
I should probably experiment more… Anyway, while those calculations are in Rec2020 the result could be in Rec709 or not…

2/ Is having Rec2020 as your main colorspace when working !
Should we do it ? : Well again maybe ! But to make good use of that you need a monitor that allows to see the extreme saturation that Rec 2020 allows.
Again, that’s something I didn’t played with much. But in the meantime that de-saturation you’re experiencing could make sense :
Say you have a rec709 pure red (1,0,0) if you convert that to Rec2020 since it allows more saturated colors that red became less extreme, say (0.8,0.2,0.2)…
But under a proper monitor that red should be the same as when you had rec709. You can just have an actual 1,0,0 red next to that which is going to be even more saturated…

I think you shouldn’t worry about that, since all the produced TV content up to this day will need to be converted too. That’s probably something that is going to be very simple to do once Rec2020 monitors is going to be a norm.

Oh, Sozap, not you as well… Different. Not better. Better only in a way that it’s more semantically correct and so it makes more sense. Not in a perceivable way in this whole endless inaccurate mess of color in CG.

Hahahaha, please let me ENNJOOYYYY the HYPPPPPPEEEE !!
Anyway ok friend, let me correct that :smiley:

Yeah, sorry, I don’t want to be the enemy of fun. But… It’s complicated…

At a point in time I had all textures at 16 bit.
Eevee-Next then landed and suddenly drained Vram as if it was a sponge, so I was forced to use GPU friendly compressed textures .dds… on a .dds whatever size it occupies in disc it’s the same it uses in Vram.
A .TIFF 16 bit takes like 3 Mb in the Hard Drive and then in Vram is like 300 MB :laughing: (exagerating but yeah :slight_smile: )

In fact you’re right, it’s d͇i͇f͇f͇e͇r͇e͇n͇t͇ :slight_smile: better or worse is a bit too subjective and probably dependent on a practical use case !

But that whole situation does sound way more like you are adding something in terms of quality, doesn’t it? :smiley: It’s subtle still. I just think it makes sense to worry about that before worrying about changing to Rec.2020. To be clear - I have nothing too much against it, but if it presents issues like you observe here, I think it’s worth considering what it really adds. Which not that much when you really think about it. If you have a result in Rec.709 32bit format, you will be able to convert that to whatever color space you need as well. What does it matter where the conversion happens? Before rendering or after? This is way trickier question than it seems :laughing: But I mean it even thinking it all through.

It makes sense… indeed .
Thanks for your 2 cents! :slight_smile:

I’m using rec2020 for work and looks great!
But in this case I stumble in the opposite thing.

  • I started the file in rec2020
  • Made the scene with .tiff 16 bit textures, from textures.com
  • Again due hitting Vram limits converted all textures to .dds
  • Now everything is over saturated

:thinking:

This is where I started to feel that the issue is on the .dds.

I’m just looking for the peace of mind that I did everything as good as I possible could :slight_smile: Don’t want to look back and thing… I could have done this and that better.

But I’m pretty happy with the current look:

.dds is, unfortunately, the only current way to save Vram so that the project fits entirely in the available 16Gb… being the render times the only problem.

But yeah:

  • if you use .dds textures, start with rec709 and change to rec2020 everything gets washed up
  • If you start with rec2020, convert textures to .dds and everything gets over saturated.

Hum, what append here ? :


You should be able to tell what is your input so it remaps colors properly…

When the textures were .png or .tiff at 16 bit I had them as sRGB ( the color ones, the roughness, normals, etc and such as non-color)

When I converted them to .dds I kept all the same… they still are set as sRGB for color ones and non-color for all the others.

Hum, ok !
In the end, all your texture are srgb ? it’s just the blender scene that is rec2020 ?

Yes! Only changed the new thing here from rec709 to rec2020:
Captura de ecrã de 2026-02-06 11-32-02
All textures are and always were set up as sRGB

I cannot replicate the issue. Maybe there is some problem with the conversion process you use. Are you sure that DDS format really saves memory with Cycles? It’s not even listed as supported format. Have you tried using another format? Like maybe 8bit tiff? The amount of memory used by Cycles should be the same as far as I understand, unless i don’t know something about .dds support in Cycles.