This forum has been archived. All content is frozen. Please use KDE Discuss instead.

OCIO load custom lut's

Tags: None
(comma "," separated)
sandersson
Registered Member
Posts
2
Karma
0

OCIO load custom lut's

Tue Mar 29, 2016 12:17 pm
Hello!

We are trying to implement Krita at our office. One thing that I'm trying to get my head around is how to load the custom shot lut's that we have.

We have a config that we use in Nuke, Maya and Cyclone (in-house tool for viewing renders).

file named: config.ocio
Code: Select all
ocio_profile_version: 1

search_path: luts/$SHOT/:luts/default:luts
strictparsing: true
luma: [0.2126, 0.7152, 0.0722]

roles:
  color_picking: srgb
  color_timing: AlexaV3LogC
  compositing_log: AlexaV3LogC
  data: linear
  default: linear
  matte_paint: srgb
  reference: linear
  scene_linear: linear
  texture_paint: srgb
  lookdev: cyclone_alexa

displays:
  default:
    - !<View> {name: shot, colorspace: linear, looks: shot}
    - !<View> {name: none, colorspace: linear}
    - !<View> {name: srgb, colorspace: srgb}
    - !<View> {name: alexa, colorspace: AlexaV3LogC, looks: alexa_rec709}

active_displays: [default]
active_views: [shot]


looks:
- !<Look>
  name: shot
  process_space: linear
  transform: !<GroupTransform>
    children:
    - !<ColorSpaceTransform> {src: linear, dst: AlexaV3LogC}
    - !<FileTransform> {src: shot.cc, interpolation: linear}
    - !<FileTransform> {src: WD_CINEMA_01.3dl, interpolation: linear}
    - !<FileTransform> {src: tweak.cc, interpolation: linear}

- !<Look>
  name: alexa_rec709
  process_space: AlexaV3LogC
  transform: !<FileTransform> {src: AlexaV3Rec709.AlexaV3LogC_2_AlexaV3Rec709.cube, interpolation: linear}


colorspaces:

  - !<ColorSpace>
    name: linear
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Scene-linear, high dynamic range. Used for rendering and compositing.
    isdata: false
    allocation: lg2
    allocationvars: [-15, 6]

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

  - !<ColorSpace>
    name: Cineon
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Cineon (Log Film Scan)
    isdata: false
    allocation: uniform
    allocationvars: [-0.125, 1.125]
    to_reference: !<FileTransform> {src: cineon.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: AlexaV3LogC
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Alexa Log C
    isdata: false
    allocation: uniform
    allocationvars: [-0.125, 1.125]
    to_reference: !<FileTransform> {src: alexalogc.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: cyclone_cineon
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Cineon (Log Film Scan)
    isdata: false
    allocation: uniform
    allocationvars: [-0.00001, 1.00001]
    to_reference: !<FileTransform> {src: cineon.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: cyclone_alexa
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Alexa
    isdata: false
    allocation: uniform
    allocationvars: [-0.00001, 1.00001]
    to_reference: !<FileTransform> {src: alexalogc.spi1d, interpolation: linear}

  - !<ColorSpace>
    name: cyclone
    family: ""
    equalitygroup: ""
    bitdepth: 32f
    description: |
      Apply the client shot grade
    isdata: false
    allocation: uniform
    allocationvars: [-0.00001, 1.00001]
    from_reference: !<GroupTransform>
      children:
      - !<ColorSpaceTransform> {src: linear, dst: lookdev}
      - !<FileTransform> {src: shot.cc, interpolation: linear}
      - !<FileTransform> {src: WD_CINEMA_01.3dl, interpolation: linear}
      - !<FileTransform> {src: tweak.cc, interpolation: linear}

As you can see we use an environment variable named $SHOT, and this is where it looks for the specific shot lut. A generated shot lut can look like this

file named "shot.cc"
Code: Select all
<ColorCorrection id=""><SOPNode><Description></Description><Slope>1.1637 1.1490 1.1343</Slope><Offset>-0.0808 -0.0956 -0.0637</Offset><Power>1.0000 1.0000 1.0000</Power></SOPNode><SatNode><Saturation>1</Saturation></SatNode></ColorCorrection>


It looks like it loads the ocio config correctly, but it never really loads the lut viewer. When I compare the EXR file between Nuke and Krita you can see that it only loads the standard srgb lut (which I think it defaults back too).

So.... can Krita undertstand Environment variables in it's ocio config files? it seems to pick up parts of the file at least :)

best regards
stefan andersson
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: OCIO load custom lut's  Topic is solved

Tue Mar 29, 2016 12:45 pm
Krita currently can't load the aesthetic lut files, which OCIO calls 'looks', which your Alexa and your 'shot' lut is. It shouldn't be too hard to implement, thing is we're lacking manpower to do this right now...(also, we're in feature freeze for 3.0 till the end of april)
sandersson
Registered Member
Posts
2
Karma
0

Re: OCIO load custom lut's

Tue Mar 29, 2016 1:53 pm
TheraHedwig wrote:Krita currently can't load the aesthetic lut files, which OCIO calls 'looks', which your Alexa and your 'shot' lut is. It shouldn't be too hard to implement, thing is we're lacking manpower to do this right now...(also, we're in feature freeze for 3.0 till the end of april)


Ah ok. Well I'll keep my fingers crossed that you will eventually find the manpower :) I'm not sure our own tech/dev department could tackle that.

regards
stefan
User avatar
halla
KDE Developer
Posts
5092
Karma
20
OS

Re: OCIO load custom lut's

Tue Mar 29, 2016 2:39 pm
Well, time and money go hand in hand. We really want to improve our ocio support, but we need to find funding for that!


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Yahoo [Bot]