> Is there any study, how much "better" tethrahedral is compared to trilinear? How many gridpoints
> more are required for trillinear clut, so it matches a tethrahedral clut?
There's been quite a bit of research into different formulations of 3D and N-D interpolation.
There are multiple forms of tetrahedral interpolation, since a cube can be divided up
into tetrahedrons in multiple different ways. Even sticking to the usual diagonal
tetrahedral decomposition, it's possible to choose which diagonal so as to
minimise interpolation error. There are hybrid schemes such as prism interpolation.
Sticking to the major two you mention, diagonal tetrahedral interpolation is typically
used for "device like" spaces, where the input diagonal is in the neutral axis direction
(ie. RGB, CMY etc.), while trilinear is typically used for Luminance + color input spaces
such as L*a*b* input etc. icclib (from ArgyllCMS) makes this distinction, although
imdi/cctiff does not.
Another quite important aspect is the application of 1D curves to the input and output.
The 3D part is the coarsest part of the interpolation, so it's important to make the
3D part operate in a roughly perceptually uniform space, so that quantisation errors
are uniformly distributed. The 1D curves give you scope to manage this.
A reference that may be interesting is: "Interpolation errors on gray gradations caused by
three-dimensional lookup table method", Katsuhiro Kanamori, Journal of Electronic Imaging,
April 2001, Vol 10(2), pp 431
> Ultimately, I'm trying to apply the CLUT on the GPU, and I'm thinking if it is worth
> implementing tethrahedral in a shader, or better to just stick to trilliniar, which is built in
If you're using hardware and the interpolation is relatively cheap, then you are probably
better off trading finer resolution against a different interpolation algorithm.
ie. If ideally you want tri-linear, but all you've got is tetrahedral, you may be better
off using tetrahedral at twice the grid resolution instead.
My impression from "Using Lookup Tables to Accelerate Color Transformations",
Jeremy Selan, GPU Gems 2, pp 381 was that by default texture lookups are tri-linear.