Hi, I’m new here, and I’m a beginner of ACES system.
I’m using ACES 1.2 (ACES OCIO) with Blender 3.6
I’m getting used to ACES system, and I have couple questions.
(1) I’m filming the actors via my Sony camera with slog2-sgmut.
And whenever I’m importing the actor’s video into ACES installed Blender,
I set the video’s [color-space : Input - Sony - S-Log2 - S-Gamut] in Blender.
And this is how we call ACES IDT I guess. But since there’s no ‘ODT’ in Blender 3.6,
I guess the Blender automatically changes the video’s slog2 format to ACES-cg system(Linear) as soon as I set the [color-space : Input - Sony - S-Log2 - S-Gamut].
Do I understand it correctly so far?
(2) I have my own lut for my slog2 videos (actor’s video).
So basically I’m using like Actor’s video = slog2 + my lut in Davinch Resolve.
But whenever I’m forcibly import my lut into ACES installed Blender, the color goes off.
Something like… red color over-boosted…etc
I believe it’s because the luts were made for sRGB/Rec709 based system which is un-linear.
So…is there any possible way that we can transfer the sRGB/Rec709 color-based Luts into ACES-cg linear system??
The ODT is set on the Render->Color Management tab. This should match the display you are working on, or better yet, match your target deliverable which you will also have your monitor calibrated to.
(View Transform)
The way I believe it works is that the OCIO config lists ACEScg as the ‘scene-linear’ role, thus this is the space Blender will render in.
A custom look for ACES is possible but the best way to do this would be to create the look in the ACES grading space ACEScct which would still be scene-referred. So Camera → ACEScct [create a look and bake LUT] → ODT. You’d use the ODT while grading but you wouldn’t bake it into the LUT.
Then in OCIO you could add it as a look with it’s process space being ACEScct to match the space it was graded in. This should give you the exact same result.
If you already have a look that is both creative but also converts the image from SLog2 to Rec.709 this becomes trickier but would still be possible. It’s just that since the look also bakes tone mapping for that particular display into the image, it’s not as clean as it could be anymore and you wouldn’t be able to effectively deliver for SDR+HDR for example.
The way to set it up would be to make sure the LUT is applied in it’s expected input space and the inverse of the ODT it ends up in should be applied afterwards. You can do this inside OCIO but a simpler way I can think of is to create a new LUT in Resolve.
Make sure in Resolve you have set LUT interpolation to Tetrahedral.
Set color management to DaVinciYRGB
Add a clip to the timeline and jump to the color page
Add a CST node with AP1/ACEScct to SLog2/Sgamut and set the rest to none/off except Chromatic Adaptaion
Add a node with your look LUT
Add an ACES Transform node with Rec.709 to ACEScct
Rightclick the clip on the colorpage and Generate LUT as 33 or 65 cube
Add the new LUT which now expects ACEScct as IN and goes ACEScct OUT to your OCIO looks with processing space ACEScct. Also make sure there LUT interpolation for it is set to tetrahedral.
ACES 1.2 is built different from ACES 1.3. The old config has all things defined as a color space. You’ll have to add the look category yourself. The color_timing, compositing_log and texture_paint roles (first section of the config) should also be set to ACES - ACEScct
This is what you’d add to the config. And the LUT’s filename can be changed to match yours ofcourse.
You can add the looks section right above the color spaces section so you can navigate to it fairly quickly.
Because I thought I need to change the video color from sony’s slog2-sgamut to Rec 709 by using My_Lut.cube due to my usual pattern in Davinch Resolve.
But you wrote simply process_space: color_timing
And it works better than my one. (there’s no red color over-boost)
The biggiest difference was like process_space: Input - Sony - S-Log2 - S-Gamut
VS process_space: color_timing
Then, what does it mean to be like process_space: Input - Sony - S-Log2 - S-Gamut ??
I’m on my phone now so not the prettiest reply sorry about that.
You had it correct. It’s called white point adaptation that should remain checked!
Default is the fallback colorspace if no other role condition is met I believe. And you may be correct that it’s the rendering role that decides the rendering space:) I’ve never tested changing this but sounds more sensible than the scenelinear role.
That is actually how you’d do it inside OCIO so it seems you already understood how that works! You may see a difference because the OCIOv1 ACES 1.2 config is LUT based so doing display inverses may be less accurate than making the sandwich inside Resolve and creating an ACEScct in/out LUT out of it.
Process space means that OCIO will convert to that space before it applies the defined operations such as loading the LUT. After all operations are done it will convert from that space back to the native config space ACES 2065-1.
Hm now that i look at it again. The second transform you did in the look shouldnt that be the other way around? Assuming your lut applies the look + converts the image to Rec709. You need to end up back in SLog2Sgamut within the look stack otherwise subsequent conversions will not be correct because your process space is SL2/SGmt
Only if I select [sRGB] in the View Transform It works.
If I select slog2_sgamut, then the color goes gray-ish even though I applied the luts in look
(BTW, I modified my OCIO to bring the slog2_sgamut into View Transform, due to it was defined in color-space in OCIO)
It is not really the intended way to use ACES. The view trasform is the ODT which should always define a display not a camera space. To be fair, you’re already “hacking” your way in ACES since you arent using the RRT to tonemap the image but rather use whatyou have baked in the LUT. But for pipeline clarity you need to keep it theway I suggested. You don’t need the slog in the views. Just your LUTas a look and the view set to match your display. Whether you do thatthrough my method creating an ACEScct version of the LUT or via the conversion stack method you showed me inside OCIO config, both are viable.
Thank you very much for the answer!
Ok so, summarize what you said.
Even though my luts were made for slog2 to rec709, I need to set the View Transform as sRGB, due to View Transform is not Camera Space
Before I go, I just want to make sure.
I’m importing actor video(slog2_sgamut), everything is transparent but the actor, in blender.
So blender’s shader tab, is it correct to change the video’s color-space as Input sony slog2 sgamut?
Then blender willl automatically change slog2 video → ACES , right?
So I can blend its color with other objects in the scene,
Cause now everything of the scene, include the actor video, unified into ACES color system.
And if I add lut into Look, then it adds my lut’s color in my blender’s one. But eventually convert it to sRGB as long as I set the View Transform: sRGB
( ACES + Lut → Convert to sRGB)
So basically it’s the same color as in Davinch Resolve apply the same lut.
Did I understand it correctly?
That sounds about right yes:)
It’s always good to check and verify all in/out works as you expect it to between Blender, Resolve and also going in to post after making EXR renders.