Compare commits

...
16 Commits
Author SHA1 Message Date
Patrick Hodoul 0645fdd6b5 Adsk Contrib - Change the library version to 2.0.1 (#1396)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-04 00:36:34 -04:00
Patrick Hodoul 33185815e4 Adsk Contrib - Improve the context variable validation (#1387) (#1395)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-05-03 16:38:14 -04:00
Brendan Bolles 7067004759 After Effects and Photoshop plug-in build updates (#1394)
Signed-off-by: Brendan Bolles <brendan@fnordware.com>
2021-05-03 08:35:26 -04:00
Patrick Hodoul 9d964541c1 Adsk Contrib - Fix CDL issue (#1370) (#1392)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-29 19:28:58 -04:00
Patrick Hodoul d46e367f4b Adsk Contrib - [v2.0.1] - Integration of PR 1365 (#1390)
* Adsk Contrib - More code cleanup (#1365)

* Adsk Contrib - More code cleanup

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix build breaks

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a new warning

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-29 17:11:49 -04:00
Patrick Hodoul 5346a5c08b Adsk Contrib - Add negative stride support for CPU processing (#1353) (#1389)
* Adsk Contrib - Add negative x & y stride support for CPU processing

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Windows build warnings

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-26 10:25:50 -04:00
Patrick Hodoul 467f90d4ed Adsk Contrib - Fix the legacy GPU path (#1352) (#1388)
* Adsk Contrib - Fix the legacy GPU path

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Re-enable legacy GPUShaderDesc

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix Documentation generation failure

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Improve the deprecated comment

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Add version removal

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-26 08:40:54 -04:00
Patrick Hodoulanddoug-walker f44dc562ed Adsk Contrib - Improve the C++ version detection (#1351) (#1384)
* Adsk Contrib - Set C++17 as the default C++ version

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Follow the TSC recommendation

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Minor improvement

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Isolate the C++ version detection from warnings related to custom CXX flags

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* MacOs - Fix sanitization errors i.e. '-fsanitize=address'

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-04-22 19:46:29 -04:00
Patrick Hodoul a984c22cb2 Adsk Contrib - Fix 'setup_ocio' script support (#1350) (#1383)
* Adsk Contrib - Fix 'setup_ocio' script support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* As agreed, remove the Nuke env. variables

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-22 18:27:19 -04:00
Patrick Hodoul 229ec9cb3a Adsk Contrib - Fix env. variable name (#1339) (#1382)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-22 17:20:18 -04:00
Patrick Hodoul 3ae974a03b Adsk Contrib - Add the RPATH support (#1338) (#1381)
* Adsk Contrib - Add the RPATH support

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix the rpath for the Python Binding dynamic library

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Fix a typo for the Linux rpath

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-22 15:28:49 -04:00
Patrick Hodoul 066a9ee845 Adsk Contrib - Misc. improvements (#1336) (#1380)
* Adsk Contrib - Misc fixes

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Few improvements

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2021-04-22 11:48:54 -04:00
Patrick Hodoulanddoug-walker 4508967c09 Adsk Contrib - Fix some GLSL version mismatches. (#1306) (#1379)
* Adsk Contrib - Fix GLSL version on MacOS

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Missed a change

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>

Co-authored-by: doug-walker <43830961+doug-walker@users.noreply.github.com>
2021-04-22 10:14:05 -04:00
Patrick HodoulandMichael Dolan 544c833115 Adsk Contrib - Various build fixes (#1324) (#1378)
* Adsk Contrib - tests/cpu/CMakeLists.txt Fix

Signed-off-by: Patrick Hodoul Patrick.Hodoul@autodesk.com

Quick fix to include a missing unit test.

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

* Update OpenColorAppHelpers.h

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Michael Dolan <michdolan@gmail.com>
2021-04-22 08:49:21 -04:00
Patrick HodoulandBrendan Bolles f51291111c Update After Effects and Photoshop plug-ins (#1303) (#1375)
* Update AE plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update AE Xcode projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Photoshop plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Photoshop Xcode project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Visual Studio projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update OpenColorABI.h

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fail if glew not downloaded

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Renamed functions

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Xcode project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Function name changes

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update Visual Studio project

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Sort config menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Sort Photoshop config menu

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Toss old include

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Grow menus

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Extra semicolon

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Encodings menu on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update OpenGL calls

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Encodings menu on Mac

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Add separator better

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* ADD_EXTRA_BUILTINS in Xcode

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Device, Transform -> Display, View

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* ADD_EXTRA_BUILTINS in VC

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Categories and Encodings on Win

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Photoshop plug-in bugs

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Get rid of Class retrieval

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Family Separator assert

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Stop using OPTIMIZATION_LOSSLESS in Photoshop plug-in

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Switch to AE 2020 SDK in Xcode

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Improve sequence data calls for multi-frame rendering

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Xcode 12 projects

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Xcode 12 Photoshop changes

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Fox Globals allocation

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Update to latest SDKs on Win

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Rejigger sequence data and external dependency handling

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Exception safety

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Need a mutex for GPU rendering

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Forgot to return

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Whoops, wasn't setting default ArbData

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

* Reserve some seq_data bytes for alignment

Signed-off-by: Brendan Bolles <brendan@fnordware.com>

Co-authored-by: Patrick Hodoul <patrick.hodoul@autodesk.com>

Co-authored-by: Brendan Bolles <brendan@fnordware.com>
2021-04-22 07:11:47 -04:00
Bernard Lefebvre cb5e319d0f Adsk Contrib - RB-2.0 release (#1289)
* Adsk Contrib - Shader textures now available via Python (#1268) 7110425732

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add roles to API and fixes (#1267) Bernard Lefebvre 8cf0211c3f

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adsk Contrib - Python repr and LogCameraTransform fixes (#1270) c033d11ee3

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix issue #1262 (#1271) d51962acf0

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Use OIIO-provided CMake find module (#1266) Michael Dolan <michdolan@gmail.com> 8774ebf739

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Transform Python Binding Fix (#1277) Frankie Eder <frankaeder@gmail.com> c324ba5438

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adsk Contrib - Avoid NaN values in certain Lut1D arrays (#1272) 50e5d8b37d

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adsk Contrib - More python tests and bindings fixes (#1274) 574ccd856e

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Restructure PyOpenColorIO, complete PyGpuShaderDesc (#1275) Michael Dolan <michdolan@gmail.com> 081b8de4d2

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Add UNIFORM_FLOAT3, setStrictParsingEnabled to PyOpenColorIO (#1280) Michael Dolan <michdolan@gmail.com> 73be29a4ba

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Adsk Contrib - Add new ACES builtin transforms (#1281) doug-walker <43830961+doug-walker@users.noreply.github.com> 83392109b6

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Release v2 (#1279)  6d46d8468a

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Test forgot to declare logger and fails if numpy is missing (#1290) 87f09ecad5

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>

* Fix applyRGB (#1291)  bc88857f48

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2021-01-28 17:07:14 -05:00
364 changed files with 17759 additions and 6540 deletions
+24 -16
View File
@@ -28,13 +28,13 @@ endif()
# Project definition.
project(OpenColorIO
VERSION 2.0.0
VERSION 2.0.1
DESCRIPTION "OpenColorIO (OCIO) is a complete color management solution"
HOMEPAGE_URL https://github.com/AcademySoftwareFoundation/OpenColorIO
LANGUAGES CXX C)
# "dev", "beta1", rc1", etc or "" for an official release.
set(OpenColorIO_VERSION_RELEASE_TYPE "rc1")
set(OpenColorIO_VERSION_RELEASE_TYPE "")
enable_testing()
@@ -130,13 +130,6 @@ option(OCIO_USE_SSE "Specify whether to enable SSE CPU performance optimizations
option(OCIO_INLINES_HIDDEN "Specify whether to build with -fvisibility-inlines-hidden" ${UNIX})
###############################################################################
# Supplemental builtins
# Add supplemental built-in transformations such as camera related one.
option(OCIO_ADD_EXTRA_BUILTINS "Specify whether to add supplemental built-in transforms" ON)
###############################################################################
# GPU configuration
@@ -249,11 +242,26 @@ include(FindExtPackages)
###############################################################################
# Progress to other sources
add_subdirectory(ext)
add_subdirectory(include)
add_subdirectory(src)
add_subdirectory(tests)
if(OCIO_BUILD_DOCS)
add_subdirectory(docs)
endif()
add_subdirectory(vendor)
if(OCIO_BUILD_DOCS)
add_subdirectory(docs)
endif()
add_subdirectory(tests)
add_subdirectory(src)
add_subdirectory(include)
add_subdirectory(ext)
###############################################################################
# Configure env script
if(WIN32)
set(OCIO_SETUP_NAME setup_ocio.bat)
else()
set(OCIO_SETUP_NAME setup_ocio.sh)
endif()
configure_file(${CMAKE_SOURCE_DIR}/share/ocio/${OCIO_SETUP_NAME}.in
${CMAKE_CURRENT_BINARY_DIR}/share/ocio/${OCIO_SETUP_NAME} @ONLY)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/share/ocio/${OCIO_SETUP_NAME} DESTINATION share/ocio/)
+21
View File
@@ -121,6 +121,27 @@ External Plugins (currently known)::
this is a 1D HDR to LDR allocation. It is normally combined with
another display transform in the host app for preview.
.. data:: PyOpenColorIO.ROLE_RENDERING
The rendering role may be used to identify a specific color space to be
used by CGI renderers. This is typically a scene-linear space but the
primaries also matter since they influence the resulting color, especially
in areas of indirect illumination.
.. data:: PyOpenColorIO.ROLE_INTERCHANGE_SCENE
The aces_interchange role is used to specify which color space in the
config implements the standard ACES2065-1 color space (SMPTE ST2065-1).
This may be used when converting scene-referred colors from one config
to another.
.. data:: PyOpenColorIO.ROLE_INTERCHANGE_DISPLAY
The cie_xyz_d65_interchange role is used to specify which color space in
the config implements CIE XYZ colorimetry with the neutral axis at D65.
This may be used when converting display-referred colors from one config
to another.
.. group-tab:: C++
.. doxygengroup:: VarsRoles
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <Allocation.ALLOCATION_UNKNOWN: 0>
.. py:method:: Allocation.value
:module: PyOpenColorIO
:property:
@@ -19,9 +19,11 @@
2. __init__(self: PyOpenColorIO.AllocationTransform, allocation: PyOpenColorIO.Allocation = <Allocation.ALLOCATION_UNIFORM: 1>, vars: List[float] = [], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: AllocationTransform.__str__(self: PyOpenColorIO.AllocationTransform) -> str
.. py:method:: AllocationTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: AllocationTransform.getAllocation(self: PyOpenColorIO.AllocationTransform) -> PyOpenColorIO.Allocation
:module: PyOpenColorIO
@@ -145,6 +145,10 @@
.. py:class:: FormatIterator
:module: PyOpenColorIO.Baker
Iterator on LUT baker Formats.
Each item is a tuple containing format name and format extension.
.. py:method:: FormatIterator.__getitem__(self: PyOpenColorIO.Baker.FormatIterator, arg0: int) -> tuple
:module: PyOpenColorIO.Baker
@@ -75,3 +75,8 @@
:module: PyOpenColorIO
:value: <BitDepth.BIT_DEPTH_UNKNOWN: 0>
.. py:method:: BitDepth.value
:module: PyOpenColorIO
:property:
@@ -19,9 +19,11 @@
2. __init__(self: PyOpenColorIO.BuiltinTransform, style: str = 'IDENTITY', direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: BuiltinTransform.__str__(self: PyOpenColorIO.BuiltinTransform) -> str
.. py:method:: BuiltinTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: BuiltinTransform.getDescription(self: PyOpenColorIO.BuiltinTransform) -> str
:module: PyOpenColorIO
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <CDLStyle.CDL_NO_CLAMP: 1>
.. py:method:: CDLStyle.value
:module: PyOpenColorIO
:property:
@@ -18,16 +18,18 @@
Load the CDL from the src .cdl, .cc, or .ccc file.
.. note::
The cccid can be the ID of a CDL or the index of the CDL (as string). If cccid is NULL or empty the first CDL is returned. The cccid is case-sensitive. The src must be an absolute path reference, no relative directory or envvar resolution is performed. Throws if file does not contain any CDL or if the specified cccid is not found.
.. py:method:: CDLTransform.CreateGroupFromFile(src: str) -> OpenColorIO_v2_0rc1::GroupTransform
.. py:method:: CDLTransform.CreateGroupFromFile(src: str) -> PyOpenColorIO.GroupTransform
:module: PyOpenColorIO
:staticmethod:
Load all of the CDLs in a .cdl or .ccc file into a single :ref:`GroupTransform`.
.. note::
This may be useful as a quicker way for applications to check the contents of each of the CDLs. The src must be an absolute path reference, no relative directory or envvar resolution is performed.
@@ -44,9 +46,11 @@
3. __init__(self: PyOpenColorIO.CDLTransform, slope: List[float[3]] = [1.0, 1.0, 1.0], offset: List[float[3]] = [0.0, 0.0, 0.0], power: List[float[3]] = [1.0, 1.0, 1.0], sat: float = 1.0, id: str = '', description: str = '', direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: CDLTransform.__str__(self: PyOpenColorIO.CDLTransform) -> str
.. py:method:: CDLTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: CDLTransform.equals(self: PyOpenColorIO.CDLTransform, other: PyOpenColorIO.CDLTransform) -> bool
:module: PyOpenColorIO
@@ -47,3 +47,8 @@
:module: PyOpenColorIO
:value: <ChannelOrdering.CHANNEL_ORDERING_RGBA: 0>
.. py:method:: ChannelOrdering.value
:module: PyOpenColorIO
:property:
@@ -7,16 +7,6 @@
:module: PyOpenColorIO
.. py:class:: ColorSpace.ColorSpaceAliasIterator
:module: PyOpenColorIO
.. py:method:: ColorSpace.ColorSpaceAliasIterator.__init__(*args, **kwargs)
:module: PyOpenColorIO
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: ColorSpace.__init__(*args, **kwargs)
:module: PyOpenColorIO
@@ -29,10 +19,6 @@
3. __init__(self: PyOpenColorIO.ColorSpace, referenceSpace: PyOpenColorIO.ReferenceSpaceType = <ReferenceSpaceType.REFERENCE_SPACE_SCENE: 0>, name: str = '', aliases: List[str] = [], family: str = '', encoding: str = '', equalityGroup: str = '', description: str = '', bitDepth: PyOpenColorIO.BitDepth = <BitDepth.BIT_DEPTH_UNKNOWN: 0>, isData: bool = False, allocation: PyOpenColorIO.Allocation = <Allocation.ALLOCATION_UNIFORM: 1>, allocationVars: List[float] = [], toReference: PyOpenColorIO.Transform = None, fromReference: PyOpenColorIO.Transform = None, categories: List[str] = []) -> None
.. py:method:: ColorSpace.__str__(self: PyOpenColorIO.ColorSpace) -> str
:module: PyOpenColorIO
.. py:method:: ColorSpace.addAlias(self: PyOpenColorIO.ColorSpace, alias: str) -> None
:module: PyOpenColorIO
@@ -44,6 +30,7 @@
Add a single category.
.. note::
Will do nothing if the category already exists.
@@ -135,6 +122,7 @@
Remove a category.
.. note::
Will do nothing if the category is missing.
@@ -204,3 +192,23 @@
.. py:method:: ColorSpaceCategoryIterator.__next__(self: PyOpenColorIO.ColorSpace.ColorSpaceCategoryIterator) -> str
:module: PyOpenColorIO.ColorSpace
.. py:class:: ColorSpaceAliasIterator
:module: PyOpenColorIO.ColorSpace
.. py:method:: ColorSpaceAliasIterator.__getitem__(self: PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator, arg0: int) -> str
:module: PyOpenColorIO.ColorSpace
.. py:method:: ColorSpaceAliasIterator.__iter__(self: PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator) -> PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator
:module: PyOpenColorIO.ColorSpace
.. py:method:: ColorSpaceAliasIterator.__len__(self: PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator) -> int
:module: PyOpenColorIO.ColorSpace
.. py:method:: ColorSpaceAliasIterator.__next__(self: PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator) -> str
:module: PyOpenColorIO.ColorSpace
@@ -24,3 +24,8 @@
:module: PyOpenColorIO
:value: <ColorSpaceDirection.COLORSPACE_DIR_TO_REFERENCE: 0>
.. py:method:: ColorSpaceDirection.value
:module: PyOpenColorIO
:property:
@@ -19,10 +19,6 @@
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuHelper.__str__(self: PyOpenColorIO.ColorSpaceMenuHelper) -> str
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuHelper.getDescription(self: PyOpenColorIO.ColorSpaceMenuHelper, index: int) -> str
:module: PyOpenColorIO
@@ -31,7 +27,7 @@
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuHelper.getHierarchyLevels(self: PyOpenColorIO.ColorSpaceMenuHelper, index: int) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::ColorSpaceMenuHelper>,0,unsigned __int64>
.. py:method:: ColorSpaceMenuHelper.getHierarchyLevels(self: PyOpenColorIO.ColorSpaceMenuHelper, index: int) -> PyOpenColorIO.ColorSpaceMenuHelper.ColorSpaceLevelIterator
:module: PyOpenColorIO
@@ -46,16 +46,6 @@
5) If AddColorSpace has been used to add any additional items, these are appended to the final list.
.. py:class:: ColorSpaceMenuParameters.AddedColorSpaceIterator
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuParameters.AddedColorSpaceIterator.__init__(*args, **kwargs)
:module: PyOpenColorIO
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: ColorSpaceMenuParameters.__init__(*args, **kwargs)
:module: PyOpenColorIO
@@ -66,10 +56,6 @@
2. __init__(self: PyOpenColorIO.ColorSpaceMenuParameters, config: PyOpenColorIO.Config, role: str = '', includeColorSpaces: bool = True, searchReferenceSpaceType: PyOpenColorIO.SearchReferenceSpaceType = <SearchReferenceSpaceType.SEARCH_REFERENCE_SPACE_ALL: 2>, includeNamedTransforms: bool = False, appCategories: str = '', encodings: str = '', userCategories: str = '', includeRoles: bool = False) -> None
.. py:method:: ColorSpaceMenuParameters.__str__(self: PyOpenColorIO.ColorSpaceMenuParameters) -> str
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuParameters.addColorSpace(self: PyOpenColorIO.ColorSpaceMenuParameters, colorSpace: str) -> None
:module: PyOpenColorIO
@@ -85,7 +71,7 @@
:module: PyOpenColorIO
.. py:method:: ColorSpaceMenuParameters.getAddedColorSpaces(self: PyOpenColorIO.ColorSpaceMenuParameters) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::ColorSpaceMenuParameters>,0>
.. py:method:: ColorSpaceMenuParameters.getAddedColorSpaces(self: PyOpenColorIO.ColorSpaceMenuParameters) -> PyOpenColorIO.ColorSpaceMenuParameters.AddedColorSpaceIterator
:module: PyOpenColorIO
@@ -17,9 +17,11 @@
2. __init__(self: PyOpenColorIO.ColorSpaceTransform, src: str = '', dst: str = '', direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>, dataBypass: bool = True) -> None
.. py:method:: ColorSpaceTransform.__str__(self: PyOpenColorIO.ColorSpaceTransform) -> str
.. py:method:: ColorSpaceTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: ColorSpaceTransform.getDataBypass(self: PyOpenColorIO.ColorSpaceTransform) -> bool
:module: PyOpenColorIO
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <ColorSpaceVisibility.COLORSPACE_INACTIVE: 1>
.. py:method:: ColorSpaceVisibility.value
:module: PyOpenColorIO
:property:
+50 -50
View File
@@ -47,20 +47,20 @@
Overloaded function.
1. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> OpenColorIO_v2_0rc1::Processor
1. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> PyOpenColorIO.Processor
Get a processor to convert between color spaces in two separate configs.
This relies on both configs having the aces_interchange role (when srcName is scene-referred) or the role cie_xyz_d65_interchange (when srcName is display-referred) defined. An exception is thrown if that is not the case.
2. GetProcessorFromConfigs(srcContext: OpenColorIO_v2_0rc1::Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstContext: OpenColorIO_v2_0rc1::Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> OpenColorIO_v2_0rc1::Processor
2. GetProcessorFromConfigs(srcContext: PyOpenColorIO.Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, dstContext: PyOpenColorIO.Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str) -> PyOpenColorIO.Processor
3. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> OpenColorIO_v2_0rc1::Processor
3. GetProcessorFromConfigs(srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> PyOpenColorIO.Processor
The srcInterchangeName and dstInterchangeName must refer to a pair of color spaces in the two configs that are the same. A role name may also be used.
4. GetProcessorFromConfigs(srcContext: OpenColorIO_v2_0rc1::Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstContext: OpenColorIO_v2_0rc1::Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> OpenColorIO_v2_0rc1::Processor
4. GetProcessorFromConfigs(srcContext: PyOpenColorIO.Context, srcConfig: PyOpenColorIO.Config, srcColorSpaceName: str, srcInterchangeName: str, dstContext: PyOpenColorIO.Context, dstConfig: PyOpenColorIO.Config, dstColorSpaceName: str, dstInterchangeName: str) -> PyOpenColorIO.Processor
.. py:method:: Config.__init__(self: PyOpenColorIO.Config) -> None
@@ -76,7 +76,7 @@
:module: PyOpenColorIO
.. py:method:: Config.addColorSpace(self: PyOpenColorIO.Config, colorSpace: OpenColorIO_v2_0rc1::ColorSpace) -> None
.. py:method:: Config.addColorSpace(self: PyOpenColorIO.Config, colorSpace: PyOpenColorIO.ColorSpace) -> None
:module: PyOpenColorIO
Add a color space to the configuration.
@@ -122,11 +122,11 @@
Add (or update) an environment variable with a default value. But it removes it if the default value is null.
.. py:method:: Config.addLook(self: PyOpenColorIO.Config, look: OpenColorIO_v2_0rc1::Look) -> None
.. py:method:: Config.addLook(self: PyOpenColorIO.Config, look: PyOpenColorIO.Look) -> None
:module: PyOpenColorIO
.. py:method:: Config.addNamedTransform(self: PyOpenColorIO.Config, namedTransform: OpenColorIO_v2_0rc1::NamedTransform) -> None
.. py:method:: Config.addNamedTransform(self: PyOpenColorIO.Config, namedTransform: PyOpenColorIO.NamedTransform) -> None
:module: PyOpenColorIO
@@ -145,7 +145,7 @@
Will throw if view or colorSpaceName are null or empty.
.. py:method:: Config.addViewTransform(self: PyOpenColorIO.Config, viewTransform: OpenColorIO_v2_0rc1::ViewTransform) -> None
.. py:method:: Config.addViewTransform(self: PyOpenColorIO.Config, viewTransform: PyOpenColorIO.ViewTransform) -> None
:module: PyOpenColorIO
@@ -208,7 +208,7 @@
This will produce a hash of the all colorspace definitions, etc. All external references, such as files used in FileTransforms, etc., will be incorporated into the cacheID. While the contents of the files are not read, the file system is queried for relevant information (mtime, inode) so that the config's cacheID will change when the underlying luts are updated. If a context is not provided, the current :ref:`Context` will be used. If a null context is provided, file references will not be taken into account (this is essentially a hash of :ref:`Config::serialize`).
2. getCacheID(self: PyOpenColorIO.Config, context: OpenColorIO_v2_0rc1::Context) -> str
2. getCacheID(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context) -> str
This will produce a hash of the all colorspace definitions, etc. All external references, such as files used in FileTransforms, etc., will be incorporated into the cacheID. While the contents of the files are not read, the file system is queried for relevant information (mtime, inode) so that the config's cacheID will change when the underlying luts are updated. If a context is not provided, the current :ref:`Context` will be used. If a null context is provided, file references will not be taken into account (this is essentially a hash of :ref:`Config::serialize`).
@@ -219,26 +219,19 @@
Accepts an alias, role name, named transform name, or color space name and returns the color space name or the named transform name.
.. py:method:: Config.getColorSpace(self: PyOpenColorIO.Config, name: str) -> OpenColorIO_v2_0rc1::ColorSpace
.. py:method:: Config.getColorSpace(self: PyOpenColorIO.Config, name: str) -> PyOpenColorIO.ColorSpace
:module: PyOpenColorIO
Get the color space from all the color spaces (i.e. active and inactive) and return null if the name is not found.
.. note::
The fcn accepts either a color space name, role name, or alias. (Color space names take precedence over roles.)
.. py:method:: Config.getColorSpaceFromFilepath(*args, **kwargs)
.. py:method:: Config.getColorSpaceFromFilepath(self: PyOpenColorIO.Config, filePath: str) -> tuple
:module: PyOpenColorIO
Overloaded function.
1. getColorSpaceFromFilepath(self: PyOpenColorIO.Config, filePath: str) -> str
Get the color space of the first rule that matched filePath.
2. getColorSpaceFromFilepath(self: PyOpenColorIO.Config, filePath: str, ruleIndex: int) -> str
Get the color space of the first rule that matched filePath.
@@ -257,7 +250,7 @@
Overloaded function.
1. getColorSpaces(self: PyOpenColorIO.Config, category: str) -> OpenColorIO_v2_0rc1::ColorSpaceSet
1. getColorSpaces(self: PyOpenColorIO.Config, category: str) -> PyOpenColorIO.ColorSpaceSet
Get all active color spaces having a specific category in the order they appear in the config file.
@@ -273,7 +266,7 @@
3. getColorSpaces(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.ActiveColorSpaceIterator
.. py:method:: Config.getCurrentContext(self: PyOpenColorIO.Config) -> OpenColorIO_v2_0rc1::Context
.. py:method:: Config.getCurrentContext(self: PyOpenColorIO.Config) -> PyOpenColorIO.Context
:module: PyOpenColorIO
@@ -291,7 +284,7 @@
There is no "1 size fits all" set of luma coefficients. (The values are typically different for each colorspace, and the application of them may be nonsensical depending on the intensity coding anyways). Thus, the 'right' answer is to make these functions on the :cpp:class:`:ref:`Config`` class. However, it's often useful to have a config-wide default so here it is. We will add the colorspace specific luma call if/when another client is interesting in using it.
.. py:method:: Config.getDefaultSceneToDisplayViewTransform(self: PyOpenColorIO.Config) -> OpenColorIO_v2_0rc1::ViewTransform
.. py:method:: Config.getDefaultSceneToDisplayViewTransform(self: PyOpenColorIO.Config) -> PyOpenColorIO.ViewTransform
:module: PyOpenColorIO
This view transform is the one that will be used by default if a :ref:`ColorSpaceTransform` is needed between a scene-referred and display-referred color space. The config author may specify a transform to use via the default_view_transform entry in the config. If that is not present, or does not return a valid view transform from the scene-referred connection space, the fall-back is to use the first valid view transform in the config. Returns a null ConstTransformRcPtr if there isn't one.
@@ -368,7 +361,7 @@
A single character used to separate the family string into tokens for use in hierarchical menus. Defaults to '/'.
.. py:method:: Config.getFileRules(self: PyOpenColorIO.Config) -> OpenColorIO_v2_0rc1::FileRules
.. py:method:: Config.getFileRules(self: PyOpenColorIO.Config) -> PyOpenColorIO.FileRules
:module: PyOpenColorIO
Get read-only version of the file rules.
@@ -378,7 +371,7 @@
:module: PyOpenColorIO
.. py:method:: Config.getLook(self: PyOpenColorIO.Config, name: str) -> OpenColorIO_v2_0rc1::Look
.. py:method:: Config.getLook(self: PyOpenColorIO.Config, name: str) -> PyOpenColorIO.Look
:module: PyOpenColorIO
@@ -410,7 +403,7 @@
The name string may be used to communicate config update details or similar information to workflows external to OCIO in cases where the config path/filename itself does not provide adequate information.
.. py:method:: Config.getNamedTransform(self: PyOpenColorIO.Config, name: str) -> OpenColorIO_v2_0rc1::NamedTransform
.. py:method:: Config.getNamedTransform(self: PyOpenColorIO.Config, name: str) -> PyOpenColorIO.NamedTransform
:module: PyOpenColorIO
@@ -439,33 +432,33 @@
Overloaded function.
1. getProcessor(self: PyOpenColorIO.Config, srcColorSpace: OpenColorIO_v2_0rc1::ColorSpace, dstColorSpace: OpenColorIO_v2_0rc1::ColorSpace) -> OpenColorIO_v2_0rc1::Processor
1. getProcessor(self: PyOpenColorIO.Config, srcColorSpace: PyOpenColorIO.ColorSpace, dstColorSpace: PyOpenColorIO.ColorSpace) -> PyOpenColorIO.Processor
2. getProcessor(self: PyOpenColorIO.Config, context: OpenColorIO_v2_0rc1::Context, srcColorSpace: OpenColorIO_v2_0rc1::ColorSpace, dstColorSpace: OpenColorIO_v2_0rc1::ColorSpace) -> OpenColorIO_v2_0rc1::Processor
2. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpace: PyOpenColorIO.ColorSpace, dstColorSpace: PyOpenColorIO.ColorSpace) -> PyOpenColorIO.Processor
3. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, dstColorSpaceName: str) -> OpenColorIO_v2_0rc1::Processor
3. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, dstColorSpaceName: str) -> PyOpenColorIO.Processor
.. note::
Names can be colorspace name, role name, or a combination of both.
4. getProcessor(self: PyOpenColorIO.Config, context: OpenColorIO_v2_0rc1::Context, srcColorSpaceName: str, dstColorSpaceName: str) -> OpenColorIO_v2_0rc1::Processor
4. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpaceName: str, dstColorSpaceName: str) -> PyOpenColorIO.Processor
5. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> OpenColorIO_v2_0rc1::Processor
5. getProcessor(self: PyOpenColorIO.Config, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor
6. getProcessor(self: PyOpenColorIO.Config, context: OpenColorIO_v2_0rc1::Context, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> OpenColorIO_v2_0rc1::Processor
6. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, srcColorSpaceName: str, display: str, view: str, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor
cpp:function::
7. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform) -> OpenColorIO_v2_0rc1::Processor
7. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform) -> PyOpenColorIO.Processor
Get the processor for the specified transform.
Not often needed, but will allow for the re-use of atomic OCIO functionality (such as to apply an individual LUT file).
8. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> OpenColorIO_v2_0rc1::Processor
8. getProcessor(self: PyOpenColorIO.Config, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor
9. getProcessor(self: PyOpenColorIO.Config, context: OpenColorIO_v2_0rc1::Context, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> OpenColorIO_v2_0rc1::Processor
9. getProcessor(self: PyOpenColorIO.Config, context: PyOpenColorIO.Context, transform: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> PyOpenColorIO.Processor
.. py:method:: Config.getRoleNames(self: PyOpenColorIO.Config) -> PyOpenColorIO.Config.RoleNameIterator
@@ -488,7 +481,7 @@
:module: PyOpenColorIO
.. py:method:: Config.getViewTransform(self: PyOpenColorIO.Config, name: str) -> OpenColorIO_v2_0rc1::ViewTransform
.. py:method:: Config.getViewTransform(self: PyOpenColorIO.Config, name: str) -> PyOpenColorIO.ViewTransform
:module: PyOpenColorIO
@@ -500,7 +493,7 @@
:module: PyOpenColorIO
.. py:method:: Config.getViewingRules(self: PyOpenColorIO.Config) -> OpenColorIO_v2_0rc1::ViewingRules
.. py:method:: Config.getViewingRules(self: PyOpenColorIO.Config) -> PyOpenColorIO.ViewingRules
:module: PyOpenColorIO
Get read-only version of the viewing rules.
@@ -558,6 +551,7 @@
Remove a color space from the configuration.
.. note::
It does not throw an exception. Name must be the canonical name. If a role name or alias is provided or if the name is not in the config, nothing is done.
@@ -648,7 +642,7 @@
Succeeds if the characters is null or a valid character from the ASCII table i.e. from value 32 (i.e. space) to 126 (i.e. '~'); otherwise, it throws an exception.
.. py:method:: Config.setFileRules(self: PyOpenColorIO.Config, fileRules: OpenColorIO_v2_0rc1::FileRules) -> None
.. py:method:: Config.setFileRules(self: PyOpenColorIO.Config, fileRules: PyOpenColorIO.FileRules) -> None
:module: PyOpenColorIO
Set file rules.
@@ -710,20 +704,26 @@
Set all search paths as a concatenated string, ':' to separate the paths.
See :ref:`addSearchPath` for a more robust and platform-agnostic method of setting the search paths.
.. py:method:: Config.setStrictParsingEnabled(self: PyOpenColorIO.Config, enabled: bool) -> None
:module: PyOpenColorIO
.. py:method:: Config.setVersion(self: PyOpenColorIO.Config, major: int, minor: int) -> None
:module: PyOpenColorIO
Set the configuration major and minor versions. Throws if version is not supported.
.. py:method:: Config.setViewingRules(self: PyOpenColorIO.Config, ViewingRules: OpenColorIO_v2_0rc1::ViewingRules) -> None
.. py:method:: Config.setViewingRules(self: PyOpenColorIO.Config, ViewingRules: PyOpenColorIO.ViewingRules) -> None
:module: PyOpenColorIO
Set viewing rules.
.. note::
The argument is cloned.
@@ -813,7 +813,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ColorSpaceIterator.__getitem__(self: PyOpenColorIO.Config.ColorSpaceIterator, arg0: int) -> OpenColorIO_v2_0rc1::ColorSpace
.. py:method:: ColorSpaceIterator.__getitem__(self: PyOpenColorIO.Config.ColorSpaceIterator, arg0: int) -> PyOpenColorIO.ColorSpace
:module: PyOpenColorIO.Config
@@ -825,7 +825,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ColorSpaceIterator.__next__(self: PyOpenColorIO.Config.ColorSpaceIterator) -> OpenColorIO_v2_0rc1::ColorSpace
.. py:method:: ColorSpaceIterator.__next__(self: PyOpenColorIO.Config.ColorSpaceIterator) -> PyOpenColorIO.ColorSpace
:module: PyOpenColorIO.Config
@@ -853,7 +853,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ActiveColorSpaceIterator.__getitem__(self: PyOpenColorIO.Config.ActiveColorSpaceIterator, arg0: int) -> OpenColorIO_v2_0rc1::ColorSpace
.. py:method:: ActiveColorSpaceIterator.__getitem__(self: PyOpenColorIO.Config.ActiveColorSpaceIterator, arg0: int) -> PyOpenColorIO.ColorSpace
:module: PyOpenColorIO.Config
@@ -865,7 +865,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ActiveColorSpaceIterator.__next__(self: PyOpenColorIO.Config.ActiveColorSpaceIterator) -> OpenColorIO_v2_0rc1::ColorSpace
.. py:method:: ActiveColorSpaceIterator.__next__(self: PyOpenColorIO.Config.ActiveColorSpaceIterator) -> PyOpenColorIO.ColorSpace
:module: PyOpenColorIO.Config
@@ -1013,7 +1013,7 @@
:module: PyOpenColorIO.Config
.. py:method:: LookIterator.__getitem__(self: PyOpenColorIO.Config.LookIterator, arg0: int) -> OpenColorIO_v2_0rc1::Look
.. py:method:: LookIterator.__getitem__(self: PyOpenColorIO.Config.LookIterator, arg0: int) -> PyOpenColorIO.Look
:module: PyOpenColorIO.Config
@@ -1025,7 +1025,7 @@
:module: PyOpenColorIO.Config
.. py:method:: LookIterator.__next__(self: PyOpenColorIO.Config.LookIterator) -> OpenColorIO_v2_0rc1::Look
.. py:method:: LookIterator.__next__(self: PyOpenColorIO.Config.LookIterator) -> PyOpenColorIO.Look
:module: PyOpenColorIO.Config
@@ -1053,7 +1053,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ViewTransformIterator.__getitem__(self: PyOpenColorIO.Config.ViewTransformIterator, arg0: int) -> OpenColorIO_v2_0rc1::ViewTransform
.. py:method:: ViewTransformIterator.__getitem__(self: PyOpenColorIO.Config.ViewTransformIterator, arg0: int) -> PyOpenColorIO.ViewTransform
:module: PyOpenColorIO.Config
@@ -1065,7 +1065,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ViewTransformIterator.__next__(self: PyOpenColorIO.Config.ViewTransformIterator) -> OpenColorIO_v2_0rc1::ViewTransform
.. py:method:: ViewTransformIterator.__next__(self: PyOpenColorIO.Config.ViewTransformIterator) -> PyOpenColorIO.ViewTransform
:module: PyOpenColorIO.Config
@@ -1093,7 +1093,7 @@
:module: PyOpenColorIO.Config
.. py:method:: NamedTransformIterator.__getitem__(self: PyOpenColorIO.Config.NamedTransformIterator, arg0: int) -> OpenColorIO_v2_0rc1::NamedTransform
.. py:method:: NamedTransformIterator.__getitem__(self: PyOpenColorIO.Config.NamedTransformIterator, arg0: int) -> PyOpenColorIO.NamedTransform
:module: PyOpenColorIO.Config
@@ -1105,7 +1105,7 @@
:module: PyOpenColorIO.Config
.. py:method:: NamedTransformIterator.__next__(self: PyOpenColorIO.Config.NamedTransformIterator) -> OpenColorIO_v2_0rc1::NamedTransform
.. py:method:: NamedTransformIterator.__next__(self: PyOpenColorIO.Config.NamedTransformIterator) -> PyOpenColorIO.NamedTransform
:module: PyOpenColorIO.Config
@@ -1133,7 +1133,7 @@
:module: PyOpenColorIO.Config
.. py:method:: ActiveNamedTransformIterator.__getitem__(self: PyOpenColorIO.Config.ActiveNamedTransformIterator, arg0: int) -> OpenColorIO_v2_0rc1::NamedTransform
.. py:method:: ActiveNamedTransformIterator.__getitem__(self: PyOpenColorIO.Config.ActiveNamedTransformIterator, arg0: int) -> PyOpenColorIO.NamedTransform
:module: PyOpenColorIO.Config
@@ -1145,6 +1145,6 @@
:module: PyOpenColorIO.Config
.. py:method:: ActiveNamedTransformIterator.__next__(self: PyOpenColorIO.Config.ActiveNamedTransformIterator) -> OpenColorIO_v2_0rc1::NamedTransform
.. py:method:: ActiveNamedTransformIterator.__next__(self: PyOpenColorIO.Config.ActiveNamedTransformIterator) -> PyOpenColorIO.NamedTransform
:module: PyOpenColorIO.Config
@@ -17,10 +17,6 @@
2. __init__(self: PyOpenColorIO.Context, workingDir: str = '', searchPaths: List[str] = [], stringVars: Dict[str, str] = {}, environmentMode: PyOpenColorIO.EnvironmentMode = <EnvironmentMode.ENV_ENVIRONMENT_LOAD_PREDEFINED: 1>) -> None
.. py:method:: Context.__str__(self: PyOpenColorIO.Context) -> str
:module: PyOpenColorIO
.. py:method:: Context.addSearchPath(self: PyOpenColorIO.Context, path: str) -> None
:module: PyOpenColorIO
@@ -18,7 +18,7 @@
Overloaded function.
1. apply(self: PyOpenColorIO.CPUProcessor, imgDesc: OpenColorIO_v2_0rc1::PyImageDesc) -> None
1. apply(self: PyOpenColorIO.CPUProcessor, imgDesc: PyOpenColorIO.ImageDesc) -> None
Apply to an image with any kind of channel ordering while respecting
@@ -37,7 +37,7 @@
2. apply(self: PyOpenColorIO.CPUProcessor, srcImgDesc: OpenColorIO_v2_0rc1::PyImageDesc, dstImgDesc: OpenColorIO_v2_0rc1::PyImageDesc) -> None
2. apply(self: PyOpenColorIO.CPUProcessor, srcImgDesc: PyOpenColorIO.ImageDesc, dstImgDesc: PyOpenColorIO.ImageDesc) -> None
Apply to an image with any kind of channel ordering while respecting
@@ -17,9 +17,11 @@
2. __init__(self: PyOpenColorIO.DisplayViewTransform, src: str = '', display: str = '', view: str = '', looksBypass: bool = False, dataBypass: bool = True, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: DisplayViewTransform.__str__(self: PyOpenColorIO.DisplayViewTransform) -> str
.. py:method:: DisplayViewTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: DisplayViewTransform.getDataBypass(self: PyOpenColorIO.DisplayViewTransform) -> bool
:module: PyOpenColorIO
@@ -27,19 +27,19 @@
Get the property as DynamicPropertyDoubleRcPtr to access the double value. Will throw if property type is not a type that holds a double such as DYNAMIC_PROPERTY_EXPOSURE.
.. py:method:: DynamicProperty.getGradingPrimary(self: PyOpenColorIO.DynamicProperty) -> OpenColorIO_v2_0rc1::GradingPrimary
.. py:method:: DynamicProperty.getGradingPrimary(self: PyOpenColorIO.DynamicProperty) -> PyOpenColorIO.GradingPrimary
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingPrimaryRcPtr to access the :ref:`GradingPrimary` value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_PRIMARY.
.. py:method:: DynamicProperty.getGradingRGBCurve(self: PyOpenColorIO.DynamicProperty) -> OpenColorIO_v2_0rc1::GradingRGBCurve
.. py:method:: DynamicProperty.getGradingRGBCurve(self: PyOpenColorIO.DynamicProperty) -> PyOpenColorIO.GradingRGBCurve
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingRGBCurveRcPtr to access the GradingRGBCurveRcPtr value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_RGBCURVE.
.. py:method:: DynamicProperty.getGradingTone(self: PyOpenColorIO.DynamicProperty) -> OpenColorIO_v2_0rc1::GradingTone
.. py:method:: DynamicProperty.getGradingTone(self: PyOpenColorIO.DynamicProperty) -> PyOpenColorIO.GradingTone
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingToneRcPtr to access the :ref:`GradingTone` value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_TONE.
@@ -55,19 +55,19 @@
Get the property as DynamicPropertyDoubleRcPtr to access the double value. Will throw if property type is not a type that holds a double such as DYNAMIC_PROPERTY_EXPOSURE.
.. py:method:: DynamicProperty.setGradingPrimary(self: PyOpenColorIO.DynamicProperty, val: OpenColorIO_v2_0rc1::GradingPrimary) -> None
.. py:method:: DynamicProperty.setGradingPrimary(self: PyOpenColorIO.DynamicProperty, val: PyOpenColorIO.GradingPrimary) -> None
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingPrimaryRcPtr to access the :ref:`GradingPrimary` value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_PRIMARY.
.. py:method:: DynamicProperty.setGradingRGBCurve(self: PyOpenColorIO.DynamicProperty, val: OpenColorIO_v2_0rc1::GradingRGBCurve) -> None
.. py:method:: DynamicProperty.setGradingRGBCurve(self: PyOpenColorIO.DynamicProperty, val: PyOpenColorIO.GradingRGBCurve) -> None
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingRGBCurveRcPtr to access the GradingRGBCurveRcPtr value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_RGBCURVE.
.. py:method:: DynamicProperty.setGradingTone(self: PyOpenColorIO.DynamicProperty, val: OpenColorIO_v2_0rc1::GradingTone) -> None
.. py:method:: DynamicProperty.setGradingTone(self: PyOpenColorIO.DynamicProperty, val: PyOpenColorIO.GradingTone) -> None
:module: PyOpenColorIO
Get the property as DynamicPropertyGradingToneRcPtr to access the :ref:`GradingTone` value. Will throw if property type is not DYNAMIC_PROPERTY_GRADING_TONE.
@@ -54,3 +54,8 @@
:module: PyOpenColorIO
:value: <DynamicPropertyType.DYNAMIC_PROPERTY_GRADING_TONE: 5>
.. py:method:: DynamicPropertyType.value
:module: PyOpenColorIO
:property:
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <EnvironmentMode.ENV_ENVIRONMENT_UNKNOWN: 0>
.. py:method:: EnvironmentMode.value
:module: PyOpenColorIO
:property:
@@ -23,9 +23,11 @@
2. __init__(self: PyOpenColorIO.ExponentTransform, value: List[float[4]] = [1.0, 1.0, 1.0, 1.0], negativeStyle: PyOpenColorIO.NegativeStyle = <NegativeStyle.NEGATIVE_CLAMP: 0>, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: ExponentTransform.__str__(self: PyOpenColorIO.ExponentTransform) -> str
.. py:method:: ExponentTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: ExponentTransform.equals(self: PyOpenColorIO.ExponentTransform, other: PyOpenColorIO.ExponentTransform) -> bool
:module: PyOpenColorIO
@@ -25,9 +25,11 @@
2. __init__(self: PyOpenColorIO.ExponentWithLinearTransform, gamma: List[float[4]] = [1.0, 1.0, 1.0, 1.0], offset: List[float[4]] = [0.0, 0.0, 0.0, 0.0], negativeStyle: PyOpenColorIO.NegativeStyle = <NegativeStyle.NEGATIVE_LINEAR: 3>, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: ExponentWithLinearTransform.__str__(self: PyOpenColorIO.ExponentWithLinearTransform) -> str
.. py:method:: ExponentWithLinearTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: ExponentWithLinearTransform.equals(self: PyOpenColorIO.ExponentWithLinearTransform, other: PyOpenColorIO.ExponentWithLinearTransform) -> bool
:module: PyOpenColorIO
@@ -33,3 +33,8 @@
:module: PyOpenColorIO
:value: <ExposureContrastStyle.EXPOSURE_CONTRAST_VIDEO: 1>
.. py:method:: ExposureContrastStyle.value
:module: PyOpenColorIO
:property:
@@ -19,9 +19,11 @@
2. __init__(self: PyOpenColorIO.ExposureContrastTransform, style: PyOpenColorIO.ExposureContrastStyle = <ExposureContrastStyle.EXPOSURE_CONTRAST_LINEAR: 0>, exposure: float = 0.0, contrast: float = 1.0, gamma: float = 1.0, pivot: float = 0.18, logExposureStep: float = 0.088, logMidGray: float = 0.435, dynamicExposure: bool = False, dynamicContrast: bool = False, dynamicGamma: bool = False, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: ExposureContrastTransform.__str__(self: PyOpenColorIO.ExposureContrastTransform) -> str
.. py:method:: ExposureContrastTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: ExposureContrastTransform.equals(self: PyOpenColorIO.ExposureContrastTransform, other: PyOpenColorIO.ExposureContrastTransform) -> bool
:module: PyOpenColorIO
@@ -17,9 +17,11 @@
2. __init__(self: PyOpenColorIO.FileTransform, src: str = '', cccId: str = '', interpolation: PyOpenColorIO.Interpolation = <Interpolation.INTERP_DEFAULT: 254>, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: FileTransform.__str__(self: PyOpenColorIO.FileTransform) -> str
.. py:method:: FileTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: FileTransform.getCCCId(self: PyOpenColorIO.FileTransform) -> str
:module: PyOpenColorIO
@@ -30,6 +30,12 @@
FIXED_FUNCTION_XYZ_TO_LUV : CIE XYZ to 1976 CIELUV colour space (D65 white)
FIXED_FUNCTION_ACES_GAMUTMAP_02 : ACES 0.2 Gamut clamping algorithm -- NOT IMPLEMENTED YET.
FIXED_FUNCTION_ACES_GAMUTMAP_07 : ACES 0.7 Gamut clamping algorithm -- NOT IMPLEMENTED YET.
FIXED_FUNCTION_ACES_GAMUTMAP_13 : ACES 1.3 Gamut mapping algorithm -- NOT IMPLEMENTED YET.
.. py:method:: name() -> str
:property:
@@ -38,6 +44,21 @@
:value: <FixedFunctionStyle.FIXED_FUNCTION_ACES_DARK_TO_DIM_10: 4>
.. py:attribute:: FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_02
:module: PyOpenColorIO
:value: <FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_02: 10>
.. py:attribute:: FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_07
:module: PyOpenColorIO
:value: <FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_07: 11>
.. py:attribute:: FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_13
:module: PyOpenColorIO
:value: <FixedFunctionStyle.FIXED_FUNCTION_ACES_GAMUTMAP_13: 12>
.. py:attribute:: FixedFunctionStyle.FIXED_FUNCTION_ACES_GLOW_03
:module: PyOpenColorIO
:value: <FixedFunctionStyle.FIXED_FUNCTION_ACES_GLOW_03: 2>
@@ -82,3 +103,8 @@
:module: PyOpenColorIO
:value: <FixedFunctionStyle.FIXED_FUNCTION_XYZ_TO_xyY: 7>
.. py:method:: FixedFunctionStyle.value
:module: PyOpenColorIO
:property:
@@ -9,19 +9,15 @@
Provides a set of hard-coded algorithmic building blocks that are needed to accurately implement various common color transformations.
.. py:method:: FixedFunctionTransform.__init__(*args, **kwargs)
.. py:method:: FixedFunctionTransform.__init__(self: PyOpenColorIO.FixedFunctionTransform, style: PyOpenColorIO.FixedFunctionStyle, params: List[float] = [], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
:module: PyOpenColorIO
Overloaded function.
1. __init__(self: PyOpenColorIO.FixedFunctionTransform) -> None
2. __init__(self: PyOpenColorIO.FixedFunctionTransform, style: PyOpenColorIO.FixedFunctionStyle = <FixedFunctionStyle.FIXED_FUNCTION_ACES_RED_MOD_03: 0>, params: List[float] = [], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: FixedFunctionTransform.__str__(self: PyOpenColorIO.FixedFunctionTransform) -> str
.. py:method:: FixedFunctionTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: FixedFunctionTransform.equals(self: PyOpenColorIO.FixedFunctionTransform, other: PyOpenColorIO.FixedFunctionTransform) -> bool
:module: PyOpenColorIO
@@ -47,3 +47,8 @@
:module: PyOpenColorIO
:value: <GpuLanguage.GPU_LANGUAGE_HLSL_DX11: 4>
.. py:method:: GpuLanguage.value
:module: PyOpenColorIO
:property:
@@ -13,19 +13,11 @@
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: GPUProcessor.extractGpuShaderInfo(*args, **kwargs)
.. py:method:: GPUProcessor.extractGpuShaderInfo(self: PyOpenColorIO.GPUProcessor, shaderDesc: PyOpenColorIO.GpuShaderDesc) -> None
:module: PyOpenColorIO
Overloaded function.
1. extractGpuShaderInfo(self: PyOpenColorIO.GPUProcessor, shaderDesc: OpenColorIO_v2_0rc1::GpuShaderDesc) -> None
Extract & Store the shader information to implement the color processing.
2. extractGpuShaderInfo(self: PyOpenColorIO.GPUProcessor, shaderCreator: OpenColorIO_v2_0rc1::GpuShaderCreator) -> None
Extract the shader information using a custom :ref:`GpuShaderCreator` class.
.. py:method:: GPUProcessor.getCacheID(self: PyOpenColorIO.GPUProcessor) -> str
:module: PyOpenColorIO
@@ -13,18 +13,6 @@
To better decouple the DynamicProperties from their GPU implementation, the code provides several addUniform() methods i.e. one per access function types. For example, an :ref:`ExposureContrastTransform` instance owns three DynamicProperties and they are all implemented by a double. When creating the GPU fragment shader program, the addUniform() with :ref:`GpuShaderCreator::DoubleGetter` is called when property is dynamic, up to three times.
.. py:method:: GpuShaderCreator.__init__(self: PyOpenColorIO.GpuShaderCreator) -> None
:module: PyOpenColorIO
.. py:method:: GpuShaderCreator.add3DTexture(self: PyOpenColorIO.GpuShaderCreator, textureName: str, samplerName: str, edgeLen: int, interpolation: PyOpenColorIO.Interpolation, values: float) -> None
:module: PyOpenColorIO
.. py:method:: GpuShaderCreator.addTexture(self: PyOpenColorIO.GpuShaderCreator, textureName: str, samplerName: str, width: int, height: int, channel: PyOpenColorIO.GpuShaderCreator.TextureType, interpolation: PyOpenColorIO.Interpolation, values: float) -> None
:module: PyOpenColorIO
.. py:method:: GpuShaderCreator.addToDeclareShaderCode(self: PyOpenColorIO.GpuShaderCreator, shaderCode: str) -> None
:module: PyOpenColorIO
@@ -85,7 +73,7 @@
:module: PyOpenColorIO
.. py:method:: GpuShaderCreator.getDynamicProperty(self: PyOpenColorIO.GpuShaderCreator, type: PyOpenColorIO.DynamicPropertyType) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: GpuShaderCreator.getDynamicProperty(self: PyOpenColorIO.GpuShaderCreator, type: PyOpenColorIO.DynamicPropertyType) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO
@@ -180,11 +168,16 @@
:value: <TextureType.TEXTURE_RGB_CHANNEL: 1>
.. py:method:: TextureType.value
:module: PyOpenColorIO.GpuShaderCreator
:property:
.. py:class:: DynamicPropertyIterator
:module: PyOpenColorIO.GpuShaderCreator
.. py:method:: DynamicPropertyIterator.__getitem__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator, arg0: int) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: DynamicPropertyIterator.__getitem__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator, arg0: int) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO.GpuShaderCreator
@@ -196,6 +189,6 @@
:module: PyOpenColorIO.GpuShaderCreator
.. py:method:: DynamicPropertyIterator.__next__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: DynamicPropertyIterator.__next__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO.GpuShaderCreator
@@ -61,7 +61,7 @@
Start to collect the shader data.
.. py:method:: GpuShaderDesc.clone(self: PyOpenColorIO.GpuShaderCreator) -> PyOpenColorIO.GpuShaderCreator
.. py:method:: GpuShaderDesc.clone(self: PyOpenColorIO.GpuShaderDesc) -> PyOpenColorIO.GpuShaderCreator
:module: PyOpenColorIO
@@ -87,10 +87,6 @@
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.get3DTextureValues(self: PyOpenColorIO.GpuShaderDesc, index: int) -> numpy.ndarray
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.get3DTextures(self: PyOpenColorIO.GpuShaderDesc) -> PyOpenColorIO.GpuShaderDesc.Texture3DIterator
:module: PyOpenColorIO
@@ -103,7 +99,7 @@
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.getDynamicProperty(self: PyOpenColorIO.GpuShaderCreator, type: PyOpenColorIO.DynamicPropertyType) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: GpuShaderDesc.getDynamicProperty(self: PyOpenColorIO.GpuShaderCreator, type: PyOpenColorIO.DynamicPropertyType) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO
@@ -121,14 +117,6 @@
To avoid texture/unform name clashes always append an increasing number to the resource name.
.. py:method:: GpuShaderDesc.getNum3DTextures(self: PyOpenColorIO.GpuShaderDesc) -> int
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.getNumTextures(self: PyOpenColorIO.GpuShaderDesc) -> int
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.getPixelName(self: PyOpenColorIO.GpuShaderCreator) -> str
:module: PyOpenColorIO
@@ -140,15 +128,21 @@
Some applications require that textures, uniforms, and helper methods be uniquely named because several processor instances could coexist.
.. py:method:: GpuShaderDesc.getShaderText(self: PyOpenColorIO.GpuShaderDesc) -> str
:module: PyOpenColorIO
Get the complete OCIO shader program.
.. py:method:: GpuShaderDesc.getTextureMaxWidth(self: PyOpenColorIO.GpuShaderCreator) -> int
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.getTextureValues(self: PyOpenColorIO.GpuShaderDesc, index: int) -> numpy.ndarray
.. py:method:: GpuShaderDesc.getTextures(self: PyOpenColorIO.GpuShaderDesc) -> PyOpenColorIO.GpuShaderDesc.TextureIterator
:module: PyOpenColorIO
.. py:method:: GpuShaderDesc.getTextures(self: PyOpenColorIO.GpuShaderDesc) -> PyOpenColorIO.GpuShaderDesc.TextureIterator
.. py:method:: GpuShaderDesc.getUniforms(self: PyOpenColorIO.GpuShaderDesc) -> PyOpenColorIO.GpuShaderDesc.UniformIterator
:module: PyOpenColorIO
@@ -214,6 +208,40 @@
:value: <TextureType.TEXTURE_RGB_CHANNEL: 1>
.. py:method:: TextureType.value
:module: PyOpenColorIO.GpuShaderDesc
:property:
.. py:class:: UniformData
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.getBool(self: PyOpenColorIO.GpuShaderDesc.UniformData) -> bool
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.getDouble(self: PyOpenColorIO.GpuShaderDesc.UniformData) -> float
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.getFloat3(self: PyOpenColorIO.GpuShaderDesc.UniformData) -> List[float[3]]
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.getVectorFloat(self: PyOpenColorIO.GpuShaderDesc.UniformData) -> numpy.ndarray
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.getVectorInt(self: PyOpenColorIO.GpuShaderDesc.UniformData) -> numpy.ndarray
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformData.type
:module: PyOpenColorIO.GpuShaderDesc
:property:
.. py:class:: Texture
:module: PyOpenColorIO.GpuShaderDesc
@@ -223,6 +251,10 @@
:property:
.. py:method:: Texture.getValues(self: PyOpenColorIO.GpuShaderDesc.Texture) -> numpy.ndarray
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: Texture.height
:module: PyOpenColorIO.GpuShaderDesc
:property:
@@ -257,6 +289,10 @@
:property:
.. py:method:: Texture3D.getValues(self: PyOpenColorIO.GpuShaderDesc.Texture3D) -> numpy.ndarray
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: Texture3D.interpolation
:module: PyOpenColorIO.GpuShaderDesc
:property:
@@ -272,6 +308,26 @@
:property:
.. py:class:: UniformIterator
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformIterator.__getitem__(self: PyOpenColorIO.GpuShaderDesc.UniformIterator, arg0: int) -> tuple
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformIterator.__iter__(self: PyOpenColorIO.GpuShaderDesc.UniformIterator) -> PyOpenColorIO.GpuShaderDesc.UniformIterator
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformIterator.__len__(self: PyOpenColorIO.GpuShaderDesc.UniformIterator) -> int
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: UniformIterator.__next__(self: PyOpenColorIO.GpuShaderDesc.UniformIterator) -> tuple
:module: PyOpenColorIO.GpuShaderDesc
.. py:class:: TextureIterator
:module: PyOpenColorIO.GpuShaderDesc
@@ -316,7 +372,7 @@
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: DynamicPropertyIterator.__getitem__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator, arg0: int) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: DynamicPropertyIterator.__getitem__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator, arg0: int) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO.GpuShaderDesc
@@ -328,6 +384,6 @@
:module: PyOpenColorIO.GpuShaderDesc
.. py:method:: DynamicPropertyIterator.__next__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: DynamicPropertyIterator.__next__(self: PyOpenColorIO.GpuShaderCreator.DynamicPropertyIterator) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO.GpuShaderDesc
@@ -23,10 +23,6 @@
Create a BSpline curve with a list of control points.
.. py:method:: GradingBSplineCurve.__str__(self: PyOpenColorIO.GradingBSplineCurve) -> str
:module: PyOpenColorIO
.. py:method:: GradingBSplineCurve.getControlPoints(self: PyOpenColorIO.GradingBSplineCurve) -> PyOpenColorIO.GradingBSplineCurve.GradingControlPointIterator
:module: PyOpenColorIO
@@ -19,10 +19,6 @@
2. __init__(self: PyOpenColorIO.GradingControlPoint, x: float = 0.0, y: float = 0.0) -> None
.. py:method:: GradingControlPoint.__str__(self: PyOpenColorIO.GradingControlPoint) -> str
:module: PyOpenColorIO
.. py:method:: GradingControlPoint.x
:module: PyOpenColorIO
:property:
@@ -23,10 +23,6 @@
:module: PyOpenColorIO
.. py:method:: GradingPrimary.__str__(self: PyOpenColorIO.GradingPrimary) -> str
:module: PyOpenColorIO
.. py:method:: GradingPrimary.brightness
:module: PyOpenColorIO
:property:
@@ -23,7 +23,7 @@
Overloaded function.
1. __init__(self: PyOpenColorIO.GradingPrimaryTransform, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, values: PyOpenColorIO.GradingPrimary, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
1. __init__(self: PyOpenColorIO.GradingPrimaryTransform, values: PyOpenColorIO.GradingPrimary, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingPrimaryTransform`.
@@ -32,9 +32,11 @@
Creates an instance of :ref:`GradingPrimaryTransform`.
.. py:method:: GradingPrimaryTransform.__str__(self: PyOpenColorIO.Transform) -> str
.. py:method:: GradingPrimaryTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: GradingPrimaryTransform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
@@ -18,11 +18,7 @@
Do not use (needed only for pybind11).
2. __init__(self: PyOpenColorIO.GradingRGBCurve, red: PyOpenColorIO.GradingBSplineCurve = <PyOpenColorIO.GradingBSplineCurve object at 0x7f9cabe66230>, green: PyOpenColorIO.GradingBSplineCurve = <PyOpenColorIO.GradingBSplineCurve object at 0x7f9cabe661f0>, blue: PyOpenColorIO.GradingBSplineCurve = <PyOpenColorIO.GradingBSplineCurve object at 0x7f9cabe66170>, master: PyOpenColorIO.GradingBSplineCurve = <PyOpenColorIO.GradingBSplineCurve object at 0x7f9cabe64f70>) -> None
.. py:method:: GradingRGBCurve.__str__(self: PyOpenColorIO.GradingRGBCurve) -> str
:module: PyOpenColorIO
2. __init__(self: PyOpenColorIO.GradingRGBCurve, red: PyOpenColorIO.GradingBSplineCurve = <control_points=[<x=0, y=0><x=0.5, y=0.5><x=1, y=1>]>, green: PyOpenColorIO.GradingBSplineCurve = <control_points=[<x=0, y=0><x=0.5, y=0.5><x=1, y=1>]>, blue: PyOpenColorIO.GradingBSplineCurve = <control_points=[<x=0, y=0><x=0.5, y=0.5><x=1, y=1>]>, master: PyOpenColorIO.GradingBSplineCurve = <control_points=[<x=0, y=0><x=0.5, y=0.5><x=1, y=1>]>) -> None
.. py:method:: GradingRGBCurve.blue
@@ -1,118 +1,120 @@
..
SPDX-License-Identifier: CC-BY-4.0
Copyright Contributors to the OpenColorIO Project.
Do not edit! This file was automatically generated by share/docs/frozendoc.py.
.. py:class:: GradingRGBCurveTransform
:module: PyOpenColorIO
RGB curve color correction controls.
This transform allows for modifying tone reproduction via B-spline curves.
There is an R, G, and B curve along with a Master curve (that applies to R, G, and B). Each curve is specified via the x and y coordinates of its control points. A monotonic spline is fit to the control points. The x coordinates must be non-decreasing. When the grading style is linear, the units for the control points are photographic stops relative to 0.18.
The control points are dynamic, so they may be adjusted even after the :ref:`Transform` is included in a :ref:`Processor`.
.. py:method:: GradingRGBCurveTransform.__init__(*args, **kwargs)
:module: PyOpenColorIO
Overloaded function.
1. __init__(self: PyOpenColorIO.GradingRGBCurveTransform, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, values: PyOpenColorIO.GradingRGBCurve, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingPrimaryTransform`.
2. __init__(self: PyOpenColorIO.GradingRGBCurveTransform, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingPrimaryTransform`.
.. py:method:: GradingRGBCurveTransform.__str__(self: PyOpenColorIO.Transform) -> str
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getBypassLinToLog(self: PyOpenColorIO.GradingRGBCurveTransform) -> bool
:module: PyOpenColorIO
The scene-linear grading style applies a lin-to-log transform to the pixel values before going through the curve. However, in some cases (e.g. drawing curves in a UI) it may be useful to bypass the lin-to-log. Default value is false.
.. py:method:: GradingRGBCurveTransform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getFormatMetadata(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.FormatMetadata
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getSlope(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType, index: int) -> float
:module: PyOpenColorIO
It is possible to provide a desired slope value for each control point. The number of slopes is always the same as the number of control points and so the control points must be set before setting the slopes. The slopes are primarily intended for use by config authors looking to match a specific shape with as few control points as possible, they are not intended to be exposed to a user interface for direct manipulation. When a curve is being generated for creative purposes it is better to let OCIO calculate the slopes automatically.
.. py:method:: GradingRGBCurveTransform.getStyle(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.GradingStyle
:module: PyOpenColorIO
Adjusts the behavior of the transform for log, linear, or video color space encodings.
.. py:method:: GradingRGBCurveTransform.getTransformType(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformType
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getValue(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.GradingRGBCurve
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.isDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> bool
:module: PyOpenColorIO
Parameters can be made dynamic so the values can be changed through the CPU or GPU processor, but if there are several :ref:`GradingRGBCurveTransform` only one can have dynamic parameters.
.. py:method:: GradingRGBCurveTransform.makeDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.makeNonDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setBypassLinToLog(self: PyOpenColorIO.GradingRGBCurveTransform, bypass: bool) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setDirection(self: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> None
:module: PyOpenColorIO
Note that this only affects the evaluation and not the values stored in the object.
.. py:method:: GradingRGBCurveTransform.setSlope(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType, index: int, slope: float) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setStyle(self: PyOpenColorIO.GradingRGBCurveTransform, style: PyOpenColorIO.GradingStyle) -> None
:module: PyOpenColorIO
Will reset value to style's defaults if style is not the current style.
.. py:method:: GradingRGBCurveTransform.setValue(self: PyOpenColorIO.GradingRGBCurveTransform, values: PyOpenColorIO.GradingRGBCurve) -> None
:module: PyOpenColorIO
Throws if value is not valid.
.. py:method:: GradingRGBCurveTransform.slopesAreDefault(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType) -> bool
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.validate(self: PyOpenColorIO.Transform) -> None
:module: PyOpenColorIO
Will throw if data is not valid.
..
SPDX-License-Identifier: CC-BY-4.0
Copyright Contributors to the OpenColorIO Project.
Do not edit! This file was automatically generated by share/docs/frozendoc.py.
.. py:class:: GradingRGBCurveTransform
:module: PyOpenColorIO
RGB curve color correction controls.
This transform allows for modifying tone reproduction via B-spline curves.
There is an R, G, and B curve along with a Master curve (that applies to R, G, and B). Each curve is specified via the x and y coordinates of its control points. A monotonic spline is fit to the control points. The x coordinates must be non-decreasing. When the grading style is linear, the units for the control points are photographic stops relative to 0.18.
The control points are dynamic, so they may be adjusted even after the :ref:`Transform` is included in a :ref:`Processor`.
.. py:method:: GradingRGBCurveTransform.__init__(*args, **kwargs)
:module: PyOpenColorIO
Overloaded function.
1. __init__(self: PyOpenColorIO.GradingRGBCurveTransform, values: PyOpenColorIO.GradingRGBCurve, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingPrimaryTransform`.
2. __init__(self: PyOpenColorIO.GradingRGBCurveTransform, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingPrimaryTransform`.
.. py:method:: GradingRGBCurveTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: GradingRGBCurveTransform.getBypassLinToLog(self: PyOpenColorIO.GradingRGBCurveTransform) -> bool
:module: PyOpenColorIO
The scene-linear grading style applies a lin-to-log transform to the pixel values before going through the curve. However, in some cases (e.g. drawing curves in a UI) it may be useful to bypass the lin-to-log. Default value is false.
.. py:method:: GradingRGBCurveTransform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getFormatMetadata(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.FormatMetadata
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getSlope(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType, index: int) -> float
:module: PyOpenColorIO
It is possible to provide a desired slope value for each control point. The number of slopes is always the same as the number of control points and so the control points must be set before setting the slopes. The slopes are primarily intended for use by config authors looking to match a specific shape with as few control points as possible, they are not intended to be exposed to a user interface for direct manipulation. When a curve is being generated for creative purposes it is better to let OCIO calculate the slopes automatically.
.. py:method:: GradingRGBCurveTransform.getStyle(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.GradingStyle
:module: PyOpenColorIO
Adjusts the behavior of the transform for log, linear, or video color space encodings.
.. py:method:: GradingRGBCurveTransform.getTransformType(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformType
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.getValue(self: PyOpenColorIO.GradingRGBCurveTransform) -> PyOpenColorIO.GradingRGBCurve
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.isDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> bool
:module: PyOpenColorIO
Parameters can be made dynamic so the values can be changed through the CPU or GPU processor, but if there are several :ref:`GradingRGBCurveTransform` only one can have dynamic parameters.
.. py:method:: GradingRGBCurveTransform.makeDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.makeNonDynamic(self: PyOpenColorIO.GradingRGBCurveTransform) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setBypassLinToLog(self: PyOpenColorIO.GradingRGBCurveTransform, bypass: bool) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setDirection(self: PyOpenColorIO.Transform, direction: PyOpenColorIO.TransformDirection) -> None
:module: PyOpenColorIO
Note that this only affects the evaluation and not the values stored in the object.
.. py:method:: GradingRGBCurveTransform.setSlope(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType, index: int, slope: float) -> None
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.setStyle(self: PyOpenColorIO.GradingRGBCurveTransform, style: PyOpenColorIO.GradingStyle) -> None
:module: PyOpenColorIO
Will reset value to style's defaults if style is not the current style.
.. py:method:: GradingRGBCurveTransform.setValue(self: PyOpenColorIO.GradingRGBCurveTransform, values: PyOpenColorIO.GradingRGBCurve) -> None
:module: PyOpenColorIO
Throws if value is not valid.
.. py:method:: GradingRGBCurveTransform.slopesAreDefault(self: PyOpenColorIO.GradingRGBCurveTransform, channel: PyOpenColorIO.RGBCurveType) -> bool
:module: PyOpenColorIO
.. py:method:: GradingRGBCurveTransform.validate(self: PyOpenColorIO.Transform) -> None
:module: PyOpenColorIO
Will throw if data is not valid.
@@ -19,10 +19,6 @@
2. __init__(self: PyOpenColorIO.GradingRGBM, red: float, green: float, blue: float, master: float) -> None
.. py:method:: GradingRGBM.__str__(self: PyOpenColorIO.GradingRGBM) -> str
:module: PyOpenColorIO
.. py:method:: GradingRGBM.blue
:module: PyOpenColorIO
:property:
@@ -21,10 +21,6 @@
3. __init__(self: PyOpenColorIO.GradingRGBMSW, start: float, width: float) -> None
.. py:method:: GradingRGBMSW.__str__(self: PyOpenColorIO.GradingRGBMSW) -> str
:module: PyOpenColorIO
.. py:method:: GradingRGBMSW.blue
:module: PyOpenColorIO
:property:
@@ -33,3 +33,8 @@
:module: PyOpenColorIO
:value: <GradingStyle.GRADING_VIDEO: 2>
.. py:method:: GradingStyle.value
:module: PyOpenColorIO
:property:
@@ -13,10 +13,6 @@
:module: PyOpenColorIO
.. py:method:: GradingTone.__str__(self: PyOpenColorIO.GradingTone) -> str
:module: PyOpenColorIO
.. py:method:: GradingTone.blacks
:module: PyOpenColorIO
:property:
@@ -31,7 +31,7 @@
Overloaded function.
1. __init__(self: PyOpenColorIO.GradingToneTransform, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, values: PyOpenColorIO.GradingTone, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
1. __init__(self: PyOpenColorIO.GradingToneTransform, values: PyOpenColorIO.GradingTone, style: PyOpenColorIO.GradingStyle = <GradingStyle.GRADING_LOG: 0>, dynamic: bool = False, dir: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
Creates an instance of :ref:`GradingToneTransform`.
@@ -40,9 +40,11 @@
Creates an instance of :ref:`GradingToneTransform`.
.. py:method:: GradingToneTransform.__str__(self: PyOpenColorIO.Transform) -> str
.. py:method:: GradingToneTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: GradingToneTransform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
@@ -7,21 +7,11 @@
:module: PyOpenColorIO
.. py:method:: GroupTransform.GetWriteFormats() -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::GroupTransform>,1>
.. py:method:: GroupTransform.GetWriteFormats() -> PyOpenColorIO.GroupTransform.WriteFormatIterator
:module: PyOpenColorIO
:staticmethod:
.. py:class:: GroupTransform.WriteFormatIterator
:module: PyOpenColorIO
.. py:method:: GroupTransform.WriteFormatIterator.__init__(*args, **kwargs)
:module: PyOpenColorIO
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: GroupTransform.__init__(*args, **kwargs)
:module: PyOpenColorIO
@@ -32,9 +22,11 @@
2. __init__(self: PyOpenColorIO.GroupTransform, transforms: List[PyOpenColorIO.Transform] = [], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: GroupTransform.__str__(self: PyOpenColorIO.GroupTransform) -> str
.. py:method:: GroupTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: GroupTransform.appendTransform(self: PyOpenColorIO.GroupTransform, transform: PyOpenColorIO.Transform) -> None
:module: PyOpenColorIO
@@ -77,10 +69,11 @@
Overloaded function.
1. write(self: PyOpenColorIO.GroupTransform, config: OpenColorIO_v2_0rc1::Config, context: OpenColorIO_v2_0rc1::Context, formatName: str, fileName: str) -> None
1. write(self: PyOpenColorIO.GroupTransform, formatName: str, fileName: str, config: PyOpenColorIO.Config = None) -> None
Write the transforms comprising the group to the stream.
Writing (as opposed to Baking) is a lossless process. An exception is thrown if the processor cannot be losslessly written to the specified file format. Transforms such as :ref:`FileTransform` or :ref:`ColorSpaceTransform` are resolved into write-able simple transforms using the config and context. Supported formats include CTF, CLF, and CDL. All available formats can be listed with the following: .. code-block:: cpp
// What are the allowed writing output formats?
@@ -93,10 +86,11 @@
formats << " (." << GroupTransform::GetFormatExtensionByIndex(i) << ")";
}
2. write(self: PyOpenColorIO.GroupTransform, config: OpenColorIO_v2_0rc1::Config, context: OpenColorIO_v2_0rc1::Context, formatName: str) -> str
2. write(self: PyOpenColorIO.GroupTransform, formatName: str, config: PyOpenColorIO.Config = None) -> str
Write the transforms comprising the group to the stream.
Writing (as opposed to Baking) is a lossless process. An exception is thrown if the processor cannot be losslessly written to the specified file format. Transforms such as :ref:`FileTransform` or :ref:`ColorSpaceTransform` are resolved into write-able simple transforms using the config and context. Supported formats include CTF, CLF, and CDL. All available formats can be listed with the following: .. code-block:: cpp
// What are the allowed writing output formats?
@@ -110,6 +104,26 @@
}
.. py:class:: WriteFormatIterator
:module: PyOpenColorIO.GroupTransform
.. py:method:: WriteFormatIterator.__getitem__(self: PyOpenColorIO.GroupTransform.WriteFormatIterator, arg0: int) -> tuple
:module: PyOpenColorIO.GroupTransform
.. py:method:: WriteFormatIterator.__iter__(self: PyOpenColorIO.GroupTransform.WriteFormatIterator) -> PyOpenColorIO.GroupTransform.WriteFormatIterator
:module: PyOpenColorIO.GroupTransform
.. py:method:: WriteFormatIterator.__len__(self: PyOpenColorIO.GroupTransform.WriteFormatIterator) -> int
:module: PyOpenColorIO.GroupTransform
.. py:method:: WriteFormatIterator.__next__(self: PyOpenColorIO.GroupTransform.WriteFormatIterator) -> tuple
:module: PyOpenColorIO.GroupTransform
.. py:class:: TransformIterator
:module: PyOpenColorIO.GroupTransform
@@ -71,3 +71,8 @@
:module: PyOpenColorIO
:value: <Interpolation.INTERP_UNKNOWN: 0>
.. py:method:: Interpolation.value
:module: PyOpenColorIO
:property:
@@ -32,10 +32,6 @@
:module: PyOpenColorIO
.. py:method:: LegacyViewingPipeline.__str__(self: PyOpenColorIO.LegacyViewingPipeline) -> str
:module: PyOpenColorIO
.. py:method:: LegacyViewingPipeline.getChannelView(self: PyOpenColorIO.LegacyViewingPipeline) -> PyOpenColorIO.Transform
:module: PyOpenColorIO
@@ -24,9 +24,11 @@
2. __init__(self: PyOpenColorIO.LogAffineTransform, logSideSlope: List[float[3]] = [1.0, 1.0, 1.0], logSideOffset: List[float[3]] = [0.0, 0.0, 0.0], linSideSlope: List[float[3]] = [1.0, 1.0, 1.0], linSideOffset: List[float[3]] = [0.0, 0.0, 0.0], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: LogAffineTransform.__str__(self: PyOpenColorIO.LogAffineTransform) -> str
.. py:method:: LogAffineTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: LogAffineTransform.equals(self: PyOpenColorIO.LogAffineTransform, other: PyOpenColorIO.LogAffineTransform) -> bool
:module: PyOpenColorIO
@@ -6,25 +6,23 @@
.. py:class:: LogCameraTransform
:module: PyOpenColorIO
Same as :cpp:class:`:ref:`LogAffineTransform`` but with the addition of a linear segment near black. This formula is used for many camera logs (e.g., LogC) as well as ACEScct.
Same as :ref:`LogAffineTransform` but with the addition of a linear segment near black. This formula is used for many camera logs (e.g., LogC) as well as ACEScct.
- The linSideBreak specifies the point on the linear axis where the log and linear segments meet. It must be set (there is no default).
- The linearSlope specifies the slope of the linear segment of the forward (linToLog) transform. By default it is set equal to the slope of the log curve at the break point.
.. py:method:: LogCameraTransform.__init__(*args, **kwargs)
.. py:method:: LogCameraTransform.__init__(self: PyOpenColorIO.LogCameraTransform, linSideBreak: List[float[3]], base: float = 2.0, logSideSlope: List[float[3]] = [1.0, 1.0, 1.0], logSideOffset: List[float[3]] = [0.0, 0.0, 0.0], linSideSlope: List[float[3]] = [1.0, 1.0, 1.0], linSideOffset: List[float[3]] = [0.0, 0.0, 0.0], linearSlope: List[float] = [], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
:module: PyOpenColorIO
Overloaded function.
1. __init__(self: PyOpenColorIO.LogCameraTransform) -> None
2. __init__(self: PyOpenColorIO.LogCameraTransform, linSideBreak: List[float[3]], logSideSlope: List[float[3]] = [1.0, 1.0, 1.0], logSideOffset: List[float[3]] = [0.0, 0.0, 0.0], linSideSlope: List[float[3]] = [1.0, 1.0, 1.0], linSideOffset: List[float[3]] = [0.0, 0.0, 0.0], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
LinSideBreak must be set for the transform to be valid (there is no default).
.. py:method:: LogCameraTransform.__str__(self: PyOpenColorIO.LogCameraTransform) -> str
.. py:method:: LogCameraTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: LogCameraTransform.equals(self: PyOpenColorIO.LogCameraTransform, other: PyOpenColorIO.LogCameraTransform) -> bool
:module: PyOpenColorIO
@@ -47,8 +45,6 @@
.. py:method:: LogCameraTransform.getLinSideBreakValue(self: PyOpenColorIO.LogCameraTransform) -> List[float[3]]
:module: PyOpenColorIO
Return true if LinSideBreak values were set, false if they were not.
.. py:method:: LogCameraTransform.getLinSideOffsetValue(self: PyOpenColorIO.LogCameraTransform) -> List[float[3]]
:module: PyOpenColorIO
@@ -61,7 +57,7 @@
.. py:method:: LogCameraTransform.getLinearSlopeValue(self: PyOpenColorIO.LogCameraTransform) -> List[float[3]]
:module: PyOpenColorIO
Return true if LinearSlope values were set, false if they were not.
Return LinearSlope or 3 qnan values if not defined.
.. py:method:: LogCameraTransform.getLogSideOffsetValue(self: PyOpenColorIO.LogCameraTransform) -> List[float[3]]
@@ -71,11 +67,17 @@
.. py:method:: LogCameraTransform.getLogSideSlopeValue(self: PyOpenColorIO.LogCameraTransform) -> List[float[3]]
:module: PyOpenColorIO
Get/Set values for the R, G, B components.
.. py:method:: LogCameraTransform.getTransformType(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformType
:module: PyOpenColorIO
.. py:method:: LogCameraTransform.isLinearSlopeValueSet(self: PyOpenColorIO.LogCameraTransform) -> bool
:module: PyOpenColorIO
.. py:method:: LogCameraTransform.setBase(self: PyOpenColorIO.LogCameraTransform, base: float) -> None
:module: PyOpenColorIO
@@ -45,3 +45,8 @@
:module: PyOpenColorIO
:value: <LoggingLevel.LOGGING_LEVEL_WARNING: 1>
.. py:method:: LoggingLevel.value
:module: PyOpenColorIO
:property:
@@ -23,9 +23,11 @@
2. __init__(self: PyOpenColorIO.LogTransform, base: float = 2.0, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: LogTransform.__str__(self: PyOpenColorIO.LogTransform) -> str
.. py:method:: LogTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: LogTransform.equals(self: PyOpenColorIO.LogTransform, other: PyOpenColorIO.LogTransform) -> bool
:module: PyOpenColorIO
@@ -17,10 +17,6 @@
2. __init__(self: PyOpenColorIO.Look, name: str = '', processSpace: str = '', transform: PyOpenColorIO.Transform = None, inverseTransform: PyOpenColorIO.Transform = None, description: str = '') -> None
.. py:method:: Look.__str__(self: PyOpenColorIO.Look) -> str
:module: PyOpenColorIO
.. py:method:: Look.getDescription(self: PyOpenColorIO.Look) -> str
:module: PyOpenColorIO
@@ -14,12 +14,14 @@
1. __init__(self: PyOpenColorIO.LookTransform) -> None
2. __init__(self: PyOpenColorIO.LookTransform, src: str = '', dst: str = '', looks: str = '', direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>, skipColorSpaceConversion: bool = False) -> None
2. __init__(self: PyOpenColorIO.LookTransform, src: str, dst: str, looks: str = '', skipColorSpaceConversion: bool = False, direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: LookTransform.__str__(self: PyOpenColorIO.LookTransform) -> str
.. py:method:: LookTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: LookTransform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
@@ -10,9 +10,11 @@
Members:
HUE_NONE :
HUE_NONE : No adjustment.
HUE_DW3 :
HUE_DW3 : Algorithm used in ACES Output Transforms through v0.7.
HUE_WYPN : Weighted Yellow Power Norm -- NOT IMPLEMENTED YET.
.. py:method:: name() -> str
:property:
@@ -26,3 +28,13 @@
:module: PyOpenColorIO
:value: <Lut1DHueAdjust.HUE_NONE: 0>
.. py:attribute:: Lut1DHueAdjust.HUE_WYPN
:module: PyOpenColorIO
:value: <Lut1DHueAdjust.HUE_WYPN: 2>
.. py:method:: Lut1DHueAdjust.value
:module: PyOpenColorIO
:property:
@@ -27,9 +27,11 @@
Create an identity 1D-LUT with specific length and half-domain setting. Will throw for lengths longer than 1024x1024.
.. py:method:: Lut1DTransform.__str__(self: PyOpenColorIO.Lut1DTransform) -> str
.. py:method:: Lut1DTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: Lut1DTransform.equals(self: PyOpenColorIO.Lut1DTransform, other: PyOpenColorIO.Lut1DTransform) -> bool
:module: PyOpenColorIO
@@ -27,9 +27,11 @@
Create an identity 3D-LUT with specific grid size. Will throw for grid size larger than 129.
.. py:method:: Lut3DTransform.__str__(self: PyOpenColorIO.Lut3DTransform) -> str
.. py:method:: Lut3DTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: Lut3DTransform.equals(self: PyOpenColorIO.Lut3DTransform, other: PyOpenColorIO.Lut3DTransform) -> bool
:module: PyOpenColorIO
@@ -47,9 +47,11 @@
2. __init__(self: PyOpenColorIO.MatrixTransform, matrix: List[float[16]] = [1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0], offset: List[float[4]] = [0.0, 0.0, 0.0, 0.0], direction: PyOpenColorIO.TransformDirection = <TransformDirection.TRANSFORM_DIR_FORWARD: 0>) -> None
.. py:method:: MatrixTransform.__str__(self: PyOpenColorIO.MatrixTransform) -> str
.. py:method:: MatrixTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: MatrixTransform.equals(self: PyOpenColorIO.MatrixTransform, other: PyOpenColorIO.MatrixTransform) -> bool
:module: PyOpenColorIO
@@ -13,15 +13,11 @@
:module: PyOpenColorIO
.. py:method:: MixingColorSpaceManager.__str__(self: PyOpenColorIO.MixingColorSpaceManager) -> str
.. py:method:: MixingColorSpaceManager.getMixingEncodings(self: PyOpenColorIO.MixingColorSpaceManager) -> PyOpenColorIO.MixingColorSpaceManager.MixingEncodingIterator
:module: PyOpenColorIO
.. py:method:: MixingColorSpaceManager.getMixingEncodings(self: PyOpenColorIO.MixingColorSpaceManager) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::MixingColorSpaceManager>,1>
:module: PyOpenColorIO
.. py:method:: MixingColorSpaceManager.getMixingSpaces(self: PyOpenColorIO.MixingColorSpaceManager) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::MixingColorSpaceManager>,0>
.. py:method:: MixingColorSpaceManager.getMixingSpaces(self: PyOpenColorIO.MixingColorSpaceManager) -> PyOpenColorIO.MixingColorSpaceManager.MixingSpaceIterator
:module: PyOpenColorIO
@@ -23,10 +23,6 @@
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: MixingSlider.__str__(self: PyOpenColorIO.MixingSlider) -> str
:module: PyOpenColorIO
.. py:method:: MixingSlider.getSliderMaxEdge(self: PyOpenColorIO.MixingSlider) -> float
:module: PyOpenColorIO
@@ -8,6 +8,7 @@
:ref:`NamedTransform`.
A :ref:`NamedTransform` provides a way for config authors to include a set of color transforms that are independent of the color space being processed. For example a "utility
curve" transform where there is no need to convert to or from a reference space.
@@ -32,10 +33,6 @@
2. __init__(self: PyOpenColorIO.NamedTransform, name: str = '', aliases: List[str] = [], family: str = '', description: str = '', forwardTransform: PyOpenColorIO.Transform = None, inverseTransform: PyOpenColorIO.Transform = None, categories: List[str] = []) -> None
.. py:method:: NamedTransform.__str__(self: PyOpenColorIO.NamedTransform) -> str
:module: PyOpenColorIO
.. py:method:: NamedTransform.addAlias(self: PyOpenColorIO.NamedTransform, alias: str) -> None
:module: PyOpenColorIO
@@ -60,11 +57,11 @@
:ref:`ColorSpace::clearCategories`
.. py:method:: NamedTransform.getAliases(self: PyOpenColorIO.NamedTransform) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::NamedTransform>,1>
.. py:method:: NamedTransform.getAliases(self: PyOpenColorIO.NamedTransform) -> PyOpenColorIO.NamedTransform.NamedTransformAliasIterator
:module: PyOpenColorIO
.. py:method:: NamedTransform.getCategories(self: PyOpenColorIO.NamedTransform) -> OpenColorIO_v2_0rc1::PyIterator<std::shared_ptr<OpenColorIO_v2_0rc1::NamedTransform>,0>
.. py:method:: NamedTransform.getCategories(self: PyOpenColorIO.NamedTransform) -> PyOpenColorIO.NamedTransform.NamedTransformCategoryIterator
:module: PyOpenColorIO
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <NamedTransformVisibility.NAMEDTRANSFORM_INACTIVE: 1>
.. py:method:: NamedTransformVisibility.value
:module: PyOpenColorIO
:property:
@@ -40,3 +40,8 @@
:module: PyOpenColorIO
:value: <NegativeStyle.NEGATIVE_PASS_THRU: 2>
.. py:method:: NegativeStyle.value
:module: PyOpenColorIO
:property:
@@ -208,3 +208,8 @@
:module: PyOpenColorIO
:value: <OptimizationFlags.OPTIMIZATION_VERY_GOOD: 263995331>
.. py:method:: OptimizationFlags.value
:module: PyOpenColorIO
:property:
@@ -25,7 +25,7 @@
:module: PyOpenColorIO
.. py:method:: Processor.getDefaultCPUProcessor(self: PyOpenColorIO.Processor) -> OpenColorIO_v2_0rc1::CPUProcessor
.. py:method:: Processor.getDefaultCPUProcessor(self: PyOpenColorIO.Processor) -> PyOpenColorIO.CPUProcessor
:module: PyOpenColorIO
Get an optimized :cpp:class:`:ref:`CPUProcessor`` instance.
@@ -50,19 +50,19 @@
cpuProcessor->apply(img);
.. py:method:: Processor.getDefaultGPUProcessor(self: PyOpenColorIO.Processor) -> OpenColorIO_v2_0rc1::GPUProcessor
.. py:method:: Processor.getDefaultGPUProcessor(self: PyOpenColorIO.Processor) -> PyOpenColorIO.GPUProcessor
:module: PyOpenColorIO
Get an optimized :ref:`GPUProcessor` instance.
.. py:method:: Processor.getDynamicProperty(self: PyOpenColorIO.Processor, type: PyOpenColorIO.DynamicPropertyType) -> OpenColorIO_v2_0rc1::DynamicProperty
.. py:method:: Processor.getDynamicProperty(self: PyOpenColorIO.Processor, type: PyOpenColorIO.DynamicPropertyType) -> PyOpenColorIO.DynamicProperty
:module: PyOpenColorIO
The returned pointer may be used to set the default value of any dynamic properties of the requested type. Throws if the requested property is not found. Note that if the processor contains several ops that support the requested property, only one can be dynamic and only this one will be controlled.
.. note::
The dynamic properties are a convenient way to change on-the-fly values without generating again and again a CPU or GPU processor instance. Color transformations can contain dynamic properties from a :cpp:class:`:ref:`ExposureContrastTransform`` for example. So, :cpp:class:`:ref:`Processor``, :cpp:class:`:ref:`CPUProcessor`` and :cpp:class:`:ref:`GpuShaderCreator`` all have ways to manage dynamic properties. However, the transform dynamic properties are decoupled between the types of processor instances so that the same :cpp:class:`:ref:`Processor`` can generate several independent CPU and/or GPU processor instances i.e. changing the value of the exposure dynamic property from a CPU processor instance does not affect the corresponding GPU processor instance. :ref:`Processor` creation will throw if there are more than one property of a given type.
The dynamic properties are a convenient way to change on-the-fly values without generating again and again a CPU or GPU processor instance. Color transformations can contain dynamic properties from a :ref:`ExposureContrastTransform` for example. So, :ref:`Processor`, :ref:`CPUProcessor` and :ref:`GpuShaderCreator` all have ways to manage dynamic properties. However, the transform dynamic properties are decoupled between the types of processor instances so that the same :ref:`Processor` can generate several independent CPU and/or GPU processor instances i.e. changing the value of the exposure dynamic property from a CPU processor instance does not affect the corresponding GPU processor instance. :ref:`Processor` creation will log a warning if there are more than one property of a given type. There may be more than one property of a given type, but only one will respond to parameter updates, the others will use their original parameter values.
.. py:method:: Processor.getFormatMetadata(self: PyOpenColorIO.Processor) -> PyOpenColorIO.FormatMetadata
@@ -76,12 +76,12 @@
Overloaded function.
1. getOptimizedCPUProcessor(self: PyOpenColorIO.Processor, oFlags: PyOpenColorIO.OptimizationFlags) -> OpenColorIO_v2_0rc1::CPUProcessor
1. getOptimizedCPUProcessor(self: PyOpenColorIO.Processor, oFlags: PyOpenColorIO.OptimizationFlags) -> PyOpenColorIO.CPUProcessor
2. getOptimizedCPUProcessor(self: PyOpenColorIO.Processor, inBitDepth: PyOpenColorIO.BitDepth, outBitDepth: PyOpenColorIO.BitDepth, oFlags: PyOpenColorIO.OptimizationFlags) -> OpenColorIO_v2_0rc1::CPUProcessor
2. getOptimizedCPUProcessor(self: PyOpenColorIO.Processor, inBitDepth: PyOpenColorIO.BitDepth, outBitDepth: PyOpenColorIO.BitDepth, oFlags: PyOpenColorIO.OptimizationFlags) -> PyOpenColorIO.CPUProcessor
.. py:method:: Processor.getOptimizedGPUProcessor(self: PyOpenColorIO.Processor, oFlags: PyOpenColorIO.OptimizationFlags) -> OpenColorIO_v2_0rc1::GPUProcessor
.. py:method:: Processor.getOptimizedGPUProcessor(self: PyOpenColorIO.Processor, oFlags: PyOpenColorIO.OptimizationFlags) -> PyOpenColorIO.GPUProcessor
:module: PyOpenColorIO
@@ -99,7 +99,7 @@
Run the optimizer on a :ref:`Processor` to create a new :cpp:class:`:ref:`Processor``. It is usually not necessary to call this since getting a :ref:`CPUProcessor` or :ref:`GPUProcessor` will also optimize. However if you need both, calling this method first makes getting a CPU and GPU :ref:`Processor` faster since the optimization is effectively only done once.
.. py:method:: Processor.getProcessorMetadata(self: PyOpenColorIO.Processor) -> OpenColorIO_v2_0rc1::ProcessorMetadata
.. py:method:: Processor.getProcessorMetadata(self: PyOpenColorIO.Processor) -> PyOpenColorIO.ProcessorMetadata
:module: PyOpenColorIO
The :ref:`ProcessorMetadata` contains technical information such as the number of files and looks used in the processor.
@@ -115,18 +115,16 @@
True if the image transformation is non-separable. For example, if a change in red may also cause a change in green or blue.
.. py:method:: Processor.hasDynamicProperty(*args, **kwargs)
.. py:method:: Processor.hasDynamicProperty(self: PyOpenColorIO.Processor, type: PyOpenColorIO.DynamicPropertyType) -> bool
:module: PyOpenColorIO
Overloaded function.
1. hasDynamicProperty(self: PyOpenColorIO.Processor, type: PyOpenColorIO.DynamicPropertyType) -> bool
True if at least one dynamic property of that type exists.
2. hasDynamicProperty(self: PyOpenColorIO.Processor) -> bool
True if at least one dynamic property of that type exists.
.. py:method:: Processor.isDynamic(self: PyOpenColorIO.Processor) -> bool
:module: PyOpenColorIO
True if at least one dynamic property of any type exists and is dynamic.
.. py:method:: Processor.isNoOp(self: PyOpenColorIO.Processor) -> bool
@@ -40,3 +40,8 @@
:module: PyOpenColorIO
:value: <ProcessorCacheFlags.PROCESSOR_CACHE_SHARE_DYN_PROPERTIES: 2>
.. py:method:: ProcessorCacheFlags.value
:module: PyOpenColorIO
:property:
@@ -26,3 +26,8 @@
:module: PyOpenColorIO
:value: <RangeStyle.RANGE_NO_CLAMP: 0>
.. py:method:: RangeStyle.value
:module: PyOpenColorIO
:property:
@@ -30,9 +30,11 @@
Creates an instance of :ref:`RangeTransform`.
.. py:method:: RangeTransform.__str__(self: PyOpenColorIO.RangeTransform) -> str
.. py:method:: RangeTransform.__str__()
:module: PyOpenColorIO
Return str(self).
.. py:method:: RangeTransform.equals(self: PyOpenColorIO.RangeTransform, other: PyOpenColorIO.RangeTransform) -> bool
:module: PyOpenColorIO
@@ -156,16 +158,14 @@
Set the Range style to clamp or not input values.
.. py:method:: RangeTransform.unsetMaxOutValue(*args, **kwargs)
.. py:method:: RangeTransform.unsetMaxInValue(self: PyOpenColorIO.RangeTransform) -> None
:module: PyOpenColorIO
Overloaded function.
Unset the maximum value for the input.
1. unsetMaxOutValue(self: PyOpenColorIO.RangeTransform) -> None
Unset the maximum value for the output.
2. unsetMaxOutValue(self: PyOpenColorIO.RangeTransform) -> None
.. py:method:: RangeTransform.unsetMaxOutValue(self: PyOpenColorIO.RangeTransform) -> None
:module: PyOpenColorIO
Unset the maximum value for the output.
@@ -26,3 +26,8 @@
:module: PyOpenColorIO
:value: <ReferenceSpaceType.REFERENCE_SPACE_SCENE: 0>
.. py:method:: ReferenceSpaceType.value
:module: PyOpenColorIO
:property:
@@ -47,3 +47,8 @@
:module: PyOpenColorIO
:value: <RGBCurveType.RGB_RED: 0>
.. py:method:: RGBCurveType.value
:module: PyOpenColorIO
:property:
@@ -31,3 +31,8 @@
:module: PyOpenColorIO
:value: <SearchReferenceSpaceType.SEARCH_REFERENCE_SPACE_SCENE: 0>
.. py:method:: SearchReferenceSpaceType.value
:module: PyOpenColorIO
:property:
@@ -3,10 +3,12 @@
Copyright Contributors to the OpenColorIO Project.
Do not edit! This file was automatically generated by share/docs/frozendoc.py.
.. py:function:: SetComputeHashFunction(hashFunction: std::function<std::basic_string<char,std::char_traits<char>,std::allocator<char> > __cdecl(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64)>) -> None
.. py:function:: SetComputeHashFunction(hashFunction: Callable[[str], str]) -> None
:module: PyOpenColorIO
Set the Compute Hash Function to use; otherwise, use the default.
:param ComputeHashFunction:
@@ -3,7 +3,7 @@
Copyright Contributors to the OpenColorIO Project.
Do not edit! This file was automatically generated by share/docs/frozendoc.py.
.. py:function:: SetLoggingFunction(logFunction: std::function<void (char const*)>) -> None
.. py:function:: SetLoggingFunction(logFunction: Callable[[str], None]) -> None
:module: PyOpenColorIO
Set the logging function to use; otherwise, use the default (i.e. std::cerr).
@@ -15,10 +15,6 @@
Initialize self. See help(type(self)) for accurate signature.
.. py:method:: Transform.__str__(self: PyOpenColorIO.Transform) -> str
:module: PyOpenColorIO
.. py:method:: Transform.getDirection(self: PyOpenColorIO.Transform) -> PyOpenColorIO.TransformDirection
:module: PyOpenColorIO
@@ -24,3 +24,8 @@
:module: PyOpenColorIO
:value: <TransformDirection.TRANSFORM_DIR_INVERSE: 1>
.. py:method:: TransformDirection.value
:module: PyOpenColorIO
:property:
@@ -164,3 +164,8 @@
:module: PyOpenColorIO
:value: <TransformType.TRANSFORM_TYPE_RANGE: 21>
.. py:method:: TransformType.value
:module: PyOpenColorIO
:property:
@@ -14,6 +14,8 @@
UNIFORM_BOOL :
UNIFORM_FLOAT3 : Array of 3 floats.
UNIFORM_VECTOR_FLOAT : Vector of floats (size is set by uniform).
UNIFORM_VECTOR_INT : Vector of int pairs (size is set by uniform).
@@ -33,6 +35,11 @@
:value: <UniformDataType.UNIFORM_DOUBLE: 0>
.. py:attribute:: UniformDataType.UNIFORM_FLOAT3
:module: PyOpenColorIO
:value: <UniformDataType.UNIFORM_FLOAT3: 2>
.. py:attribute:: UniformDataType.UNIFORM_UNKNOWN
:module: PyOpenColorIO
:value: <UniformDataType.UNIFORM_UNKNOWN: 5>
@@ -47,3 +54,8 @@
:module: PyOpenColorIO
:value: <UniformDataType.UNIFORM_VECTOR_INT: 4>
.. py:method:: UniformDataType.value
:module: PyOpenColorIO
:property:
@@ -17,10 +17,6 @@
2. __init__(self: PyOpenColorIO.ViewTransform, referenceSpace: PyOpenColorIO.ReferenceSpaceType = <ReferenceSpaceType.REFERENCE_SPACE_SCENE: 0>, name: str = '', family: str = '', description: str = '', toReference: PyOpenColorIO.Transform = None, fromReference: PyOpenColorIO.Transform = None, categories: List[str] = []) -> None
.. py:method:: ViewTransform.__str__(self: PyOpenColorIO.ViewTransform) -> str
:module: PyOpenColorIO
.. py:method:: ViewTransform.addCategory(self: PyOpenColorIO.ViewTransform, category: str) -> None
:module: PyOpenColorIO
@@ -24,3 +24,8 @@
:module: PyOpenColorIO
:value: <ViewTransformDirection.VIEWTRANSFORM_DIR_TO_REFERENCE: 0>
.. py:method:: ViewTransformDirection.value
:module: PyOpenColorIO
:property:
@@ -24,3 +24,8 @@
:module: PyOpenColorIO
:value: <ViewType.VIEW_SHARED: 0>
.. py:method:: ViewType.value
:module: PyOpenColorIO
:property:
@@ -6,7 +6,10 @@
:members:
:undoc-members:
:special-members: __init__, __str__
:exclude-members: ColorSpaceCategoryIterator
:exclude-members: ColorSpaceCategoryIterator, ColorSpaceAliasIterator
.. autoclass:: PyOpenColorIO.ColorSpace.ColorSpaceCategoryIterator
:special-members: __getitem__, __iter__, __len__, __next__
.. autoclass:: PyOpenColorIO.ColorSpace.ColorSpaceAliasIterator
:special-members: __getitem__, __iter__, __len__, __next__
@@ -8,6 +8,10 @@
:members:
:undoc-members:
:special-members: __init__, __str__
:exclude-members: AddedColorSpaceIterator
.. autoclass:: PyOpenColorIO.ColorSpaceMenuHelper.AddedColorSpaceIterator
:special-members: __getitem__, __iter__, __len__, __next__
.. autoclass:: PyOpenColorIO.ColorSpaceMenuHelper
:members:
@@ -5,7 +5,6 @@
.. autoclass:: PyOpenColorIO.GpuShaderCreator
:members:
:undoc-members:
:special-members: __init__
:exclude-members: TextureType,
TEXTURE_RED_CHANNEL,
TEXTURE_RGB_CHANNEL,
@@ -9,8 +9,10 @@
:exclude-members: TextureType,
TEXTURE_RED_CHANNEL,
TEXTURE_RGB_CHANNEL,
UniformData,
Texture,
Texture3D,
UniformIterator,
TextureIterator,
Texture3DIterator,
DynamicPropertyIterator
@@ -24,6 +26,10 @@
.. py:method:: name() -> str
:property:
.. autoclass:: PyOpenColorIO.GpuShaderDesc.UniformData
:members:
:undoc-members:
.. autoclass:: PyOpenColorIO.GpuShaderDesc.Texture
:members:
:undoc-members:
@@ -32,6 +38,9 @@
:members:
:undoc-members:
.. autoclass:: PyOpenColorIO.GpuShaderDesc.UniformIterator
:special-members: __getitem__, __iter__, __len__, __next__
.. autoclass:: PyOpenColorIO.GpuShaderDesc.TextureIterator
:special-members: __getitem__, __iter__, __len__, __next__
@@ -7,7 +7,10 @@
:undoc-members:
:special-members: __init__, __str__
:inherited-members:
:exclude-members: TransformIterator
:exclude-members: TransformIterator, WriteFormatIterator
.. autoclass:: PyOpenColorIO.GroupTransform.WriteFormatIterator
:special-members: __getitem__, __iter__, __len__, __next__
.. autoclass:: PyOpenColorIO.GroupTransform.TransformIterator
:special-members: __getitem__, __iter__, __len__, __next__
+1 -1
View File
@@ -227,7 +227,7 @@ public:
* Get the name to use in the menu UI. This might be different from the config name, for
* example in the case of roles. Will be empty if the index is out of range.
*/
virtual const char * getUIName(size_t idx) const noexcept = 0;;
virtual const char * getUIName(size_t idx) const noexcept = 0;
/**
* Get the index of the element of a given name. Return (size_t)-1 name if NULL or empty, or if
+26 -12
View File
@@ -2115,14 +2115,15 @@ public:
*
* \note The dynamic properties are a convenient way to change on-the-fly values without
* generating again and again a CPU or GPU processor instance. Color transformations can
* contain dynamic properties from a :cpp:class:`ExposureContrastTransform` for example.
* So, :cpp:class:`Processor`, :cpp:class:`CPUProcessor` and :cpp:class:`GpuShaderCreator`
* all have ways to manage dynamic properties. However, the transform dynamic properties
* are decoupled between the types of processor instances so that the same
* :cpp:class:`Processor` can generate several independent CPU and/or GPU processor
* instances i.e. changing the value of the exposure dynamic property from a CPU processor
* instance does not affect the corresponding GPU processor instance. Processor creation will
* throw if there are more than one property of a given type.
* contain dynamic properties from a ExposureContrastTransform for example.
* So, Processor, CPUProcessor and GpuShaderCreator all have ways to manage dynamic
* properties. However, the transform dynamic properties are decoupled between the types
* of processor instances so that the same Processor can generate several independent CPU
* and/or GPU processor instances i.e. changing the value of the exposure dynamic property
* from a CPU processor instance does not affect the corresponding GPU processor instance.
* Processor creation will log a warning if there are more than one property of a given type.
* There may be more than one property of a given type, but only one will respond to parameter
* updates, the others will use their original parameter values.
*/
DynamicPropertyRcPtr getDynamicProperty(DynamicPropertyType type) const;
/// True if at least one dynamic property of that type exists.
@@ -2150,10 +2151,18 @@ public:
// GPU Renderer
//
/// Get an optimized \ref GPUProcessor instance.
/// Get an optimized GPUProcessor instance.
ConstGPUProcessorRcPtr getDefaultGPUProcessor() const;
ConstGPUProcessorRcPtr getOptimizedGPUProcessor(OptimizationFlags oFlags) const;
/**
* Get an optimized GPUProcessor instance that will emulate the OCIO v1 GPU path. This approach
* bakes some of the ops into a single Lut3D and so is less accurate than the current GPU
* processing methods.
*/
ConstGPUProcessorRcPtr getOptimizedLegacyGPUProcessor(OptimizationFlags oFlags,
unsigned edgelen) const;
//
// CPU Renderer
//
@@ -2300,7 +2309,7 @@ public:
/// Extract & Store the shader information to implement the color processing.
void extractGpuShaderInfo(GpuShaderDescRcPtr & shaderDesc) const;
/// Extract the shader information using a custom \ref GpuShaderCreator class.
/// Extract the shader information using a custom GpuShaderCreator class.
void extractGpuShaderInfo(GpuShaderCreatorRcPtr & shaderCreator) const;
GPUProcessor(const GPUProcessor &) = delete;
@@ -3044,7 +3053,7 @@ protected:
// //
// OCIO::GpuShaderDescRcPtr shaderDesc = MyCustomGpuShader::Create();
//
// shaderDesc->setLanguage(OCIO::GPU_LANGUAGE_GLSL_1_3);
// shaderDesc->setLanguage(OCIO::GPU_LANGUAGE_GLSL_1_2);
// shaderDesc->setFunctionName("OCIODisplay");
//
// // Step 2: Collect the shader program information for a specific processor
@@ -3079,7 +3088,12 @@ class OCIOEXPORT GpuShaderDesc : public GpuShaderCreator
{
public:
/// Create the legacy shader description.
/**
* Create the legacy GPU shader description. This is now deprecated (to be removed in
* the coming release i.e. 2.1.x).
* Do not use it because that's broken. So, this method has been replaced by the pair
* Processor::getOptimizedLegacyGPUProcessor() and GpuShaderDesc::CreateShaderDesc().
*/
static GpuShaderDescRcPtr CreateLegacyShaderDesc(unsigned edgelen);
/// Create the default shader description.
+12 -12
View File
@@ -1088,7 +1088,10 @@ extern OCIOEXPORT std::ostream & operator<<(std::ostream &, const FileTransform
class OCIOEXPORT FixedFunctionTransform : public Transform
{
public:
static FixedFunctionTransformRcPtr Create();
static FixedFunctionTransformRcPtr Create(FixedFunctionStyle style);
static FixedFunctionTransformRcPtr Create(FixedFunctionStyle style,
const double * params,
size_t num);
TransformType getTransformType() const noexcept override { return TRANSFORM_TYPE_FIXED_FUNCTION; }
@@ -1360,7 +1363,6 @@ public:
* @endcode
*/
virtual void write(const ConstConfigRcPtr & config,
const ConstContextRcPtr & context,
const char * formatName,
std::ostream & os) const = 0;
@@ -1385,7 +1387,7 @@ extern OCIOEXPORT std::ostream & operator<<(std::ostream &, const GroupTransform
/**
* Applies a logarithm with an affine transform before and after.
* Applies a logarithm with an affine transform before and after.
* Represents the Cineon lin-to-log type transforms::
*
* logSideSlope * log( linSideSlope * color + linSideOffset, base) + logSideOffset
@@ -1433,8 +1435,8 @@ extern OCIOEXPORT std::ostream & operator<<(std::ostream &, const LogAffineTrans
/**
* Same as :cpp:class:`LogAffineTransform` but with the addition of a linear segment
* near black. This formula is used for many camera logs (e.g., LogC) as well as ACEScct.
* Same as LogAffineTransform but with the addition of a linear segment near black. This formula
* is used for many camera logs (e.g., LogC) as well as ACEScct.
*
* * The linSideBreak specifies the point on the linear axis where the log and linear
* segments meet. It must be set (there is no default).
@@ -1444,7 +1446,8 @@ extern OCIOEXPORT std::ostream & operator<<(std::ostream &, const LogAffineTrans
class OCIOEXPORT LogCameraTransform : public Transform
{
public:
static LogCameraTransformRcPtr Create();
/// LinSideBreak must be set for the transform to be valid (there is no default).
static LogCameraTransformRcPtr Create(const double(&linSideBreakValues)[3]);
TransformType getTransformType() const noexcept override { return TRANSFORM_TYPE_LOG_CAMERA; }
@@ -1457,8 +1460,7 @@ public:
virtual double getBase() const noexcept = 0;
virtual void setBase(double base) noexcept = 0;
// !rst:: **Get/Set values for the R, G, B components**
/// Get/Set values for the R, G, B components.
virtual void getLogSideSlopeValue(double(&values)[3]) const noexcept = 0;
virtual void setLogSideSlopeValue(const double(&values)[3]) noexcept = 0;
virtual void getLogSideOffsetValue(double(&values)[3]) const noexcept = 0;
@@ -1467,9 +1469,7 @@ public:
virtual void setLinSideSlopeValue(const double(&values)[3]) noexcept = 0;
virtual void getLinSideOffsetValue(double(&values)[3]) const noexcept = 0;
virtual void setLinSideOffsetValue(const double(&values)[3]) noexcept = 0;
/// Return true if LinSideBreak values were set, false if they were not.
virtual bool getLinSideBreakValue(double(&values)[3]) const noexcept = 0;
virtual void getLinSideBreakValue(double(&values)[3]) const noexcept = 0;
virtual void setLinSideBreakValue(const double(&values)[3]) noexcept = 0;
/// Return true if LinearSlope values were set, false if they were not.
@@ -1680,7 +1680,7 @@ public:
* feature that was used in some versions of ACES. This adjusts the hue
* of the result to approximately match the input.
*/
virtual void setHueAdjust(Lut1DHueAdjust algo) noexcept = 0;
virtual void setHueAdjust(Lut1DHueAdjust algo) = 0;
virtual Interpolation getInterpolation() const = 0;
virtual void setInterpolation(Interpolation algo) = 0;
+27 -3
View File
@@ -417,8 +417,9 @@ enum BitDepth
/// Used by :cpp:class`Lut1DTransform` to control optional hue restoration algorithm.
enum Lut1DHueAdjust
{
HUE_NONE = 0, // No adjustment.
HUE_DW3 // Algorithm used in ACES Output Transforms through v0.7.
HUE_NONE = 0, ///< No adjustment.
HUE_DW3, ///< Algorithm used in ACES Output Transforms through v0.7.
HUE_WYPN ///< Weighted Yellow Power Norm -- NOT IMPLEMENTED YET
};
/// Used by \ref PackedImageDesc to indicate the channel ordering of the image to process.
@@ -473,7 +474,10 @@ enum FixedFunctionStyle
FIXED_FUNCTION_RGB_TO_HSV, ///< Classic RGB to HSV function
FIXED_FUNCTION_XYZ_TO_xyY, ///< CIE XYZ to 1931 xy chromaticity coordinates
FIXED_FUNCTION_XYZ_TO_uvY, ///< CIE XYZ to 1976 u'v' chromaticity coordinates
FIXED_FUNCTION_XYZ_TO_LUV ///< CIE XYZ to 1976 CIELUV colour space (D65 white)
FIXED_FUNCTION_XYZ_TO_LUV, ///< CIE XYZ to 1976 CIELUV colour space (D65 white)
FIXED_FUNCTION_ACES_GAMUTMAP_02, ///< ACES 0.2 Gamut clamping algorithm -- NOT IMPLEMENTED YET
FIXED_FUNCTION_ACES_GAMUTMAP_07, ///< ACES 0.7 Gamut clamping algorithm -- NOT IMPLEMENTED YET
FIXED_FUNCTION_ACES_GAMUTMAP_13 ///< ACES 1.3 Gamut mapping algorithm -- NOT IMPLEMENTED YET
};
/// Enumeration of the :cpp:class:`ExposureContrastTransform` transform algorithms.
@@ -780,6 +784,7 @@ by hardcoded names.
Internal::
Extracting color space from file path - (ROLE_DEFAULT)
Interchange color spaces between configs - (ROLE_EXCHANGE_SCENE, ROLE_EXCHANGE_DISPLAY)
App Helpers::
LegacyViewingPipeline - (ROLE_SCENE_LINEAR (LinearCC for exposure))
@@ -819,6 +824,25 @@ extern OCIOEXPORT const char * ROLE_TEXTURE_PAINT;
*/
extern OCIOEXPORT const char * ROLE_MATTE_PAINT;
/**
* The rendering role may be used to identify a specific color space to be used by CGI renderers.
* This is typically a scene-linear space but the primaries also matter since they influence the
* resulting color, especially in areas of indirect illumination.
*/
extern OCIOEXPORT const char * ROLE_RENDERING;
/**
* The aces_interchange role is used to specify which color space in the config implements the
* standard ACES2065-1 color space (SMPTE ST2065-1). This may be used when converting
* scene-referred colors from one config to another.
*/
extern OCIOEXPORT const char * ROLE_INTERCHANGE_SCENE;
/**
* The cie_xyz_d65_interchange role is used to specify which color space in the config implements
* CIE XYZ colorimetry with the neutral axis at D65. This may be used when converting
* display-referred colors from one config to another.
*/
extern OCIOEXPORT const char * ROLE_INTERCHANGE_DISPLAY;
/** @}*/
/** \defgroup VarsSharedView
+127
View File
@@ -0,0 +1,127 @@
###########################################################################
# OpenImageIO https://www.openimageio.org
# Copyright 2008-present Contributors to the OpenImageIO project.
# SPDX-License-Identifier: BSD-3-Clause
# https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md
#
# For an up-to-date version of this file, see:
# https://github.com/OpenImageIO/oiio/blob/master/src/cmake/Modules/FindOpenImageIO.cmake
#
###########################################################################
#
# CMake module to find OpenImageIO
#
# This module will set
# OpenImageIO_FOUND True, if found
# OPENIMAGEIO_INCLUDES directory where headers are found
# OPENIMAGEIO_LIBRARIES libraries for OIIO
# OPENIMAGEIO_LIBRARY_DIRS library dirs for OIIO
# OPENIMAGEIO_VERSION Version ("major.minor.patch.tweak")
# OPENIMAGEIO_VERSION_MAJOR Version major number
# OPENIMAGEIO_VERSION_MINOR Version minor number
# OPENIMAGEIO_VERSION_PATCH Version minor patch
# OPENIMAGEIO_VERSION_TWEAK Version minor tweak
# OIIOTOOL_BIN Path to oiiotool executable
#
# Imported targets:
# OpenImageIO::OpenImageIO The libOpenImageIO library.
# OpenImageIO::oiiotool The oiiotool executable.
#
# Special inputs:
# OpenImageIO_ROOT - if using CMake >= 3.12, will automatically search
# this area for OIIO components.
# OPENIMAGEIO_ROOT_DIR - custom "prefix" location of OIIO installation
# (expecting bin, lib, include subdirectories)
# This is deprecated, but will work for a while.
# OpenImageIO_FIND_QUIETLY - if set, print minimal console output
# OIIO_LIBNAME_SUFFIX - if set, optional nonstandard library suffix
#
###########################################################################
#
# NOTE: This file is deprecated.
#
# In OIIO 2.1+, we generate OpenImageIOConfig.cmake files that are now the
# preferred way for downstream projecs to find an installed OIIO. There
# should be no need to copy this FindOpenImageIO.cmake file into downstream
# projects, *unless* they need to work with a range of OIIO vesions that
# may include <2.1, which would lack the generated config files.
#
###########################################################################
# If 'OPENIMAGE_HOME' not set, use the env variable of that name if available
if (NOT OPENIMAGEIO_ROOT_DIR AND NOT $ENV{OPENIMAGEIO_ROOT_DIR} STREQUAL "")
set (OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR})
endif ()
find_library ( OPENIMAGEIO_LIBRARY
NAMES OpenImageIO${OIIO_LIBNAME_SUFFIX}
HINTS ${OPENIMAGEIO_ROOT_DIR}
PATH_SUFFIXES lib64 lib )
find_path ( OPENIMAGEIO_INCLUDE_DIR
NAMES OpenImageIO/imageio.h
HINTS ${OPENIMAGEIO_ROOT_DIR} )
find_program ( OIIOTOOL_BIN
NAMES oiiotool
HINTS ${OPENIMAGEIO_ROOT_DIR} )
# Try to figure out version number
set (OIIO_VERSION_HEADER "${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h")
if (EXISTS "${OIIO_VERSION_HEADER}")
file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_MAJOR .*$")
string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_MAJOR ${TMP})
file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_MINOR .*$")
string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_MINOR ${TMP})
file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_PATCH .*$")
string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_PATCH ${TMP})
file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_TWEAK .*$")
if (TMP)
string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_TWEAK ${TMP})
else ()
set (OPENIMAGEIO_VERSION_TWEAK 0)
endif ()
set (OPENIMAGEIO_VERSION "${OPENIMAGEIO_VERSION_MAJOR}.${OPENIMAGEIO_VERSION_MINOR}.${OPENIMAGEIO_VERSION_PATCH}.${OPENIMAGEIO_VERSION_TWEAK}")
endif ()
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (OpenImageIO
FOUND_VAR OpenImageIO_FOUND
REQUIRED_VARS OPENIMAGEIO_INCLUDE_DIR OPENIMAGEIO_LIBRARY
OPENIMAGEIO_VERSION
VERSION_VAR OPENIMAGEIO_VERSION
)
set (OPENIMAGEIO_FOUND ${OpenImageIO_FOUND}) # Old name
if (OpenImageIO_FOUND)
set (OPENIMAGEIO_INCLUDES ${OPENIMAGEIO_INCLUDE_DIR})
set (OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
get_filename_component (OPENIMAGEIO_LIBRARY_DIRS "${OPENIMAGEIO_LIBRARY}" DIRECTORY)
if (NOT OpenImageIO_FIND_QUIETLY)
message ( STATUS "OpenImageIO includes = ${OPENIMAGEIO_INCLUDE_DIR}" )
message ( STATUS "OpenImageIO libraries = ${OPENIMAGEIO_LIBRARIES}" )
message ( STATUS "OpenImageIO library_dirs = ${OPENIMAGEIO_LIBRARY_DIRS}" )
message ( STATUS "OpenImageIO oiiotool = ${OIIOTOOL_BIN}" )
endif ()
if (NOT TARGET OpenImageIO::OpenImageIO)
add_library(OpenImageIO::OpenImageIO UNKNOWN IMPORTED)
set_target_properties(OpenImageIO::OpenImageIO PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OPENIMAGEIO_INCLUDES}")
set_property(TARGET OpenImageIO::OpenImageIO APPEND PROPERTY
IMPORTED_LOCATION "${OPENIMAGEIO_LIBRARIES}")
endif ()
if (NOT TARGET OpenImageIO::oiiotool AND EXISTS "${OIIOTOOL_BIN}")
add_executable(OpenImageIO::oiiotool IMPORTED)
set_target_properties(OpenImageIO::oiiotool PROPERTIES
IMPORTED_LOCATION "${OIIOTOOL_BIN}")
endif ()
endif ()
mark_as_advanced (
OPENIMAGEIO_INCLUDE_DIR
OPENIMAGEIO_LIBRARY
)
+5 -2
View File
@@ -4,10 +4,13 @@
include(CheckCXXSourceCompiles)
if(NOT CMAKE_SIZE_OF_VOID_P EQUAL 8)
# As CheckCXXCompilerFlag implicitly uses CMAKE_CXX_FLAGS some custom flags could trigger
# unrelated warnings causing a detection failure. So, the code disables all warnings to focus
# on the SSE2 detection.
if(USE_MSVC)
set(CMAKE_REQUIRED_FLAGS "/arch:SSE2")
set(CMAKE_REQUIRED_FLAGS "/w /arch:SSE2")
elseif(USE_GCC OR USE_CLANG)
set(CMAKE_REQUIRED_FLAGS "-msse2")
set(CMAKE_REQUIRED_FLAGS "-w -msse2")
endif()
endif()
+21 -4
View File
@@ -42,11 +42,13 @@ endif()
if(USE_GCC OR USE_CLANG)
# -Wswitch-enum Enables warning in switch when an enumeration value is not explicitly handled.
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Wall -Wswitch-enum")
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Wall")
# TODO: OCIO being under active development, unused functions are fine for now.
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Wno-unused-function")
# Add more warning detection.
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Wextra")
# -Wswitch-enum Enables warning in switch when an enumeration value is not explicitly handled.
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Wswitch-enum")
if(OCIO_WARNING_AS_ERROR)
set(PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -Werror")
@@ -77,3 +79,18 @@ if(NOT HAVE_SSE2)
message(STATUS "Disabling SSE optimizations, as the target doesn't support them")
set(OCIO_USE_SSE OFF)
endif(NOT HAVE_SSE2)
###############################################################################
# Define RPATH.
if (UNIX AND NOT CMAKE_SKIP_RPATH)
# With the 'usual' install path structure in mind, search from the bin directory
# (i.e. a binary loading a dynamic library) and then from the current directory
# (i.e. dynamic library loading another dynamic library).
if (APPLE)
set(CMAKE_INSTALL_RPATH "@loader_path/../lib;@loader_path")
else()
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib;$ORIGIN")
endif()
endif()
+40 -14
View File
@@ -20,28 +20,54 @@ set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARD
include(CheckCXXCompilerFlag)
# As CheckCXXCompilerFlag implicitly uses CMAKE_CXX_FLAGS some custom flags could trigger unrelated
# warnings causing a detection failure. So, the code disables all warnings to focus on the C++
# version detection.
if(USE_MSVC)
CHECK_CXX_COMPILER_FLAG("-std:c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std:c++14" COMPILER_SUPPORTS_CXX14)
CHECK_CXX_COMPILER_FLAG("-std:c++17" COMPILER_SUPPORTS_CXX17)
set(CUSTOM_CXX_FLAGS "/w")
else()
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
CHECK_CXX_COMPILER_FLAG("-std=c++17" COMPILER_SUPPORTS_CXX17)
set(CUSTOM_CXX_FLAGS "-w")
endif()
if(NOT COMPILER_SUPPORTS_CXX11 AND ${CMAKE_CXX_STANDARD} EQUAL 11)
message(STATUS "The compiler ${CMAKE_CXX_COMPILER_ID} has no C++11 only support. Use C++14.")
set(CMAKE_CXX_STANDARD 14)
if(${CMAKE_CXX_STANDARD} EQUAL 11)
if(USE_MSVC)
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std:c++11" COMPILER_SUPPORTS_CXX11)
else()
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std=c++11" COMPILER_SUPPORTS_CXX11)
endif()
if(NOT COMPILER_SUPPORTS_CXX11)
message(STATUS
"The compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} has no C++11 only support. Use C++14.")
set(CMAKE_CXX_STANDARD 14)
endif()
endif()
if(NOT COMPILER_SUPPORTS_CXX14 AND ${CMAKE_CXX_STANDARD} EQUAL 14)
message(STATUS "The compiler ${CMAKE_CXX_COMPILER_ID} has no C++14 only support. Use C++17.")
set(CMAKE_CXX_STANDARD 17)
if(${CMAKE_CXX_STANDARD} EQUAL 14)
if(USE_MSVC)
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std:c++14" COMPILER_SUPPORTS_CXX14)
else()
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std=c++14" COMPILER_SUPPORTS_CXX14)
endif()
if(NOT COMPILER_SUPPORTS_CXX14)
message(STATUS
"The compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} has no C++14 only support. Use C++17.")
set(CMAKE_CXX_STANDARD 17)
endif()
endif()
if(NOT COMPILER_SUPPORTS_CXX17 AND ${CMAKE_CXX_STANDARD} EQUAL 17)
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER_ID} has no C++17 support.")
if(${CMAKE_CXX_STANDARD} EQUAL 17)
if(USE_MSVC)
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std:c++17" COMPILER_SUPPORTS_CXX17)
else()
CHECK_CXX_COMPILER_FLAG("${CUSTOM_CXX_FLAGS} -std=c++17" COMPILER_SUPPORTS_CXX17)
endif()
if(NOT COMPILER_SUPPORTS_CXX17)
message(FATAL_ERROR
"The compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION} has no C++17 support.")
endif()
endif()
+7
View File
@@ -0,0 +1,7 @@
REM SPDX-License-Identifier: BSD-3-Clause
REM Copyright Contributors to the OpenColorIO Project.
set PATH=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@;%PATH%
set PATH=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@;%PATH%
set PYTHONPATH=@CMAKE_INSTALL_PREFIX@/@PYTHON_VARIANT_PATH@;%PYTHONPATH%
+4 -9
View File
@@ -2,16 +2,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright Contributors to the OpenColorIO Project.
OCIO_ROOT="@CMAKE_INSTALL_PREFIX@"
OCIO_EXECROOT="@CMAKE_INSTALL_EXEC_PREFIX@"
# For OS X
export DYLD_LIBRARY_PATH="${OCIO_EXECROOT}/lib:${DYLD_LIBRARY_PATH}"
export DYLD_LIBRARY_PATH="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@:${DYLD_LIBRARY_PATH}"
# For Linux
export LD_LIBRARY_PATH="${OCIO_EXECROOT}/lib:${LD_LIBRARY_PATH}"
export LD_LIBRARY_PATH="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@:${LD_LIBRARY_PATH}"
export PATH="${OCIO_EXECROOT}/bin:${PATH}"
export PYTHONPATH="${OCIO_EXECROOT}/@_Python_VARIANT_PATH@:${PYTHONPATH}"
export NUKE_PATH="${OCIO_EXECROOT}/lib/nuke@Nuke_API_VERSION@:${NUKE_PATH}"
export NUKE_PATH="${OCIO_ROOT}/share/nuke:${NUKE_PATH}";
export PATH="@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@:${PATH}"
export PYTHONPATH="@CMAKE_INSTALL_PREFIX@/@PYTHON_VARIANT_PATH@:${PYTHONPATH}"
+1 -1
View File
@@ -8,7 +8,7 @@
# OpenImageIO
# https://github.com/OpenImageIO/oiio
find_package(OpenImageIO 2.1.9 CONFIG)
find_package(OpenImageIO 2.1.9)
package_root_message(OpenImageIO)
# The order defines the architecture of the project i.e. layers and dependencies.
+6 -21
View File
@@ -137,6 +137,12 @@ set(SOURCES
transforms/builtins/BuiltinTransformRegistry.cpp
transforms/builtins/ColorMatrixHelpers.cpp
transforms/builtins/OpHelpers.cpp
transforms/builtins/ArriCameras.cpp
transforms/builtins/CanonCameras.cpp
transforms/builtins/Displays.cpp
transforms/builtins/PanasonicCameras.cpp
transforms/builtins/RedCameras.cpp
transforms/builtins/SonyCameras.cpp
transforms/BuiltinTransform.cpp
transforms/CDLTransform.cpp
transforms/ColorSpaceTransform.cpp
@@ -163,20 +169,6 @@ set(SOURCES
SystemMonitor.cpp
)
if(OCIO_ADD_EXTRA_BUILTINS)
set(SOURCES_BUILTINS
transforms/builtins/ArriCameras.cpp
transforms/builtins/CanonCameras.cpp
transforms/builtins/PanasonicCameras.cpp
transforms/builtins/RedCameras.cpp
transforms/builtins/SonyCameras.cpp
)
list(INSERT SOURCES 0 ${SOURCES_BUILTINS})
else()
message(WARNING "Disabling supplemental built-in transforms removes all built-in camera transforms, limiting OCIO configuration compatibility.")
endif()
if(NOT WIN32)
# Install the pkg-config file.
@@ -259,13 +251,6 @@ if(OCIO_USE_SSE)
)
endif()
if(OCIO_ADD_EXTRA_BUILTINS)
target_compile_definitions(OpenColorIO
PRIVATE
ADD_EXTRA_BUILTINS
)
endif()
if(MSVC AND BUILD_TYPE_DEBUG AND BUILD_SHARED_LIBS)
set_target_properties(OpenColorIO PROPERTIES
PDB_NAME ${PROJECT_NAME}${OCIO_LIBNAME_SUFFIX}
+6 -7
View File
@@ -270,8 +270,11 @@ void FinalizeOpsForCPU(OpRcPtrVec & ops, const OpRcPtrVec & rawOps,
if(!ops.empty())
{
// Finalize of all ops.
ops.finalize();
// Optimize the ops.
ops.finalize(oFlags);
ops.optimize(oFlags);
ops.optimizeForBitdepth(in, out, oFlags);
}
@@ -332,11 +335,7 @@ void CPUProcessor::Impl::finalize(const OpRcPtrVec & rawOps,
ss << "CPU Processor: from " << BitDepthToString(in)
<< " to " << BitDepthToString(out)
<< " oFlags " << oFlags
<< " ops:";
for(const auto & op : ops)
{
ss << " " << op->getCacheID();
}
<< " ops: " << ops.getCacheID();
m_cacheID = ss.str();
}
@@ -406,7 +405,7 @@ void CPUProcessor::Impl::applyRGB(float * pixel) const
const size_t numOps = m_cpuOps.size();
for(size_t i = 0; i<numOps; ++i)
{
m_cpuOps[i]->apply(pixel, pixel, 1);
m_cpuOps[i]->apply(v, v, 1);
}
m_outBitDepthOp->apply(v, v, 1);
+27 -13
View File
@@ -42,7 +42,7 @@ const char * OCIO_ACTIVE_DISPLAYS_ENVVAR = "OCIO_ACTIVE_DISPLAYS";
const char * OCIO_ACTIVE_VIEWS_ENVVAR = "OCIO_ACTIVE_VIEWS";
const char * OCIO_INACTIVE_COLORSPACES_ENVVAR = "OCIO_INACTIVE_COLORSPACES";
const char * OCIO_OPTIMIZATION_FLAGS_ENVVAR = "OCIO_OPTIMIZATION_FLAGS";
const char * OCIO_USER_CATEGORIES_ENVVAR = "OCIO_USER_CATEGORIES_ENVVAR";
const char * OCIO_USER_CATEGORIES_ENVVAR = "OCIO_USER_CATEGORIES";
// A shared view using this for the color space name will use a display color space that
// has the same name as the display the shared view is used by.
@@ -389,6 +389,7 @@ public:
m_env = rhs.m_env;
m_context = rhs.m_context->createEditableCopy();
m_name = rhs.m_name;
m_familySeparator = rhs.m_familySeparator;
m_description = rhs.m_description;
@@ -1299,21 +1300,35 @@ void Config::validate() const
// Only the 'predefined' mode imposes to have all the context variables explicitely defined
// in the config file. The 'all' mode exclusively relies on the environment variables.
if (getImpl()->m_context->getEnvironmentMode() == ENV_ENVIRONMENT_LOAD_PREDEFINED)
if (getMajorVersion() >= 2
&& getImpl()->m_context->getEnvironmentMode() == ENV_ENVIRONMENT_LOAD_PREDEFINED)
{
for (const auto & env : getImpl()->m_env)
{
const std::string ctxVariable = std::string("$") + env.first;
const std::string ctxValue
= getImpl()->m_context->resolveStringVar(ctxVariable.c_str());
const std::string ctxValue = env.second;
if (ContainsContextVariables(ctxValue))
{
std::ostringstream oss;
oss << "Unresolved context variable '"
<< env.first << " = "
<< env.second << "'.";
throw Exception(oss.str().c_str());
// When a context variable default value contains another context variable, the
// only legal case is ENV = $ENV. It means that there is no default value i.e. an
// system env. variable must exist.
const std::string ctxVariable1 = std::string("$") + env.first;
const std::string ctxVariable2 = std::string("${") + env.first + std::string("}");
const std::string ctxVariable3 = std::string("%") + env.first + std::string("%");
const bool isValid = (ctxVariable1 == ctxValue)
|| (ctxVariable2 == ctxValue)
|| (ctxVariable3 == ctxValue);
if (!isValid)
{
std::ostringstream oss;
oss << "Unresolved context variable in environment declaration '"
<< env.first << " = "
<< env.second << "'.";
throw Exception(oss.str().c_str());
}
}
}
}
@@ -2563,6 +2578,7 @@ const char * Config::parseColorSpaceFromString(const char * str) const
{
int rightMostColorSpaceIndex = ParseColorSpaceFromString(*this, str);
// Index is using all color spaces.
if(rightMostColorSpaceIndex>=0)
{
return getImpl()->m_allColorSpaces->getColorSpaceNameByIndex(rightMostColorSpaceIndex);
@@ -4118,10 +4134,8 @@ ConstProcessorRcPtr Config::GetProcessorFromConfigs(const ConstContextRcPtr & sr
throw Exception(os.str().c_str());
}
constexpr char exchangeSceneName[]{ "aces_interchange" };
constexpr char exchangeDisplayName[]{ "cie_xyz_d65_interchange" };
const bool sceneReferred = (srcColorSpace->getReferenceSpaceType() == REFERENCE_SPACE_SCENE);
const char * exchangeRoleName = sceneReferred ? exchangeSceneName : exchangeDisplayName;
const char * exchangeRoleName = sceneReferred ? ROLE_INTERCHANGE_SCENE : ROLE_INTERCHANGE_DISPLAY;
const char * srcExName = LookupRole(srcConfig->getImpl()->m_roles, exchangeRoleName);
if (!srcExName || !*srcExName)
{
+20 -2
View File
@@ -239,7 +239,23 @@ std::string BuildRegularExpression(const char * filePathPattern, const char * fi
str += ")$";
return SanitizeRegularExpression(str);
std::string res;
try
{
res = SanitizeRegularExpression(str);
}
catch (std::regex_error & ex)
{
std::ostringstream oss;
oss << "File rules: invalid regular expression '"
<< str
<< "' built from pattern '" << filePathPattern
<< " and extension '" << fileNameExtension << "': '"
<< ex.what()
<< "'.";
throw Exception(oss.str().c_str());
}
return res;
}
void ValidateRegularExpression(const char * regex)
@@ -462,7 +478,9 @@ public:
const int rightMostColorSpaceIndex = ParseColorSpaceFromString(config, path);
if (rightMostColorSpaceIndex >= 0)
{
m_colorSpace = config.getColorSpaceNameByIndex(rightMostColorSpaceIndex);
m_colorSpace = config.getColorSpaceNameByIndex(SEARCH_REFERENCE_SPACE_ALL,
COLORSPACE_ALL,
rightMostColorSpaceIndex);
return true;
}
return false;

Some files were not shown because too many files have changed in this diff Show More