-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filmic LUT for Resolve #40
Comments
Your issue is due to the fact that Resolve uses a proprietary approach to colour management instead of OCIO or the like. It also began life as a display referred application, and as such, scene referred EXRs require careful handling. I would encourage you to avoid canned all-in-one transforms and instead simply convert the transforms for use in Resolve, which requires nothing more than duplicating values in a spreadsheet and changing the headers accordingly. You will need a shaper transform to take the scene referred EXR data to the Filmic log base encode at the very start of your transform. This is essentially a normalized log2 conversion that covers the appropriate range as per the AllocationTransforms in the configuration. For simplicity, start by importing 16 bit log encoded TIFFs, and applying the Filmic contrast (converted to dot cube) of your choosing. Once you have that working (same approach the institute used on Agent) you can branch out to more complex approaches involving EXRs and an appropriate shaper. |
Thanks for the speedy reply Troy - I'll give log tiffs a shot! |
Happy to help you get the full set converted. It is pretty trivial. Here is a sample of the Base contrast to deliver perfect 1:1 based off of the Filmic log encoding base. The next, yet untitled version of Filmic will likely have a full Resolve compatible set of cube files. Until then, converting the transforms is going to be the most ideal approach. Let me know how it goes. Closing for now. |
Thanks - this worked well and converting the other looks was indeed trivial! Useful to note if anybody else comes across this thread; the stock Blender colour config needs to be tweaked to expose the Filmic Log colorspace ("Filmic/None" is actually "Filmic sRGB"):
I am keen to explore the EXR pipeline further, could you provide some quick pointers for how best to accomplish this? |
It would actually be equally trivial now that you understand the issue. The key point is that the EXRs are scene referred data extending from zero to infinity. In order to take this into the display referred range, you need to shape the data to it. In the case of the Filmic Base log, it is simply a log2 series of values normalized to 0.0 to 1.0, covering the Filmic range. If you examine the configuration, you will see that the actual transform from scene referred values is three steps:
To achieve this in Resolve, you would require the two AllocationTransform's as a 1D LUT and properly convert the 3D LUT for desaturation to the cube format. I will post the appropriate demonstration when I have some time. |
@rock7-dan I've included a new sheet in the Google Docs spreadsheet that covers the desaturation Filmic Log to Linear transform. In theory, this, coupled with a purely linear 4096 entry LUT that includes a The proper flow would be:
In theory this should yield a perfect 1:1 with the output from Blender proper from an EXR. Again, I haven't had time to actually put this together and test it, so I am hoping you or someone else might be able to. I've included the scaling LUT as well as the desaturation LUT in the Google Sheet linked previously, as well as the Filmic Base Log Encoding should it be useful. The Filmic Base Log Encoding isn't required for the above transform chain. You can find all of the LUTs in the workbook above, in the various sheets located at the bottom of it. Hope this helps. |
Any updates on this? (its a pretty old thread ;) I am trying to get filmic blender to work in Flame, and while it takes the look and desat shaper Luts just fine, I can´t figure out how to do the proper lin->log transform to match 1:1 . |
What LUT formats are supported under Flame in 2019? Is there a pure log node? |
Sp1d works so does 3dl , I actually JUST this minute gotten it to work , with the google sheet data and applying it in reverse. it matches Nuke almost 100% . |
The only tricky part would be the two step with the desaturation in the middle. The log is a simple log2, with no linear / offset / break point. You need to place the 3D LUT in after the first log transform, then perform the scale down to the smaller range, which is a simple uniform scaling. I’ll try to take a peek this weekend if I can find time. I don’t have Flame around, however. |
Desat lut actually works fine as far as I can tell. (see flame /batch node tree) The default lin2log in flame actually isnt log2 and there is no way of changing it as far as I know. |
1:1 should be possible via a simple 1D, 3D, then matrix for the scale. |
Yea thats exactly what ive been doing its just the first 1D doesnt match the nuke lin->log 1:1, but almost , I actually think the difference is in the internal math of each software, I am using a crazy testpattern thats a very edge-case. |
I can do up the two logs to lin pretty easily. Just need a moment on the weekend... |
very cool, send it over and I can test it in Flame asap. |
I still intend to generate the LUTs, but a wise mind I know suggested to use the change of base formula if you have natural log or log10; |
Apologies for the delays here. I'm going to try and dig into this today. For posterity sake, attaching a useful link to Resolve's Cube LUT format, which includes combined 1D shapers with 3D LUTs. |
Hi James, |
It can be used on any system that supports OpenColorIO. |
I am having some trouble replicating the transform for use in Resolve - i've converted the filmic configuration using ociobakelut and imported it into Resolve; however when applying the LUT the image (32bit EXR) it appears clipped loosing all of the detail in the highlights.
Resolve Colour Space is set to Rec.709 Gamma 2.2 - any ideas?
The text was updated successfully, but these errors were encountered: