darbyjohnston / tlRender

tlRender is an open source library for building playback and review applications for visual effects, film, and animation.
BSD 3-Clause "New" or "Revised" License
182 stars 21 forks source link

use prebaked OCIO LUTS as an option #15

Open meshula opened 3 years ago

meshula commented 3 years ago

ociobake allows offline creation of look up tables. https://opencolorio.readthedocs.io/en/latest/tutorials/baking_luts.html If tlRender allowed as an option that a precomputed LUT were passed in, the runtime dependency on OCIO could be removed, or made optional while still supporting OCIO color profiles. Another option would be to take tlRender's existing texture generating function and wrap it in a simple command line tool. The issue at hand is that the OCIO routines used by tlRender use glsl shaders from OCIO to do then work, which is a can of worms when the run time is not an OpenGL runtime.

darbyjohnston commented 3 years ago

I like the idea of having OCIO as an optional dependency though I don't think baking LUTs can represent all of the color transforms accurately? OCIO does have an open issue for Metal support, though I have no idea how much is involved: https://github.com/AcademySoftwareFoundation/OpenColorIO/issues/907