Opencolorio Documentation
Total Page:16
File Type:pdf, Size:1020Kb
OpenColorIO Documentation Contributors to the OpenColorIO Project Sep 30, 2021 CONTENTS 1 About the Documentation 3 1.1 Accessing Other Versions........................................3 2 Community 5 2.1 Mailing Lists...............................................5 2.2 Slack...................................................5 3 Search 7 3.1 Quick Start................................................7 3.1.1 Quick Start for Artists......................................7 3.1.2 Quick Start for Config Authors.................................7 3.1.3 Quick Start for Developers...................................8 3.1.4 Quick Start for Contributors..................................8 3.1.5 Downloads...........................................8 3.1.6 Installation...........................................9 3.2 Concepts................................................. 17 3.2.1 Overview............................................ 17 3.2.2 Introduction........................................... 17 3.2.3 Internal Architecture Overview................................. 19 3.2.4 Glossary............................................. 24 3.2.5 Publications........................................... 24 3.3 Tutorials................................................. 24 3.3.1 Baking LUT’s.......................................... 24 3.3.2 Contributing........................................... 31 3.4 Guides.................................................. 31 3.4.1 Using OCIO........................................... 31 3.4.2 Environment Variables..................................... 31 3.4.3 Tool overview.......................................... 32 3.4.4 Supported LUT Formats.................................... 36 3.4.5 Compatible Software...................................... 37 3.4.6 FAQ............................................... 44 3.4.7 Authoring Configurations.................................... 45 3.4.8 Config syntax.......................................... 45 3.4.9 Looks Example......................................... 73 3.4.10 Contexts Example........................................ 76 3.4.11 How to Configure ColorSpace Allocation........................... 82 3.4.12 Developing with OCIO..................................... 83 3.4.13 Usage Examples........................................ 83 3.4.14 Application Helpers....................................... 88 3.4.15 Contributing........................................... 89 i 3.4.16 Getting started......................................... 89 3.4.17 Repository structure....................................... 91 3.4.18 Architectural notes....................................... 93 3.4.19 Coding style guide....................................... 93 3.4.20 Unit tests............................................ 95 3.4.21 Test framework......................................... 96 3.4.22 Issues.............................................. 96 3.4.23 Submitting an issue....................................... 97 3.4.24 Submitting Changes....................................... 97 3.4.25 Documentation guidelines................................... 98 3.4.26 OpenColorIO Doxygen Style Guide.............................. 100 3.5 Configurations.............................................. 102 3.5.1 aces_1.0.3............................................ 102 3.5.2 nuke-default........................................... 110 3.5.3 spi-anim............................................. 110 3.5.4 spi-vfx.............................................. 110 3.5.5 ocio-v2_demo.......................................... 117 3.6 Upgrading to v2............................................. 130 3.6.1 Introduction........................................... 130 3.6.2 Timeline............................................. 130 3.6.3 Demo Config.......................................... 130 3.6.4 New Feature List........................................ 130 3.6.5 Changes from v1........................................ 137 3.7 API.................................................... 139 3.7.1 Applications Helpers...................................... 139 3.7.2 Baker.............................................. 152 3.7.3 ColorSpace........................................... 158 3.7.4 ColorSpaceSet......................................... 167 3.7.5 Config.............................................. 174 3.7.6 Constants............................................ 212 3.7.7 Context............................................. 217 3.7.8 DynamicProperty........................................ 224 3.7.9 DynamicPropertyValue..................................... 228 3.7.10 DynamicPropertyDouble.................................... 229 3.7.11 DynamicPropertyGradingPrimary............................... 229 3.7.12 DynamicPropertyGradingRGBCurve.............................. 230 3.7.13 DynamicPropertyGradingTone................................. 230 3.7.14 Enums.............................................. 231 3.7.15 Exceptions........................................... 269 3.7.16 FormatMetadata......................................... 270 3.7.17 Global.............................................. 275 3.7.18 Grading Transforms....................................... 285 3.7.19 ImageDesc........................................... 308 3.7.20 Look............................................... 316 3.7.21 Named Transform........................................ 319 3.7.22 Processors............................................ 323 3.7.23 Rules.............................................. 338 3.7.24 Shaders............................................. 350 3.7.25 SystemMonitors......................................... 375 3.7.26 Transforms........................................... 376 3.7.27 ViewTransform......................................... 445 3.8 ASWF.................................................. 448 3.8.1 License............................................. 448 3.8.2 Charter............................................. 449 ii 3.8.3 CLA and DCO......................................... 452 3.8.4 ASWF Docker......................................... 454 Index 455 iii iv OpenColorIO Documentation OpenColorIO (OCIO) is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO provides a straightforward and consistent user experience across all supporting applications while allowing for sophisticated back-end configuration options suitable for high-end production usage. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. OpenColorIO version 1.0 was released in 2011, having been in development since 2003. OCIO v1 represented the culmination of years of production experience earned on such films as SpiderMan 2 (2004), Surf’s Up (2007), Cloudy with a Chance of Meatballs (2009), Alice in Wonderland (2010), and many more. OpenColorIO v2 has been in development since 2017 and was feature complete as of SIGGRAPH 2020. After a stabi- lization and bug-fixing period, an official 2.0.0 release was made in January 2021. OCIO v2 is in the VFXReference Platform for calendar year 2021. The OCIO v2 code is in the RB-2.0 branch on GitHub and we encourage developers to start integrating and providing feedback. See Upgrading to v2 for more. CONTENTS 1 OpenColorIO Documentation 2 CONTENTS CHAPTER ONE ABOUT THE DOCUMENTATION The documentation is a work-in-progress and we would love to have your help to improve it! An easy way to get involved is to join the #docs channel on Slack. The documentation has been updated to include most of the new OCIO v2 features but additional work is needed to provide more detail and tutorials about how to best leverage them. We will be working on that over the coming weeks. 1.1 Accessing Other Versions You are reading the documentation for OCIO v2. The documentation for the the previous stable release (1.1.1) is available here. 3 OpenColorIO Documentation 4 Chapter 1. About the Documentation CHAPTER TWO COMMUNITY 2.1 Mailing Lists There are two mailing lists associated with OpenColorIO: [email protected] For end users (artists, often) interested in OCIO profile design, facility color management, and workflow. [email protected] For developers interested OCIO APIs, code integration, compilation, etc. 2.2 Slack There is an OpenColorIO Slack workspace at: https://opencolorio.slack.com. New users may join the workspace from here. 5 OpenColorIO Documentation 6 Chapter 2. Community CHAPTER THREE SEARCH search genindex 3.1 Quick Start 3.1.1 Quick Start for Artists Most users will likely want to use the OpenColorIO that comes precompiled with their applications. See the Compatible Software for further details on each application. Note that OCIO configurations are required to do any ‘real’ work, and are available separately onthe Downloads section of this site. Example images are also available. For assistance customizing .ocio configurations, contact ocio-user. • Step 1: set the $OCIO environment-variable to /path/to/your/config.ocio • Step 2: Launch supported application. If you are on a platform that is not envvar friendly, most applications also provide a menu option to select a different OCIO configuration after launch. Please be sure to select a configuration that matches your color workflow (VFX work typically requires adifferent profile than animated features). If you need assistance picking a profile, email ocio-user. 3.1.2 Quick Start for Config Authors