top of page

ACES in Octane for C4D (temporary work around until OCIO is supported)

Introduction


Hi all, this is just a little thread which I hope can help some Octane users and maybe spark a discussion that could lead to improving the technique I am currently using to use ACEScg in Octane for Cinema 4D. I’m sorry if I use the wrong jargon as this is all still a bit new to me.


Currently, octane does not have any form of OCIO support meaning we don’t natively have access to IDTs and ODTs. I have found a workaround but it is far from perfect so it is simply should be used to visualise what the render should look like in a compositing program. this method replicated the sRGB (ACES) odt also known as Output - sRGB. i’m in the process of making this possible for rec. 709 and DCI-P3.


The way we get around the lack of IDT is by pre converting all our textures / plates / IBLs into ACEScg so they have the AP1 Primaries when imported into Octane, rather than ingested with an IDT.


To get around the ODT issue, I have created a .cube LUT (the LUT format that octane supports) that imitates the sRGB (ACES) transform so the linear data is tone mapped in the live viewer in a similar way to the Output - sRGB ODT. The ODT is not perfect and does struggle in very extremely bright scenes but it is very rare in which that sort of situation would be required.


Octane Live Viewer (With LUT)



Nuke Viewer (With sRGB (ACES) view transform)



As you can see there is very little difference and although it is not perfect, it is certainly a lot closer than the default gamma 2.2 sRGB transform in Octane (below)



Once rendered out of octane as a linear exr, you can then import the render into your compositor as ACEScg (below)





Method


First you need to convert all your textures / plates / IBLs into ACEScg. you can do this in any compositor with OCIO support eg. Nuke, Fusion/Resolve and so on. I personally use this great tool by Mr Lixm. Its name your price and I couldn’t recommend it more. it can be found here: https://mrlixm.github.io/PYCO/standalone/ColorspaceConvert/home/



Once you have converted all the files to ACEScg, open up c4d and in the project settings tab, set the input colour profile to Linear.



Next open up the camera imager tab in the octane settings and set the response to Linear. Next tick the natural response box and set the gamma 1



Next go over to the Custom LUT tab in the Camera Imager panel, make sure the LUT strength is set to 1 and search for the LUT which can be downloaded here : https://drive.google.com/file/d/1szwsWKVytdK0p-mbm_KRwv0GuKBoqvZN/view?usp=sharing



Next go to the render settings and under Octane Render, set the Render Buffer Type to Float(Linear)



If you are using render passes then go to the render passes tab and make sure the Image color profile and the Tonemap type are set to linear



Once the render is complete, you should be able to bring the render into your compositing software as scene linear (ACEScg) and set the viewing transform to sRGB (ACES), in some packages this may be called Output - sRGB.



And that’s it!

Keep in mind, this is only a temporary solution until OCIO is implemented into Octane in a future release but I hope this is useful for the time being!

some bugs to keep in mind are that this goes affect the daylight system as they are using the standard bt. 709 primaries (used in rec. 709 and sRGB) not the AP1 Primaries causing issues.

Another issue is the colour picker is using the bt. 709 primaries too so accurate colour picking does not work. there are work around you can do but I have not had the time at the moment to do it so I encourage people to have a crack at it.

bottom of page