Per texture datablock Color Spaces - breaking old shaders

Hi @brecht,

I opened a bug report but it’s not condsidered as it (see #73341 - Wrong Texture Color Space assigned when opening 2.79 into 2.8x - blender - Blender Projects), this happens from the “unified color space handling” diff.

My question is, since it breaks a lot of old shader setups, many bug reports appeared about the same topic, IMHO it’s quite a huge problem when it comes to open files prior to the unified color handling patch.
It means manually checking every material, texture node by texture node, to be sure everything is correct.

I was wondering if something could be done to address this. Perhaps when loading older file, every image texture node could be automatically converted to single user and then they respect the Color space assigned in previous versions??

I don’t know, just thinking out loud since it’s quite an hassle at the moment.

It’s rather complicated to make this work in general, automatically adding new (image) datablocks during file load. Someone could create a Python script to do help convert files, but I personally don’t have the time to work this.

I also have a problem when opening scenes from 2.79. All the Image Texture nodes are missing the “sRGB” setting in the Color Space field. So all the textures are washed out. You can imagine what a task it is to change all the nodes in a bigger scene.

The weird thing is, that this only happens when I have “Load UI” unchecked. When “Load UI” is checked, all Texture Image nodes have the “sRGB” value correctly assigned to them. Yet I sometimes don’t want to import my “old” UI in 2.82.

Any explanations or solutions for this?

I don’t expect “Load UI” to have any influence here, that can be reported as bug if you have an example .blend and steps. I couldn’t reproduce it here. It might depend on the specific startup file.