Review: Refactored baker code to allow for more advanced lut output
Jeremy Selan <jeremy...@...>
https://github.com/imageworks/OpenColorIO/pull/116
This addresses oliver's bug where an HDR lin -> Dreamcolor ociobakelut command was clipping the highlights. After this fix, you can get a proper output .csp both with and without the --shaper specified. (if the shaper is not specified, it will fall back on the allocation for the input space, and for oliver's linear example (lg2, -7.5, 4) will match the 'log' shaper space almost exactly. There is one known regression in this code - I have temporarily disabled the .hdl lut baking as I have not ported that code. But I wanted to get this checkin in before then, as it's such a large change (in terms of number of lines of code). Other changes: * Added .3dl baking * Added Processor.hasChannelCrosstalk() * Exposed both FormatName + FormatExtension * FileFormats can register multiple names. (ex: lustre 3dl / flame 3dl) * Baker defaults are format specific * ociobakeluts has cleaned up syntax, fewer args needed in most cases The bakelut logic has been moved from the Baker.cpp, into each output format. This can eventually be re-refactored, but in the meantime until we have more examples I think we can get higher quality (format specific) color output by doing the logic in each outputter. Remaining tasks: * update houdini lut baker to work again. (currently disabled) * let the .csp output dynamically pick between a 1d and 3d output (now that hasChannelCrosstalk is exposed, this will be trivial) -- Jeremy
|
|