Skip to content

Commit

Permalink
Adsk Contrib - Update documentation for 2.4 release (AcademySoftwareF…
Browse files Browse the repository at this point in the history
…oundation#2060)

* Update documentation for 2.4 release

Signed-off-by: Doug Walker <[email protected]>

* Add link to prototype ACES 2 configs

Signed-off-by: Doug Walker <[email protected]>

* Update video links

Signed-off-by: Doug Walker <[email protected]>

---------

Signed-off-by: Doug Walker <[email protected]>
  • Loading branch information
doug-walker authored Sep 30, 2024
1 parent feb4ada commit 4dd0273
Show file tree
Hide file tree
Showing 7 changed files with 279 additions and 8 deletions.
10 changes: 8 additions & 2 deletions docs/concepts/publications/publications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,22 @@
Presentations & Publications
============================

* ASWF Open Source Days 2024 -- NanoColor `video <https://youtu.be/ym1kfYmGz-M?feature=shared>`_

* ASWF Open Source Days 2024 -- Project Update `video <https://youtu.be/zizC0ORvwnc?feature=shared>`_

* OCIO honored with the SMPTE Workflow Systems Medal! `article <https://www.aswf.io/blog/opencolorio-receives-smpte-workflow-systems-medal/>`_

* ASWF Open Source Days 2023 `video <https://www.youtube.com/watch?v=y-oq693Wl8g>`_

* OCIO wins the Pipeline Tool award at DigiPro 2022! `video <https://vimeo.com/742052701>`_
* OCIO receives the Pipeline Tool award at DigiPro 2022! `video <https://vimeo.com/742052701>`_

* ASWF Open Source Days 2022 `video <https://www.youtube.com/watch?v=WzFlz1HeNdI>`_

* HPA Tech Retreat 2022 "Color Processing with OCIO v2 and the Academy/ASC Common LUT Format"
`Slides & Tutorial <https://drive.google.com/drive/folders/1ZRTIYE6kFb-7sTUtYIYFNJndhY6tmJee?usp=share_link>`_

* OCIO v2 wins an Engineering Excellence award from the Hollywood Post Alliance!
* OCIO v2 receives an Engineering Excellence award from the Hollywood Post Alliance!
`article <https://www.hollywoodreporter.com/movies/movie-news/hpa-engineering-excellence-award-recipients-announced-1234995410/>`_

* SIGGRAPH 2021 course "Color management with OpenColorIO V2"
Expand Down
2 changes: 2 additions & 0 deletions docs/configurations/aces_cg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ and so requires no external LUT files. In fact, even the config file is built i
and users may access it from any application that uses OCIO 2.2 or higher by using one of the
following strings in place of the config path:

``ocio://studio-config-v2.2.0_aces-v1.3_ocio-v2.4`` (for OCIO 2.4 or higher)

``ocio://studio-config-v2.1.0_aces-v1.3_ocio-v2.3`` (for OCIO 2.3 or higher)

``ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1`` (for OCIO 2.2 or higher)
Expand Down
2 changes: 2 additions & 0 deletions docs/configurations/aces_studio.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ and so requires no external LUT files. In fact, even the config file is built i
and users may access it from any application that uses OCIO 2.2 or higher by using one of the
following strings in place of the config path:

``ocio://studio-config-v2.2.0_aces-v1.3_ocio-v2.4`` (for OCIO 2.4 or higher)

``ocio://studio-config-v2.1.0_aces-v1.3_ocio-v2.3`` (for OCIO 2.3 or higher)

``ocio://studio-config-v1.0.0_aces-v1.3_ocio-v2.1`` (for OCIO 2.2 or higher)
Expand Down
20 changes: 14 additions & 6 deletions docs/guides/using_ocio/compatible_software.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ Documentation :

- `Color Management <https://help.autodesk.com/view/3DSMAX/2024/ENU/?guid=GUID-AF6FB34D-5453-4AE2-A987-388A4BB5AAFD>`__

- `OCIO color management in Autodesk 3DS Max 2024.1 <https://youtu.be/dlwDiLsPWgI?feature=shared>`__


After Effects
*************
Expand Down Expand Up @@ -102,7 +104,7 @@ Documentation:


cineSync (ftrack)
*********************
*****************

Website : `<https://cospective.com/cinesync/>`__

Expand Down Expand Up @@ -335,11 +337,13 @@ Website : `<https://github.com/aferrero2707/PhotoFlow>`__


Photoshop (beta)
*********
****************

OCIO can be enabled via a technology preview checkbox in preferences. For more details see `OpenColorIO and 32-bit Editing now available in Photoshop Beta <https://community.adobe.com/t5/photoshop-beta-discussions/new-feature-opencolorio-and-32-bit-editing-now-available-in-photoshop-beta/td-p/14767506>`__.

Photoshop
*********

OpenColorIO display luts can be exported as ICC profiles for use in photoshop. The core idea is to create an .icc profile, with a valid description, and then to save it to the proper OS icc directory. (On OSX, ``~/Library/ColorSync/Profiles/``). Upon a Photoshop relaunch, Edit->Assign Profile, and then select your new OCIO lut.

Website : `<https://www.adobe.com/products/photoshop.html>`__
Expand All @@ -348,6 +352,7 @@ An OpenColorIO plugin is also available for use in Photoshop. The plug-in can pe

Plugin binaries are available for `download <http://fnordware.blogspot.com/2017/02/opencolorio-for-photoshop.html>`__, courtesy of `fnordware <http://www.fnordware.com>`__.


Python
******

Expand All @@ -357,21 +362,23 @@ Website: `<https://github.com/AcademySoftwareFoundation/OpenColorIO/tree/main/sr

Documentation:

- `Developer Guide <https://opencolorio.org/developers/index.html>`__
- :ref:`developing`

- `Usage Examples <https://opencolorio.org/developers/usage_examples.html>`__
- :ref:`developers-usageexamples`


RV (Autodesk)
*************

Website : `<http://www.tweaksoftware.com>`__
Website : `<https://www.autodesk.com/products/flow-production-tracking/rv>`__

OpenRV : `<https://github.com/AcademySoftwareFoundation/OpenRV>`__

Supported Version: >= 4

Documentation :

- For more details, see the OpenColorIO section of the `RV User Manual <http://www.tweaksoftware.com/static/documentation/rv/current/html/rv_manual.html#OpenColorIO>`__.
- For more details, see the OpenColorIO section of the `RV User Manual <https://aswf-openrv.readthedocs.io/en/latest/rv-manuals/rv-user-manual/rv-user-manual-chapter-eleven.html>`__.


Silhouette (Boris FX)
Expand Down Expand Up @@ -444,6 +451,7 @@ Documentation :

Apps w/icc or luts
******************

flame (.3dl), lustre (.3dl), cinespace (.csp), houdini (.lut), iridas_itx (.itx)
photoshop (.icc)

Expand Down
11 changes: 11 additions & 0 deletions docs/guides/using_ocio/tool_overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,17 @@ Use the --help argument for more information on to the available options.
.. TODO: Examples
.. _overview-ociocpuinfo:

ociocpuinfo
***********

This tool simply prints information about the CPU in your computer. OCIO will
switch in different versions of the apply functions based on which SIMD
instruction sets are supported by a given CPU, so this is provided as a
potential trouble-shooting tool.


.. _overview-ociodisplay:

ociodisplay
Expand Down
1 change: 1 addition & 0 deletions docs/releases/_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Releases
.. toctree::
:caption: Upgrading to v2

ocio_2_4
ocio_2_3
ocio_2_2
ocio_2_1
Expand Down
241 changes: 241 additions & 0 deletions docs/releases/ocio_2_4.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@
..
SPDX-License-Identifier: CC-BY-4.0
Copyright Contributors to the OpenColorIO Project.

OCIO 2.4 Release
================

Timeline
********

OpenColorIO 2.4 was delivered in September 2024 and is in the VFX Reference Platform for
calendar year 2025.


New Feature Guide
=================

ACES 2.0 Output Transforms (PREVIEW RELEASE)
********************************************

The Academy Color Encoding System has released a new major version with a completely new
set of Output Transforms (which are the transforms that convert from ACES2065-1 to a display
color space). These transforms are much more sophisticated than ACES 1 and include a
sophisticated gamut mapping algorithm that takes advantage of recent work in color appearance
modeling. The invertibility of the transforms is also improved.

**ACES 2 support in OCIO 2.4.0 is labelled a "Preview Release" to indicate that this is a
work-in-progress that is not yet ready for production use. Both the processing results and
the API for it will likely change in OCIO 2.4.1 and future releases.**

The OCIO config files for ACES 2 are still under development, but prototype configs for
testing may be downloaded from `this PR on the OpenColorIO-Config-ACES repo.
<https://github.com/AcademySoftwareFoundation/OpenColorIO-Config-ACES/pull/130>`_

A preliminary technical description of the ACES 2 Output Transform algorithm may be found
`at this link. <https://draftdocs.acescentral.com/output-transforms/technical-details/>`_


Built-in Configs
****************

An updated set of built-in CG and Studio configs is included in the 2.4 release. These include
the updates from the OCIO Configs Working Group over the past year. The updates include:

* Updated texture asset color space names, following the work of the ASWF Color Interop Forum.
(The previous names for all active color spaces have been preserved via an alias.)
* Making the display color spaces active (allowing for easier display-to-display conversions).

Additional updates for the Studio config include:

* Addition of the Apple Log camera color space

Given that the ACES 2 support is still a work-in-progress, the built-in configs in 2.4.0
are based on ACES 1.3. Versions for ACES 2 are under development and are planned for the
OCIO 2.4.1 release.

For Users
+++++++++

The following URI strings may be provided anywhere you would normally provide a file path
to a config (e.g. as the OCIO environment variable):

To use the updated :ref:`aces_cg`, use this string for the config path:
ocio://cg-config-v2.2.0_aces-v1.3_ocio-v2.4

To use the updated :ref:`aces_studio`, use this string for the config path:
ocio://studio-config-v2.2.0_aces-v1.3_ocio-v2.4

This string will give you the current default config, which is the latest ACES CG Config:
ocio://default

This string now points to this latest CG config:
ocio://cg-config-latest

This string now points to this latest Studio config:
ocio://studio-config-latest


Tool Enhancements
*****************

For Users
+++++++++

* There are now Python Wheels available for Python 3.13 (Python 3.7 support will be removed soon).

* There is a ``bitdepth`` argument to ``ocioconvert`` to control the processing and writing bit-depth.

* There is a ``ociocpuinfo`` utility that prints info about the CPU in your computer, especially
which SIMD intrinsics it supports. As with the other command-line tools, this is available as part
of an OCIO install when building from source or via PyPI.


API Enhancements
****************

For Developers
++++++++++++++

You may find the following additions to the OCIO API useful:

* There is now a ``hasAlias`` method on the ColorSpace and NamedTransform classes.

* The FileTransform class has a new static method ``IsFormatExtensionSupported`` that
checks if a specific LUT format file extension is supported by OpenColorIO.


New Fixed Function Transforms
*****************************

For Config Authors
++++++++++++++++++

The following new styles are available for use with the FixedFunctionTransform:

* ``FIXED_FUNCTION_ACES_OUTPUT_TRANSFORM_20`` -- This implements the part of the ACES 2.0
Output Transform that converts from ACES2065-1 to the intended linear values in the limiting
primaries. (This requires further steps to get to the intended display colorimetry, typically
a clamp, scale, and matrix.) It takes 9 parameters: peak_luminance (in nits), followed by
the chromaticity coordinates for the limiting gamut: [ red_x, red_y, green_x, green_y, blue_x,
blue_y, white_x, white_y ]. **This is a work-in-progress and may change or be removed in
future releases.**

* ``FIXED_FUNCTION_ACES_RGB_TO_JMH_20`` -- This implements the conversion from a linear RGB
space into the JMh (lightness, colorfulness, hue) color appearance model space that is used
in the ACES 2 Output Transform algorithm. It takes 8 parameters which are the chromaticity
coordinates of the linear RGB color space: [ red_x, red_y, green_x, green_y, blue_x,
blue_y, white_x, white_y ]. **This is a work-in-progress and may change or be removed in
future releases.**

* ``FIXED_FUNCTION_ACES_TONESCALE_COMPRESS_20`` -- This implements the part of the ACES 2
Output Transform algorithm that modify the tonescale and chroma of the image when mapping from
the scene-referred to display-referred image state. It takes one parameter: the peak_luminance
of the target display device (in nits). **This is a work-in-progress and may change or be
removed in future releases.**

* ``FIXED_FUNCTION_ACES_GAMUT_COMPRESS_20`` -- This implements the part of the ACES 2 Output
Transform algorithm that applies gamut compression to the target display gamut. It takes
the same 9 parameters as ``FIXED_FUNCTION_ACES_OUTPUT_TRANSFORM_20``. **This is a work-in-progress
and may change or be removed in future releases.**

* ``FIXED_FUNCTION_LIN_TO_PQ`` -- This is the curve for SMPTE ST-2084 (PQ). It is scaled with 100 nits
at 1.0. Negative values are mirrored around the origin. It takes no parameters. Note that this
implementation is slower (especially on the CPU) than the Built-in Transform that implements
the same function via a LUT1D rather than via a formula: ``CURVE - LINEAR_to_ST-2084``. The
only advantage of the Fixed Function is that it does not use texture memory on the GPU.

* ``FIXED_FUNCTION_LIN_TO_GAMMA_LOG`` -- This curve contains a parametrized gamma and log segment.
It takes 10 parameters and is capable of implementing both the Apple Log curve and the OETF for
Hybrid Log Gamma (HLG). The parameters are:
[ mirrorPt, breakPt, gammaSeg_power, gammaSeg_slope, gammaSeg_off, logSeg_base, logSeg_logSlope,
logSeg_logOff, logSeg_linSlope, logSeg_linOff ].

The exact formula may be found in the renderer code in `ops/fixedfunction/FixedFunctionOpCPU.cpp
<https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/2f5ae2c568a4c1fb87e548716e2a12ac9e74d861/src/OpenColorIO/ops/fixedfunction/FixedFunctionOpCPU.cpp#L1908>`_

For implementing the Apple Log or HLG OETF curves, it is recommended to use the Built-in Transforms
``CURVE - APPLE_LOG_to_LINEAR`` and ``CURVE - HLG-OETF`` as they are faster (especially on the CPU)
since they are implemented via a LUT1D rather than a formula.

* ``FIXED_FUNCTION_LIN_TO_DOUBLE_LOG`` -- This curve contains two parameterized LogAffineTransforms
with an optional middle linear segment. It takes 13 parameters and is capable of implementing the
Canon Log 2 and Canon Log 3 curves. The parameters are:
[ base, break1, break2, logSeg1_logSlope, logSeg1_logOff, logSeg1_linSlope, logSeg1_linOff
logSeg2_logSlope, logSeg2_logOff, logSeg2_linSlope, logSeg2_linOff, linSeg_slope, linSeg_off ]

The exact formula may be found in the renderer code in `ops/fixedfunction/FixedFunctionOpCPU.cpp
<https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/2f5ae2c568a4c1fb87e548716e2a12ac9e74d861/src/OpenColorIO/ops/fixedfunction/FixedFunctionOpCPU.cpp#L2006>`_

For implementing the Canon Log 2 or 3 curves, it is recommended to use the Built-in Transforms
``CURVE - CANON_CLOG2_to_LINEAR`` and ``CURVE - CANON_CLOG3_to_LINEAR`` as they are faster
(especially on the CPU) since they are implemented via a LUT1D rather than a formula.


New Built-in Transforms
***********************

For Config Authors
++++++++++++++++++

In config files with ``ocio_profile_version`` set to 2.4 or higher, config authors may take
advantage of the following new BuiltinTransform styles:

* ``APPLE_LOG_to_ACES2065-1`` -- Converts Apple Log to ACES2065-1.

* ``CURVE - APPLE_LOG_to_LINEAR`` -- Applies only the EOTF curve for Apple Log.

* ``CURVE - HLG-OETF`` -- Applies the OETF curve for Hybrid Log Gamma.

* ``CURVE - HLG-OETF-INVERSE`` -- Applies the inverse-OETF curve for Hybrid Log Gamma.

* ``DISPLAY - CIE-XYZ-D65_to_DCDM-D65`` -- Implements a display color space to produce a
Digital Cinema Distribution Master (DCDM) with a D65 creative white point. This uses the
traditional 2.6 gamma SDR transfer function.

* ``DISPLAY - CIE-XYZ-D65_to_ST2084-DCDM-D65`` -- Implements a display color space to produce an
HDR Digital Cinema Distribution Master (DCDM) with a D65 creative white point. This implements
the ST-2084 transfer function for HDR with an input Y value of 1.0 mapping to 100 nits.

The following implement various View Transforms used by the ACES 2 Output Transforms:

* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC709-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-REC709-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - SDR-100nit-P3-D60-in-XYZ-E_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-108nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-300nit-P3-D60-in-XYZ-E_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-P3-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-P3-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-P3-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-P3-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-P3-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-500nit-REC2020-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-1000nit-REC2020-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-2000nit-REC2020-D60-in-REC2020-D65_2.0``
* ``ACES-OUTPUT - ACES2065-1_to_CIE-XYZ-D65 - HDR-4000nit-REC2020-D60-in-REC2020-D65_2.0``


Release Notes
=============

For additional details, please see the GitHub release page:

`OCIO 2.4.0 <https://github.com/AcademySoftwareFoundation/OpenColorIO/releases/tag/v2.4.0>`_

0 comments on commit 4dd0273

Please sign in to comment.