Feature Request: Apply OCIO look or view in Draft

Hello everyone!

Forgive me if this is the wrong place to post this. It is my first time posting in these forums.

I’d like to to ask to make it possible to apply OCIO looks and/or OCIO views to images with Draft.
To me this would make the OCIO setup much more consistent and easier across our pipeline. It would make sure what compositors see in Nuke/RV would match the output from Draft.

Please consider adding this to Draft or I need to look for another alternative :frowning:.


Hi Fabian

I think you should be able to use the OCIO Luts in draft. You can have them in the repository and can point to those.

We have some in here already.

You can access them in pipeline tools.

Is this what you are asking?

To be honest, I need more explanation because I do not have complete information about how OCIO works and how do you expect it to work within your workflow.

Draft has support for Luts as well.

Hello zainali!

Thanks for your response! :slight_smile:
I am aware of what you are showing, but it is not what I am asking. I should have been more descriptive in the first place! Sorry!
It is possible to define “Looks” inside the config.ocio and subsequent use them in a “view/display”. Looks are basically collections of color transform operations (be it colorspace changes or LUTs). A view uses a look and applies a colorspace transformation at the end to map it to a certain monitor, projector or whatever your end point might be.
This is terribly useful if you have some kind of pre-grading on your plates and want to have it displayed correctly in Maya/Nuke/RV/etc. All you have to do, is figure out the correct color transformation steps and collect them in a look (and a view). If OCIO is correctly configured in all your applications, you can be certain that your plates are displayed correctly everywhere.
Here is the catch: Draft does not support applying looks and views from OCIO. This means I have to code all the color operations in python which is error prone and very limiting. Long story short, what I’d like to see in Draft would be a function that looks anything like this:

def CreateOCIODisplay(displayName, viewName, fromSpace="", unpremultiply=True, ocioContext=None):
    :param str displayName: The name of the display.
    :param str viewName: The name of the view.
    :param str fromSpace: Assume the image is in the named color space.
    :param bool unpremultiply: Whether pixel values will be "unpremultipled" (divided by alpha) prior
                               to the actual color conversion, and then re-multipled by alpha afterwards.
    :param dict|None ocioContext: key/value pair to the "context" that OCIO will use when applying the
                                  display transform.
    :return: A OCIO "display" transformation given by the displayName and viewName.
    :rtype: Draft.LUT

Hope this helps. If you still have questions let me know.


Hi Fabian

Update: I’ve created the feature request for Looks to be supported in Draft. I am sorry I wouldn’t be able to provide you ETA on this.

Thank you for such a good explanation, it definitely added to my knowledge.


Hi Zainali!

Thanks for the Feature Request. Any future updates on this are much appreciated.