We are typically using your fantastic AGX ToneMapping instead of ACES for almost everything these days, from this method, as it seems to have a much more pleasant and predicable rolloff for the highlights while preserving contrast and colour. The issue weâre facing is that it doesnât seem to work properly with ToneMapControl when you set it to not affect the map. It seems to affect the exposure and crush certain tones and mess around with the contrast. I see thereâs a warning for this on the corona website âWhile the Corona Tonemap Control Map works fine most of the time, there are some special cases where it may fail, for example: using some LUTs, using extreme tone mapping operator values, setting the Contrast value to zero.â
Is there any workaround for this to get 1:1 result with the underlying map, like we get with ACES workflow?
Is there a simplified single-LUT version of this we can use, which may or may not help?
Some notes:
corona 11 HF 2, max 2024
base map is an SRGB photo loaded into coronabitmaploader, zero colourcorrection, just the pure map
itâs then piped into tonemapcontrol with all the checkboxes disabled
using AGX workflow method from here: https://forum.corona-renderer.com/AgX in Corona - it results in 2 x LUTS being loaded into the coronacamera tonemapoverride. Itâs the second (lower) of the two LUTs thatâs breaking things (or rather being broken by the tonemapcontrol). And I believe we have the correct Logarithmic settings
contrast is at 1.0, or 1.5 it doesnât matter (but itâs not at 0.0 FYI, which we know can break things)
weâre aware of the IR tone mapping bug where you need to re-start the IR each time you affect things like exposure, tone mapping, LUTS etc. which weâve done, so this isnât the issue (although devs, any news on a fix for this? itâs very annoying and easy to forget!). It happens also in production rendering.
skip the Corona Tonemap Control and just transform the backplate into your rendering space, linear rec709 in this case.
for this you need to reverse the AgX Punchy display transform. lin rec709 backplate will get back to AgX Punchy via frame buffer corrections. if you need to colour correct the backplate in Max do it in lin rec709 so its nice and tidy.
attached screenshot shows conversion done with VRayOCIO node, you can do this with Affinity/Photoshop/whatever else. 3dsMax 2024 setup with this AgX OCIO file should be able to convert it too.
there will be slight differences as luts I made ale limited in precision by Coronaâs cineon log conversion in lut layer.
you can actually also try these luts. made for Vantage so you will always end up with transfer function difference srgb vs 2.2.
I also never tested Coronaâs linear option in lut layer so no guaranties.
instead of log - use Reinhard curve (h compression 999 in Corona) - should be more precise compared to old double lut setup. 06_AgX-Punchy_gamma22.3dl (5.24 MB) 06_AgX-Punchy_rec1886.3dl (5.24 MB) 06_AgX-Punchy_srgb.3dl (5.24 MB)
I recently discovered this AgX thing and have tried using the highlight compress 999.0 method along with the 06_AgX-Punchy_srgb.3dl.
The results are incredible!
it is a total game changer. I didnât realise how much I needed this until I tried it.
Canât believe corona doesnât have this natively yet.
Thank you very much for sharing this.
I understand the previous method involved a double LUT setup and you mentioned this current approach is more precise.
Out of curiosity, have you updated the workflow again since your last post? Also, I have been using the punchy version you shared, but I was wondering if you also have the AgX base model available for this setup?
no updates as OCIO is fairly well supported across the board now. 06_AgX-Punchy_srgb.3dl comes from a lut pack made for Vantage before OCIO support - AgX Base Contrast was never a part of it as it was not a âdisplay/deliver readyâ view transform (it did not make much sense for Vantage to include it).
please keep in mind that using a view transform like this original AgX form pretty much limits you to rec 709 displays (srgb) - original AgX achieves âceluloid film-likeâ desaturation of highlights by clipping the most saturated parts of rec709 colour space but real life colours are much more âcolourfulâ than rec709/srgb. in 2026 you should be able to create images in P3 colour space - already a standard for phones and tvs I would argue. even Instagram is hdr P3.
attached below is a screenshot showing how much is lost buy rendering and displaying in rec709/srgb - a few years old iphone capturing a scene in rec2020 colour space (just tiny bit narrower than ACEScg). nothing special - not laser swords but peppers and legos - notice how much of it is lost in âsrgb workflowâ:
Hey, thanks for your reply!
I didnât know anything about color management before this, so Iâm trying to wrap my head around it. my max workflow has always been on gamma2.2 until today.
I tried setting up Sobotkaâs AgX in max (v2026) with corona (v14), but I canât seem to get it right. Iâm getting terrible results with crushed blacks and blownout highlights at the same time. vanilla acescg seems to work, because it looks just like gamma 2.2 +aces ot setup, which I donât like.
I have no clues on how to get that AgX film-like look without breaking the corona VFB output. Any specific settings you recommend?
Catching up on this as itâs been a while. Is that (or is there) the latest single-LUT AGX setup available for both max/corona and also for Vantage, by any chance? Trying to get parity between the two, and via a single LUT setup.
yes, this would be 06_AgX-Punchy_srgb.3dl (if you are using this lut in Corona you need to add gamma 2.2 to sRGB curve transform at the end to match Vantage or Max with this ocio config: Alternative OCIO config for 3dsMax and Maya (lite))
full Vantage lut pack here:
(as a product most likely obsolete - Vantage supports OCIO for some time now)
suggested way forward for all those using original AgX view transform (as at some point you will need to output to displays with more colours than srgb and this is impossible with original AgX):
single lut for use with linear rec709 renders with full highlight compression, output of the lut is gamma 2.2 rec709 display hence gamma operator at the end to counter frame bufferâs 2.2 view lut (also easier to use in other software).
some comparisons (with Colorful look from OpenDRT Resolve DCLT) - in original AgX saturated colours might appear a bit too bright, to the point of being quite âdigitalâ looking:
I came across your OCIO post on the chaos forum and iâve been testing it lately with lovely results. Do you have a similar post in the corona forum?
It has paired great with real RGB values, I love the color representation and how light tends to look. As of now my only problem has been the color temperature in the corona lights but is easy to workaround by using the direct input and there just use the corona color picker temperature slider.
Hey @piotrus3333 this OpenDRT approximation tonemapper is incredible! Our renders are just so much more realistic. Lights fall-off feels very natural.
Only improvement I can suggest is that weâd like to use the full available power of AcesCG rendering color space. For mirrors, refractions, sunsets and delivering professional P3 files on OLED displays it makes quite a difference!
Is there any possibility to enlighten the community with the generation of a .3dl file for this wider gamut?
This would be definitely the new gold standard in Archviz. For rec.709 it already totally replaced 3dsmax and corona output display transforms.
to output ACEScg colours from Corona you need to create and use your own ocio config for 3dsMax - with all the display transforms, looks and luts you are using.
the sample OpenDRT-based lut is only for legacy gamma 2.2 3dsMax scenes.
free version of Resolve (Fusion page) is enough for creating luts.