-1

I want to implement something like "Filmic Blender" in GLSL. Thus I need the LUT and/or transfer functions in human readable format. Where can I find this.

Update:

I have found that there are two sets of LUT:s. RGB to RGB mapping (I will use desat65cube.spi3d), and a 1d mapping for controlling contrast. New questions:

  1. How are input values (those that comes from the lighting algorithm) mapped to the range [0, 64]
  2. When is the contrast control applied
  3. How does the exposure control work
user877329
  • 1,378
  • 3
  • 14
  • 30
  • I suggest you message Troy_S, he is the one that created it. – icYou520 Aug 22 '17 at 18:02
  • @icYou520 How can I reach him? – user877329 Aug 22 '17 at 18:16
  • Hi @Troy_S, here is a question that needs your help. – cgslav Aug 22 '17 at 18:43
  • 1
    That will do it, also you have sources for Filmic on Troys Github: https://github.com/sobotka/filmic-blender – cgslav Aug 22 '17 at 18:44
  • How do I read an spi3d file? – user877329 Aug 22 '17 at 18:47
  • Just open the color management folder. The config.ocio details all of the transforms. The LUTs are within the filmic and luts folder. All of them are text files that you can open with any text editor. –  Aug 23 '17 at 03:22
  • 1
    related: https://blender.stackexchange.com/questions/65948/how-to-make-3d-luts-and-use-them-in-blender –  Aug 23 '17 at 03:30
  • please read: https://blender.stackexchange.com/questions/46825/render-with-a-wider-dynamic-range-in-cycles-to-produce-photorealistic-looking-im –  Aug 23 '17 at 18:19

1 Answers1

1

This question now has an answer on GitHub. To conclude, the algorithm (in pseudocode) is basically

x <- log2(shader_output)
x <- desaturate( x )
return aesthetic_curve( x )
user877329
  • 1,378
  • 3
  • 14
  • 30