3ds max 2024 OCIO - Automatic colorspace assignment

Yes, we have gotten all that, ty, and it’s the way it will work when the defaults will be changed.

Yet, the script’s been available for ages to non coders, and made absolutely no impact: if one’s not prepared to make rational choices around a pipeline, and keeps chasing half-baked solutions (like my script, or any other such “automatic” approach. You’re likely too young to remember the dreadful LWF checkbox. So we’re having the same debate, fifteen years on.), one will soon run out of luck.

I utterly resist this wish for ungainly approaches you and a few other express: i can’t fathom why one would want all their material converted at once, nor why one would need to restore old stuff and convert it to ACES on a whim, *whitout* being willing to work on the conversion itself.

All conversions can be non-destructive, and progressive, and for *all* their steps there are free tools around (mass renamers, bitmap relinkers, the whole lot.).
Converted material ought to be a *copy* of the original anyway, as it’s wise and often not optional (because time passes and versions diverge.).
Nor can i see why a run-of-the-mill texture renaming and relinking would turn into a “big burden” for an accomplished artist or studio.

Besides, you can’t just switch primaries to ACES and call it converted, even if the source textures were considers to be in sRGB (and you ought to know this well, which makes your apparent affection for one-click solutions overly baffling.) so the little steps involved in reformatting and relinking the incoming material is exceptionally minor compared to the rest of a color space conversion for thirdly-approved renderings (as opposed as random play and ideal scenarios which have no bearing on reality.).

Reformatting that you’ll need *regardless* of how we’ll treat primaries, thanks to the per-format rules in max 2024 (OP.).
That, or manual setting of colorspace per map (which is only made marginally easier using the max bitmap loaders, for max 2024).
At which point changing manually the other dropdown for primaries looks like a very minor issue, given automation isn’t possible, or it’s plain wrong in results.

The elephant in the room, in other words, ain’t disappearing once primaries for unknown-encoding source textures are defaulting to sRGB.
If i were still an artist willing to work under ACES primaries as a matter of course, by now i’d have a well established set of tools to take me there, instead of waiting for one or the other software vendor to carry me every step of the way to my destination: we can’t, and won’t (forcing a sRGB default *will* produce wrong results if the texture was encoded in ACES. And there is no way to know if it is. The *user* needs to know and keep track of it.).
Max 2024 adds parts we couldn’t do ourselves (f.e. the color management across the whole application.).
We’ll make a few minor changes to the pipeline (f.e. the very same the script already implemented, but in code.), and that will be largely it.

Texture file proper naming is a thing that’s been around since the birth of 3d, and is here to stay: we -and you with us- have no (better) choice about it.

Sounds great!
As for the rest I guess you missunderstood: I don’t think I said this is a one-click solution to a complex issue. It would be just an option to give the user additional choice.

Wow. I am so sorry if you interpreted it that way. It was not meant in any way to insinuate laziness. The point was that it should be relatively easy to change, and not take many resources, which we know are of course finite. We get it-- every small change has overhead and slows down the implementation of new features, etc.

It was a decision that was obviously made for a reason. It just seems that most users disagree with the decision (at least those posting here). Sure, there are many ways to handle this on our end. Like any problem, there are multiple solutions. It just seems that the users posting here and Chaos disagree on the ideal solution.

Note that users’ resources are also finite, and although solutions exist for things that doesn’t always mean that we will have the time and resources to implement and test them. We hardly have time to upgrade things here.

I prefer Jonas’ solution of a setting to let the user decide with a popup or similar.

The current defaults are used by users as they should be used right now.
Changing so that non-tagged textures default to sRGB would break their workflow, for which they spent resources converting textures to ACES encoding, and that’d be terribly unfair to them.
Currently there is no feature being impaired by this workflow, and so the resistance is quite motivated on our side.
We like to think we care for all the best we can.

btw, all it takes is a one-liner:
either
for m in getClassInstances vrayBitmap do m.rgbColorSpace = 1 --sRGB
or
for m in getClassInstances vrayBitmap do m.rgbColorSpace = 2 --ACEScg
​
The same would go for colors, but that’s a non-issue, i assume.

Not sure how many users are relying upon the current default behavior.​ I mean how many people have untagged ACES textures? That would be silly, since they would be new assets that you might as well tag, and pretty much every other program will treat an untagged asset as sRGB-- as it should. I would bet a very large sum that most people’s untagged textures are sRGB…

Jonas’ solution would not break anything for anyone. Granted, it is slightly harder to do.

Maybe you could read it form an environment variable?

The script solution works, but you still have to remember to change it every time you add a bitmap, rather than having it behave the way to vast majority of the users would like it to.

I don’t want to argue further on the value of something like Jonas’ solution. If that is not the obvious solution then no amount of back and forth is going to change your opinion.

OT- This whole discussion is triggering in me a recall of a rather tedious discussion on the Adobe forum of how Photoshop was handling EXR alphas back in 2009: https://community.adobe.com/t5/photo…d/td-p/1520950. Basically, Photoshop was forcing (is still forcing? - I can’t recall if I’m still using the ProEXR plugin or not at this point) any non-white alpha values to true transparency (checkerboard) and nuking anything in the RGB channels. It’s a very interesting read if you have the time and does explain an awful lot for better or worse. Granted, nothing here comes close to the level of pedantry and derision that were displayed there but still akin to the “you’re using it wrong” and “that’s what the spec says”. Really, the discussion here is WAAYY more civilized so don’t think I’m conflating the two. We just want the tools to be as user-friendly and seamless as possible.

That was an epic one, thanks for retrieving it.
We’re sadly under very different conditions, wish it was obstinacy holding us back.
Sadly, it’s the ACES approach that is hobbling us: not having a way to figure out an input’s encoding is a major, major issue that “defaults” aren’t ever going to fix.
Resisting simplistic approaches in the name of catering for all of our users’ needs is a very thin line to walk, but one we can’t avoid walking.

Hi,
so just coming back to the original question: Does the colormanagement in 2024 change anything for the V-Ray workflow in regards to VRayBitmaps as of now?

So if I understand correctly then in the colormanagement for 2024 there are the “Automatic Color Space Assignment Rules” where for example .jpg is automatically assumed to be sRGB.
In V-Ray that, at least from my testing, doesn’t seem to be respected and in the VRayBitmap I would still have to manually select sRGB in the RGBPrimaries for my diffuse textures (- assuming they are in sRGB and no nametag is in place)

So from what I can tell the colormanagement in 2024 for V-Ray just sets the OCIO file automatically in the VFB but everything else is the same as in other 3ds Max versions (- apart from the new colorpicker)?
Or am I missing something?

There are a few aspects to this.

a) Enable OCIO in the Max Color Management (using the gamma workflow will *not* enable the new Max features.)
b) Rendering Color Space in the Max Color Management will now override V-Ray’s in the render settings.
c) The V-Ray bitmap loader’s RGB color space parameters set to “Default” will obey Max’s Color Management Choices.

Ok strange, for me I still get very oversaturated colors when having the RGB primaries set to Default in the VRayBitmap and only if I manually set it to sRGB then it seems correct. There is for me no difference if I use the (3ds Max OCIO Colormanagement) OR (3ds Max Gamma Workflow + Setting up ACEScg in VRay Rendersettings as before).
If I understood correctly then when using the 3ds Max Colormanagement it could be left to Default as it should obay Max’s Color Management Choice.

Have you got a stable build installed?
It works perfectly fine for me with the latest.

EDIT: the oversaturation may be due to how the material editor is set up: with aces, you get the aces ODT in there by default, so, more contrast.

Yeah, I got V-Ray 6 Update 1.1 (6.10.06 build 00000) that should be the one from the official download section.
Strange, I also had the feeling it was working earlier, but then I switched back and forth manually between the (3dsMax Colormanagement) and the (3ds Max Gamma Workflow + Manual ACEScg in V-Ray) a couple of times and now I get identical results even my VRayBitmaps are set to Default and I use an sRGB .jpg in the diffuse. In both cases I have to manually set the Primaries to sRGB.
I will check a bit more and maybe post some example image if I don’t manage to find whats wrong. Just wanted to clarify if the 3dsMax Colormangement SHOULD in theory also influence the VRayBitmaps behavior. :slight_smile:

Insofar as choosing the expected RGB primaries for the loaded map, yes, it most definitely does (with the caveat of having to set Max up properly).
For the Color Space Transfer Function (i.e. the gamma), only if it’s set to “from 3ds Max” (notice that this, in general, will always apply an sRGB/2.2 inverse gamma to incoming LDR maps. be wary.)

I don’t…I hated that discussion in a lot of ways. At the time I remember thinking that this was exactly the opposite of the response we’d get from Chaos.

There is no difference currently about untagged images, be it under max or v-ray’s dominion.
It looks like that texture’s being misinterpreted (assumed to be ACES but being sRGB) in both cases.

I remember thinking just the same at the time, i was at Mackevision in Stuttgart when I read it.
I meant my sentence as a hyperbole: if it only were obstinacy, we could fix it easily. :smile:

Ok, I’m really confused now as this seems to me not really consistent to what you said before. Why would it matter if its tagged or not. If its not tagged V-Ray will always assume it to be in the the colorspace that is selected in the renderglobals.
So if I use 3ds Max Gamma + ACEScg in the VRay settings then it should always assume the jpg is in ACEScg, UNLESS it’s tagged.
While in 3ds Max OCIO Color Management it should assume the jpg is in sRGB as defined in the Colorspace Assignment Rules.

So in this case it should give 2 different results. But it seems in both cases the jpg is assumed to be ACEScg. So the conclusion would be that V-Ray doesn’t respect the Color Space Assignment Rules from 3ds Max

You are confused. :slight_smile:
Gamma != color primaries.
Max does nothing about those to bitmaps.

Ok, right here I should probably give up on trying to understand what you want to say with these cryptic replies that don’t seem to have anything to do with what I want to know :slight_smile:

Those were fun times! Still remember sharing the office with you for a few weeks, learned quite a lot!