Commit Graph
29 Commits
Author SHA1 Message Date
Bernard LefebvreandPatrick Hodoul fbdf889b86 Adsk Contrib - Add ViewingRules, DisplayViewTransform, and ViewingPipeline (#1038)
* Add ViewingRules, DisplayViewTransform, and ViewingPipeline

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

* Add version check to config sanity check.

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

* Adjust comments

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

* Update ViewingPipeline.cpp

Fix indentation

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

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-29 08:49:08 -04:00
Mei ChuandPatrick Hodoul 758939a1d6 Python unit test module LookTest update (#1027)
* Initial update to python unit test module LookTest.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated PyLook and added some extra wrong type tests for LookTest.py

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated LookTest and PyLook according to feedbacks.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated python LookTest according to further feedbacks.

Signed-off-by: Mei Chu <meimchu@gmail.com>

* Updated constructor method names per feedback.

Signed-off-by: Mei Chu <meimchu@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-25 23:51:23 -04:00
Michael DolanandPatrick Hodoul b674ec52f8 Refactor PyBuiltinTransform (#1026)
* Refactor PyBuiltinTransform

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Add unit tests, fix None style handling

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Python 2/3 compatibility issue

Signed-off-by: Michael Dolan <michdolan@gmail.com>

* Fix Windows warning

Signed-off-by: Michael Dolan <michdolan@gmail.com>

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-06-10 08:19:11 -04:00
Mei Chu 01e3a655ad Updated various python unit tests. (#1025)
Signed-off-by: Mei Chu <meimchu@gmail.com>
2020-06-04 15:08:18 -04:00
Bernard LefebvreandPatrick Hodoul 8be6b4c4a8 Adsk Contrib - Add support for CLF v3 (#918)
* Add suport for CLF v3

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

* Build issues: add cast to float and fix comparaison.

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

* Replace cast by std

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

* Add the possibility to print the transform operators.

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

* Adjust error message format.

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

Co-authored-by: Patrick Hodoul <patrickhodoul@gmail.com>
2020-02-17 23:25:02 -05:00
Patrick Hodoul 0bd42b1665 Adsk Contrib - Improve the GPU public API (#923)
* Adsk Contrib - Improve the GPU public API

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

* Fix Clang build break

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2020-02-14 13:00:01 -05:00
Bernard Lefebvre 71d725e659 Adsk Contrib - Adding file rules to config. (#904)
* Adding file rules to config.
The file rules are a set of filepath to color space mappings that are evaluated from first to last. The first rule to match is what determines which color space is returned. There are four types of rules available. Each rule type has a name key that may be used by applications to refer to that rule. Name values must be unique. The other keys depend on the rule type:

- Basic Rule: This is the basic rule type that uses Unix glob style pattern matching and is thus very easy to use. It contains the keys:
  * name: Name of the rule
  * colorspace: Color space name to be returned.
  * pattern: Glob pattern to be used for the main part of the name/path.
  * extension: Glob pattern to be used for the file extension. Note that if glob tokens are not used, the extension will be used in a non-case-sensitive way by default.

- Regex Rule: This is similar to the basic rule but allows additional capabilities for power-users. It contains the keys:
  * name: Name of the rule
  * colorspace: Color space name to be returned.
  * regex: Regular expression to be evaluated.

- OCIO v1 style Rule: This rule allows the use of the OCIO v1 style, where the string is searched for color space names from the config. This rule may occur 0 or 1 times in the list. The position in the list prioritizes it with respect to the other rules. It has the key:
  * name: Must be "ColorSpaceNamePathSearch".

- Default Rule: The file_rules must always end with this rule. If no prior rules match, this rule specifies the color space applications will use. It has the keys:
  * name: must be "Default".
  * colorspace : Color space name to be returned.

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

* Remove unused constexpr.
Do not check system specific regex error.

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

* Add comments.
Rename some FileRules releated functions for clarity.
Add new FileRules function to insert the "ColorSpaceNamePathSearch" rule with specifying its name.

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

* Add new helper function setDefaultRuleColorSpace.
More comments.

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2020-01-09 18:03:10 -05:00
Patrick Hodoul cca09f58b4 Adsk Contrib - Add inactive color spaces (#899)
* Adsk Contrib - Add inactive color spaces

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

* Remove some useless spaces

Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-12-16 10:25:11 -05:00
Bernard Lefebvre 86800657eb Adsk Contrib - Add baking support for CLF/CTF. (#879)
* Add baking support for CLF/CTF.

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

* Add missing override

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-11-11 11:24:16 -05:00
Bernard Lefebvre 65759f83f4 Adsk Contrib - Transforms interface (#870)
* Rework GroupTransform interface and remove transform functions using float when there is a double version.

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

* Update PyExponentTransform.cpp

Replace tabs by spaces

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

* Using constexpr when possible.

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

* Fix conflict resolution

Signed-off-by: Bernard Lefebvre <bernard.lefebvre@autodesk.com>
2019-10-29 14:16:39 -04:00
Patrick Hodoul 6ce405e993 Adsk Contrib - Add Raw configuration access (#849)
Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
2019-10-09 08:50:46 -04:00
Bernard Lefebvre 90c61a7476 CDL rework for description. (#826) 2019-09-24 14:22:47 -07:00
doug-walker a935554fd9 Adsk Contrib - Fix copyright issues in test data (#796)
* Fix copyright issues in test data

* Add pf as a supported format

* Fix Python test
2019-08-20 15:06:42 -04:00
Michael Dolan 84d1709e6b Remove TruelightOp and TruelightTransform (#800) 2019-08-16 10:25:41 -04:00
Michael Dolan fad95e7052 License cleanup following ext/ refactor (#783)
* LICENSE.md cleanup following ext/ refactor
* Cleanup ICC license markdown
* Add missing license notices
* Clean up .md licenses, Add tests/data/files LICENSE.md
2019-08-09 10:04:23 -07:00
Patrick Hodoul b334c908ae Adsk Contrib - Add bit-depth support to apply methods (#769)
* Adsk Contrib - Add bit-depth support to the apply methods

* Fix *nix warnings

* Add measure to ocioconvert

* Fix the merge breaks
2019-07-25 08:09:48 -04:00
Bernard Lefebvre ba8d1258ef Add dynamic properties and exposure contrast. (#743)
Exposure contrast has 3 properties that can be dynamic. When a property is dynamic it can be change after the processor has been created and optimized.
If 2 ops do have the same dynamic property, both will be controlled together.
Rework GPU unit test infrastructure to allow the same shader to be used several time (so that dynamic properties can be tested).
2019-05-21 10:24:38 -04:00
Bernard Lefebvre 40bc1378c9 Add Reference OpData that can be used to reference a file transform. Add CTF parsing for Reference. (#712)
Add an interface to manipulate search paths one by one, allowing users to bypass the Windows issue with ":" being used as a path separator in the existing interface.
2019-04-10 09:33:08 -04:00
Bernard Lefebvre 5b569ee09c Add CTF as a recognized extension. (#714) 2019-04-02 17:53:08 -04:00
Bernard Lefebvre 67cb724854 Adsk Contrib - Rework LogOpData to get ready for Log CTF parsing. (#674)
* Rework LogOpData to get ready for Log CTF parsing.
Add LogAffineTransform.
Add SSE and non SSE code path CPU and GPU implementation.

* LogAffine transform: remove enum defining parameters order from the API. Adding get/set for each paramater.

* Fix build after bad merge

* Adjust SSE version of the baked LUT in test.
2019-03-11 09:56:41 -04:00
Patrick Hodoul 03ac35d6c3 Adsk Contrib - Add the Gamma Op as defined by the Adsk CTF specification (#639)
* Adsk Contrib - Add the Gamma Op as defined by the ACES CLF specification

* Fix build break

* Add missing dependency

* Fix OSX build break

* Fix merge build breaks

* Fix merge build breaks

* Comment fixes

* Address the code review comments

* Improve the RenderParams structure

* Change to have ExponentTransform and ExponentWithLinearTransform (instead of the former GammaTransform) in the public API, and in the config file.

* Fix code review comments

* Fix code review comments

* Add some GPU unit tests for OCIO v1

* Improve the validation error message

* Fix code review comments

* Fix code review comments

* Add double support to ExponentTransform

* Fix code review comments

* Fix merge build breaks

* Fix platform specific 'Not SSE' computation precision
2019-03-06 07:43:17 -08:00
Bernard Lefebvre 6d4daa461e Adsk Contrib - CLF parsing (#656)
This PR implements Issue #610.  It adds a new FileFormat to read Academy/ASC Common LUT Format (CLF) files.  This fully implements the S-2014-006 spec from the Academy.

Note: you will see references to CTF in the code.  The CLF support is based on the SynColor CTF reader, since CLF is a subset of CTF.  The Autodesk Color Transform Format (CTF) is a superset of CLF that adds support for all OCIO ops (e.g. including Exponent and Log) as well as some ops that are useful for accurate ACES implementations.  Because CTF requires adding some additional ops to OCIO, this PR does not enable CTF support yet.  That will come in a future PR.

This PR adds a lot of unit tests and the tests/data/unittestsfiles.tar.gz has many new example CLF files for parsing tests.  There are files that excercise all parts of the spec, including good files and files with syntax errors to test the exception handling.  We put a fair amount of work into trying to provide useful error messages when a file cannot be parsed, indicating the line number and the exact nature of the issue.

* Array function already declared in base class. Removes an override warning.

* Adjust exception messages to constantly say CTF/CLF. <Info> element is CTF only.

* Update CTFReaderHelper.cpp

Fix expression with side effects will be evaluated despite being used as an operand to 'typeid' [-Werror,-Wpotentially-evaluated-expression]
2019-02-19 09:39:02 -05:00
Patrick Hodoul 0455546efb Adsk Contrib - Fix Windows command line build for unit tests of Python bindings (#646) 2019-01-14 23:24:20 -08:00
Patrick Hodoul 1942df4d0f Adsk Contrib - Add the CDL Op following the CLF specification (#619)
* Adsk Contrib - Add the CDL Op following the CLF specification

* Remove Visual Studio 2013 from AppVeyor as OCIO is now only C++11

* Fix merge failures
2018-11-12 16:38:18 -08:00
Patrick Hodoul aadd5ecb88 Add a style (i.e. Clamp & noClamp) to the Range Op (#618) 2018-11-09 17:15:06 -08:00
Bernard Lefebvre 18bb109fa4 Adsk Contrib - Replace tinyXML by expat (#57) (#614)
* Replace tinyXML by expat (#57)

eXpat is the xml parsing solution chosen for clf parsing, Replacing use of tinyXML by eXpat.
Add support for SATNode for CDL xml parsing.

* edit CMakeList.txt to use LF so that it gets patched properly
Remove uneeded compile options for eXpat
Fix CDL python test

* Fix text in test

* move expat header to a dedicated directory
fix linux build

* Fix typo in getXmlLineNumber
Remove references to CTF
2018-11-01 09:47:47 -07:00
Patrick Hodoul fbac5ec2bc Adsk Contrib - Add the Range Op based on the CLF specification (#611)
* Adsk Contrib - Add the Range Op based on the CLF specification

* Fix a Range issue
2018-10-23 16:03:03 -04:00
Bernard Lefebvre b3a12db89b Adsk Contrib - Fix some spelling and format issues with comments (redone) (#581)
* Fix some spelling and format issues with comments.
Add consistency to how LUT is spelled.
"OCIO configuration" or ".ocio configuration file"

* Fixing function parameters alignment
2018-10-04 10:12:33 -07:00
Shootfast 2f5fbfc802 Repository Restructure and CMake refactor (#520)
* Jump to C++11
* Removed Boost dependency
* Bumped CMake Minimum 3.10
* Modernized CMake builders
* Restructured repo directories
* Set project version to 2.0.0
2018-09-28 15:28:36 +01:00