ACES & Photoshop friendly workflows

Tags: #<Tag:0x00007fa8fd8db0f0> #<Tag:0x00007fa8fd8dab78> #<Tag:0x00007fa8fd8da830>

Thanks Alex, I hope this thread can lend some clarity to the workflow.
I was the DMP lead working with Alex during the implementation of this display referred workflow and I must say at first I was extremely nervous. “What about the golden rule about never adjusting the pixels?” I bleated. ‘Baking in’ the transforms seemed heavy handed and…barbaric!
My fears were put to rest however once we got the round trip working and it became obvious there was a 1-1 colour match. The 16 stop limitation was not a problem, giving more than enough perceptual range…any very bright shots could be stopped down in nuke before export and then popped back after the round trip as we would normally anyway.
Photoshop works as if you are working in Srgb, colour swatches are normalised, incoming images can be converted on the fly, images are converted confidently.
The bonus was, the display referred .icc profile, once installed meant that all of my other software could display it as well. I used it to write out from Lightroom, you could view the images as you would any srgb image in Bridge, ACES became invisible.

That being said, having left the security of my former employment, I will be back with some forehead slapping questions as to how to set this up!

The whole thing sounds like an interesting way to do matte painting, etc. I’m not really happy with the ‘log’ approach yet. So having some kind of display refered working space for PS would be nice to test.

Stupid question: how would I ‘convert’ the CTL code to something I could embed into a customized ACES config? I’m not that much into the development side of ACES/OCIO but would really like to test this workflow.

Thanks, Abraham

Hey Abraham

You should be able to add them to the aces ctl directory structure, then bake a new OCIO config using the generation scripts found in the python folders in HP’s github:

I’m curious about this approach, but the downloads do not appear to be working. Are you still working this way? Would it be possible to upload them somewhere else?

Another thought. Have you had any issues with recombining the layers to match what you see in PS? If PS is merging in your custom gamma 2.6 space, how do you get the same results in Nuke merging in linear space?

Hi there, just wanted to share with you an ACES workflow we came with at ENSI school in France.

You will need two plug-ins to make it work:

OCIO for photshop

1- In Guerilla, we do an ACEScg render of a skylight. (viewer in REC.709 ACES)

2- Then you import this ACEScg exr linear render in Photoshop:
This box will show up if you have installed the plug-in exr-io. Just click ‘open’.

3- The render will show like this, due to srgb icc profile in photoshop.

4- Then we apply an ACEScg Ocio profile to the render with the ocio plugin.
It will look like this:

5- Then we convert the render to 16bits. So ,we can paint and have access to paint tools.
The render should not change at all.

6- After this, I will create a ‘levels’ adjustment layer with 0,45 value to undo the srgb icc profile of Photoshop.

The render looks exactly like in Guerilla (except to the slight difference between srgb icc and gamma correction)

7- Then we save the exr file with exr-io.

8- Finally we can import it in Nuke as ‘Output - Rec.709’ to make it match the ACEScg exr render originally from Guerilla.

9- You will just need to write as an ACEScg exr to finish the workflow and use the exr as an envlight.

I hope that makes sense and I would be curious to know what you guys think about this setup.

Many thanks,

Chris and Quentin

1 Like

I may be misunderstanding, but it seems like a rather roundabout way of simply baking in a Rec.709 Output Transform into the image, and then inverting it out when you get back to Nuke.

It’s similar in principle to @alexfry’s method at the start of this thread, but involves more steps, and is potentially more lossy as it uses a standard Output Transform, targeting the narrow Rec.709 gamut, where Alex’s method uses a custom wider gamut OT tailored to the needs of the process. Also, your method requires Photoshop to have two extra plugins installed, but with Alex’s method, once the image has been tagged with the custom ICC profile it can be opened in any copy of Photoshop, or any other ICC aware application.

I hope I don’t sound too negative, and maybe I’ve misunderstood what you are doing.

1 Like

Not at all Nick! Thanks for your comment! :grinning: I have to say I don’t have the technical knowledge to replicate Alex’s workflow. This is why we came this solution as it is less technical (if that makes sense). I have never created a custom ODT nor created a synthetic ICC profile unfortunately… :disappointed_relieved: Thanks for your insight!

Hi Chris

Using your workflow are you not able to have your DMP photoshop artists work directly in 32float linear space instead of 16b? Will it break something?

Meilleurs voeux!


Vincent Thomas (VFX and Art since 1998)
Senior Env artist & Lighting & MattePainter & Creative Concepts

Hi Alex,

Can you please post those files again, it seems like those files are unavailable to download. I am really curious to test this workflow.

Also, I came across thistalk by Marie Fetiveau at ACES where you were also present in the panel. I am wondering whether Rodeo is using the same method? if not, can you please explain the difference.


Hello Vincent, I am no Photoshop expert but working in 32 float in Photoshop won’t give you access to many tools apparently. All the best!

Hi Nick

Look like the Alex ICC profile isn’t available anymore, which look to be the best photoshop’s ACES workflow. Is it still available somewhere and if not why?

  • I’m confused and uncertain what would be also the proper workflow if i pre-bake the conversion into an ACEScg EXR file?

  • Im not that ease in that kind of operation, how could i pre-bake a folder/batch convert a serie of images into ACEScg EXR files?

Cheers everyone for your help



No idea why the link went dead, try this new URL:

Thanks you so much Alex :slight_smile:

I spent an embarrasingly long time trying to get aces to build from the ctl code so I could test this workflow out.

It’s pretty cool and works really well!

I’m uploading the spi3d luts here in case anyone else wants to try them out.

1 Like

Thanks Jed ! I wanted to post a bit more about the log workflow Alex mentioned in his first post. I understand it is not as Photoshop friendly as an ICC profile but I know it would be helpful to some artists and students. We will start this workflow in Nuke and then move to Photoshop.

  1. First, we will set Nuke in ACES.

  2. Let’s read an ACEScg render in Nuke.

  3. Let’s write it as a 16 bits tiff in ACEScct. (It could be ACEScc, based on your preferences. Have a look at this post if you want to know more on the topic)

  4. We can read our output to make sure it matches our render.

  5. We can now open this tif file in Photoshop. I recommend a recent version of Photoshop like CC because we had some issues with CS6. The image looks grayish wich is normal since its transfer function is now logarithmic.

  6. We can now create a Colour Lookup Layer in Photoshop to load a csp file for display. This csp file needs to be set on your Display Transform. In our case, it is P3D65 (ACES). But it could be Rec. 709 (ACES) or sRGB (ACES) for example.

  7. Thanks to the csp file the tif now matches what we had in Nuke but within a 0-1 range which is perfect to paint in Photoshop.

  8. You can save a 16bit tif from Photoshop after disabling the Colour Lookup Layer and go back to Nuke.

I know it is not a perfect workflow but I think it is an easy workaround for artists who are not familiar with ICC profiles like myself. :wink:

Thanks !

So, for the artist they just load this icc file and do everything else like usual?

Our artist do mattepainting and drawing in 8bit mode and then export as texture

In the workflow I am describing, we do not use any ICC profile. We use a csp lut.
We work in 16 bits to have a better range, I would avoid working in 8 bits for matte-painting.
Hope that helps,

Brilliant usage of CSP LUTs.
Unfortunately there is a fundamental thing in your color pipeline that doesn’t really make it an ACES worfklow at all. but you may be able to tune it in to fit.

When you render files out in an ACES colorimetry, you need to stick with ACES2065-1 (AP0). Files can’t be rendered out in ACEScc/cct/cg. Also, they should be saved in uncompressed OpenEXR files (which Photoshop digests very well btw).
Therefore your workflow might go from rendering out ACES2065-1 EXRs out of NUKE and importing them in Photoshop (which handles ACES2065-1 colorspace gracefully)

As additional suggestion: when setting an ACES pipeline in NUKE, you might find beneficial to have ACEScg as working space (but always save ACES plates in ACES2065-1). Then, Photoshop’s “Edit > Color Settings…” and “Edit > Assign Profile…” parameters allow for specifying an output profile in any output-device colorspace you want.
If this doesn’t work, using a CSP LUT like you did is okay, but the LUT should go from ACES2065-1 to the output device of your choice.

That said, Photoshop is still not a “logoed” product; indeed there may still be some subtelties in using it for an ACES workflow (like color-picking and using color palettes).

1 Like

Hi everyone,sorry i’m not a technical guy, i’m still not clear how to matte painting in aces then export as texture in 3d application

  1. i load an acescg exr to ps and apply the icc profile from alex to the exr, the color match to the nuke

  2. what is the step to create mattepainting in aces from scatch ? 8/16bit? and whats the colorspace it should be when it export as texture?