Re: A qq on 3d luts

Jeremy Selan <jeremy...@...>

I may have misunderstood you question upon a second read.

Are you hoping to compute the inverse 3dluts dynamically as needed at
runtime? Or is this a precomputation step?

-- Jeremy

On Tue, Apr 17, 2012 at 2:48 PM, Jeremy Selan <jeremy...@...> wrote:
We do something similar internally.

(Indeed, we probably use the same inverse code you do.  CTL's
scattered data point interpolation, anyone?) :)

In any OCIO::ColorSpace, you can define the transform used to convert
either 'to reference', 'from reference', or both.  In this case, we
will define both.

Real World Example:

 - !<ColorSpace>
   name: qt16
   family: qt
   bitdepth: 16ui
   description: |
     qt16 :colorspace used for burning the video look into rgb files
   isdata: false
   allocation: uniform
   to_reference: !<GroupTransform>
       - !<FileTransform> {src:
OZ-2D-HDPrj.14July2011-Inv.Autodesk.3dl, interpolation: linear}
       - !<ColorSpaceTransform> {src: rclg16, dst: lnf}
   from_reference: !<GroupTransform>
       - !<ColorSpaceTransform> {src: lnf, dst: rclg16}
       - !<FileTransform> {src: OZ-2D-HDPrj-14July2011.Autodesk.3dl,
interpolation: linear}

-- Jeremy

On Tue, Apr 17, 2012 at 2:45 PM, Piotr Stanczyk
<piotr.s...@...> wrote:

I have a library that wraps color processing engines including OCIO.
This library has a call to inverse. Whilst I am able to generate the
inverse of a 3d lut (with all the usual caveats and edge cases) I am
not sure how I can 'register' the existence of this object with OCIO.

I was thinking I would need a abstracted stream interface for this or
something along the lines of:

* internally generate the inverse 3d lut
* register it with OCIO
* store a 2nd OCIO transform that is parameter synced with the forward transform

Should I be looking at deriving a custom transform instead?  Any
thoughts would be most welcome ....


Join to automatically receive all group messages.