openfx icon indicating copy to clipboard operation
openfx copied to clipboard

OpenColorIO Properties

Open john-paulsmith opened this issue 3 years ago • 1 comments

Open Effects Proposal for Standard Change

Please read the contribution guidelines first.

Standard Change Workflow

  • [x] Create proposal as issue (you're doing this now!)
  • [x] Tag this issue with standard change tag
  • [ ] Identify subcommittee: at least one plug-in vendor, and at least one host
  • [ ] Discuss the idea in this issue
  • [ ] Write new or updated code and doc
  • [ ] Publish updates as a pull request (ideally on a feature/PROPOSAL-NAME branch)
    • [ ] Make sure that PR references this issue number to keep them in sync
    • [ ] Discuss and review code in the PR
    • [ ] Meet all requirements below for accepting PR
  • [ ] When subcommittee signs off and other members don't have any further review comments, maintainer merges PR to master which closes PR and issue

Requirements for accepting a standard change:

  • [ ] Header files updated
  • [ ] Documentation updated
  • [ ] Release notes added
  • [ ] Compatibility review completed
  • [ ] Working code demonstrated with at least one host and one plugin
  • [ ] At least two members sign off
  • [ ] No further changes requested from membership

Summary

These properties allow a host to pass information about the OCIO config, display settings and clip colourspace to a plug-in.

Motivation

Various hosts use OCIO to manage colour. This is useful in two scenarios:

  • If a plug-in draws input images in its own user interface, if the OCIO settings are know, the plug-in can ensure the appearance of the image matches how they look in the host.
  • If a plug-in performs processing which is sensitive to the working colourspace, knowing the OCIO settings allow the plug-in to ensure its parameters behave in a consistent way irrespective of the host's working colourspace.

Problem

  1. A plug-in which draws its own UI window needs to make assumptions about the colourspace of the input images, or ask the user to manually choose a colourspace.
  2. A plug-in which applies colour grading presets will look different in a host that supplies scene linear images than one which supplies gamma-corrected images. This requires the user to either manually select the colourspace in the plug-in, or apply conversion in the host.

Impact

New optional feature. If the properties are not set by the host, plug-ins can apply sensible defaults as they do now.

Documentation Impact

The properties require simple documentation and an example would be beneficial

Stakeholders

Plug-ins are the main beneficiary as they will work more predictably in a host that supports OCIO.

Discussion

john-paulsmith avatar Dec 05 '22 23:12 john-paulsmith

I've commented on the PR #103 rather than here, hope that's OK

barretpj avatar Dec 06 '22 11:12 barretpj