Howdy all, I was wondering if there are docs/tutorials about how to build and test ACES/OCIO transforms. For example, say I wanted to create a new input transform that has a set of contrast/saturation/etc adjustments baked in. How would I get that into a LUT and how would I stress test it to make sure it works in all scenarios? Thanks!
I’m guessing you mean for an Output Transform, rather than an Input Transform? The workflow is Input Transform (IDT) brings you into ACES scene-linear space, then you do your Look Transform (LMT) in that scene-linear space, then you have your Output Transform (ODT) for whatever your targeted viewing device is. The contrast/saturation/etc. adjustments would go on the LMT.
What’s cool about OCIOv2 is that you don’t necessarily have to do this with LUTs, but can use analytical transforms built into v2 like the
<ExposureContrastTransform> or the
<CDLTransform>. You can test these out with parallel functions in Nuke and then put them into your config. Checkout the docs on Transforms for all the possibilities.
If you do have to create a LUT you can do that from Nuke. I can give you a template file to do that if you want. Luts need to be in 0-1 range so you need to bake in a “shaper” in Nuke. You basically have to do an inverse log transform, then do your grading operations, then a log transform, then write the LUT into .cube format.
I suppose I should have asked this at the start, but what is your aim with all this? Are you wanting to be able to read in clients LUTs and CDLs? Are you wanting to have different view transforms for in house show looks? Or are you just getting your feet wet experimenting?
Thanks! And sorry for the imprecise terminology, I’ve still got a lot to learn.
This is just for my own education, I find that digging around in the workings of things helps me learn. In this case, I was thinking that the default ACES Utility - sRGB - texture brings images in a bit dark (which I gather is intended) and so it would be interesting to make my own version.
The OCIOv2 built in transform functions look excellent, I’ll definitely play around with that. For OCIOv1 the only way to accomplish the same thing is to make a LUT? Your Nuke template would be appreciated!
Ah yes, I’ve definitely been there! I have many a thread on Acescentral about trying to do exactly that, and have learned a ton from @Thomas_Mansencal about this, who helped steer me to the right path :). So let me share a bit about what I’ve learned…
First of all, it’s important to clarify that we are talking about using the ACES Utility - sRGB - texture to read in texture maps, as opposed to using it to read in images in Nuke.
Second, a big part of the “darker” I’ve found is viewing with the wrong ODT for my monitor. I was using the sRGB ODT which can crush the shadows in an image. I’d instead recommend using the Gamma 2.2 ODT for a computer monitor. That changed my world.
Finally, ideally you want to be always viewing your textures in an ACES environment. So you paint the textures in say Mari or Substance Painter using the OCIO config, then bring them into Maya using that same OCIO. That way WYSIWYG and you can adjust the textures in your paint package to look as bright as you want. I’d adjust the texture maps, rather than adjusting ACES.
All that said, I’m a big fan of learning through experimentation! I learn so much more from what I would later think of as a “mistake” so, I wouldn’t want to stop you from that learning process!
Thanks for the info! I’m going to try Gamma 2.2 soon.
Ha, yep, “mistakes” are good teachers. I did manage to create a LUT the other day and load it via an OCIO transform, so that’s something. Not sure what, but definitely something.