# OpenColorIO configuration file for Blender
#
# Based on aces, nuke-default and spi configurations from OpenColorIO-Config
#
# Filmic Dynamic Range LUT configuration crafted by Troy James Sobotka with
# special thanks and feedback from Guillermo, Claudio Rocha, Bassam Kurdali,
# Eugenio Pignataro, Henri Hebeisen, Jason Clarke, Haarm-Peter Duiker, Thomas
# Mansencal, and Timothy Lottes.
#
# See ocio-license.txt for details.

ocio_profile_version: 1

search_path: "luts:filmic"
strictparsing: true
luma: [0.2126, 0.7152, 0.0722]

description: RRT version ut33

roles:
  reference: Linear

  # Internal scene linear space
  scene_linear: Linear
  rendering: Linear

  # Default color space for byte image
  default_byte: sRGB

  # Default color space for float images
  default_float: Linear

  # Default color space sequencer is working in
  default_sequencer: sRGB

  # Color spaces for color picking and texture painting (not internally supported yet)
  color_picking: sRGB
  texture_paint: Raw

  # Non-color data
  data: Non-Color

  # CIE XYZ color space
  XYZ: XYZ

displays:
  sRGB:
    - !<View> {name: Standard, colorspace: sRGB}
    - !<View> {name: Filmic, colorspace: Filmic sRGB}
    - !<View> {name: Filmic Log, colorspace: Filmic Log}
    - !<View> {name: Raw, colorspace: Raw}
    - !<View> {name: False Color, colorspace: False Color}
  XYZ:
    - !<View> {name: Standard, colorspace: XYZ}
    - !<View> {name: DCI, colorspace: dci_xyz}
    - !<View> {name: Raw, colorspace: Raw}
  None:
    - !<View> {name: Standard, colorspace: Raw}

active_displays: [sRGB, XYZ, None]
active_views: [Standard, Filmic, Filmic Log, Raw]

colorspaces:
  - !<ColorSpace>
    name: Linear
    family: linear
    equalitygroup:
    bitdepth: 32f
    description: |
      Rec. 709 (Full Range), Blender native linear space
    isdata: false
    allocation: lg2
    allocationvars: [-12.473931188, 12.526068812]

  - !<ColorSpace>
    name: Raw
    family: raw
    equalitygroup:
    bitdepth: 32f
    isdata: true
    allocation: uniform
    allocationvars: [0, 1]

  - !<ColorSpace>
    name: Linear ACES
    family: linear
    equalitygroup:
    bitdepth: 32f
    description: |
      ACES linear space
    isdata: false
    allocation: lg2
    allocationvars: [-8.5, 5]
    to_reference: !<FileTransform> {src: rec709_to_aces.spimtx, interpolation: linear, direction: inverse}

  - !<ColorSpace>
    name: nuke_rec709
    family: display
    equalitygroup:
    bitdepth: 32f
    description: |
      Rec. 709 (Full Range) Display Space
    isdata: false
    allocation: uniform
    allocationvars: [-0.125, 1.125]
    to_reference: !<GroupTransform>
      children:
        - !<FileTransform> {src: rec709.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: XYZ
    family: linear
    equalitygroup:
    bitdepth: 32f
    isdata: false
    allocation: lg2
    allocationvars: [-8.5, 5]
    from_reference: !<GroupTransform>
      children:
        - !<FileTransform> {src: srgb_to_xyz.spimtx, interpolation: linear}

  - !<ColorSpace>
    name: dci_xyz
    family: display
    equalitygroup:
    bitdepth: 16f
    description: |
      OpenDCP output LUT with DCI reference white and Gamma 2.6
    isdata: false
    allocation: uniform
    allocationvars: [0, 1]
    from_reference: !<GroupTransform>
      children:
        - !<FileTransform> {src: srgb_to_xyz.spimtx, interpolation: linear}
        - !<FileTransform> {src: dci_xyz.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: lg10
    family: display
    equalitygroup:
    bitdepth: 10ui
    description: |
      conversion from film log
    isdata: false
    allocation: uniform
    to_reference: !<GroupTransform>
      children:
        - !<FileTransform> {src: lg10.spi1d, interpolation: nearest}

  - !<ColorSpace>
    name: sRGB
    family:
    equalitygroup:
    bitdepth: 32f
    description: |
      Standard RGB Display Space
    isdata: false
    allocation: uniform
    allocationvars: [-0.125, 4.875]
    to_reference: !<FileTransform> {src: srgb.spi1d, interpolation: linear}
    from_reference: !<FileTransform> {src: srgb_inv.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: Non-Color
    family: raw
    description: |
        Color space used for images which contains non-color data (i,e, normal maps)
    equalitygroup:
    bitdepth: 32f
    isdata: true
    allocation: uniform
    allocationvars: [0, 1]

  - !<ColorSpace>
    name: Filmic Log
    family: log
    equalitygroup:
    bitdepth: 32f
    description: |
      Log based filmic shaper with 16.5 stops of latitude, and 25 stops of dynamic range
    isdata: false
    allocation: lg2
    allocationvars: [-12.473931188, 12.526068812]
    from_reference: !<GroupTransform>
        children:
            - !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 12.526068812]}
            - !<FileTransform> {src: filmic_desat65cube.spi3d, interpolation: best}
            - !<AllocationTransform> {allocation: uniform, vars: [0, 0.66]}
    to_reference: !<AllocationTransform> {allocation: lg2, vars: [-12.473931188, 4.026068812], direction: inverse}

  - !<ColorSpace>
    name: Filmic sRGB
    family: display
    equalitygroup:
    bitdepth: 32f
    description: |
      Filmic sRGB view transform
    isdata: false
    allocation: lg2
    allocationvars: [-12.473931188, 12.526068812]
    from_reference: !<GroupTransform>
        children:
            - !<ColorSpaceTransform> {src: Linear, dst: Filmic Log}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: False Color
    family: display
    equalitygroup:
    bitdepth: 32f
    description: |
      Filmic false color view transform
    isdata: false
    allocation: lg2
    allocationvars: [-12.473931188, 12.526068812]
    from_reference: !<GroupTransform>
        children:
            - !<ColorSpaceTransform> {src: Linear, dst: Filmic Log}
            - !<FileTransform> {src: filmic_false_color.spi3d, interpolation: best}
looks:
  - !<Look>
    name: Filmic - Very High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_1.20_1-00.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Filmic - High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0.99_1-0075.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Filmic - Medium High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-85_1-011.spi1d, interpolation: best}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Filmic - Medium Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:

  - !<Look>
    name: Filmic - Medium Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-60_1-04.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Filmic - Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-48_1-09.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Filmic - Very Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-35_1-30.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - Very High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_1.20_1-00.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0.99_1-0075.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - Medium High Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-85_1-011.spi1d, interpolation: best}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - Base Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:

  - !<Look>
    name: Standard - Medium Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-60_1-04.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-48_1-09.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}

  - !<Look>
    name: Standard - Very Low Contrast
    process_space: Filmic Log
    transform: !<GroupTransform>
        children:
            - !<FileTransform> {src: filmic_to_0-35_1-30.spi1d, interpolation: linear}
            - !<FileTransform> {src: filmic_to_0-70_1-03.spi1d, interpolation: linear, direction: inverse}
