Quote:
Originally Posted by cyberbeing
Quick comment on dispclut.exe. Using --reset (Windows-default 8-bit CLUT?) doesn't do the desired behavior, since most calibration applications use a 16-bit linear CLUT.
|
No, I'm actually generating the 16-bit ramp you posted manually.
I don't know how Windows (or rather, the graphics card) translates a 16-bit ramp down to an 8-bit display device.
I'll see if I can find out whether 65535 or 65280 is used for maximum white (255 signal).
In a somewhat unrelated note, I've now provided a common interface for color transformations (ITransformationProvider) as well as a way to combine these together (TransformationFactory) and sequence them (PipelineTransformer).
This allows a developer to create and arrange parameterized transformation construct, then “compute” a single 64bit->64bit function using .GetTransformer(), that can be re-used to look up a bunch of values.
For example, if I want to create an 8 bit -> 16 bit grayscale 3dlut with attached calibration data, I can do this:
Code:
new TransformationFactory(
PulldownTransformer(8, Range.Full),
GrayscaleTransformer(Recommendation.BT709),
CalibrationTransformer(CalFile.FromFile("somecal.txt")),
PullupTransformer(16, Range.Full)
).GetTransformer();
Now I just have to create a GUI for it.
Edit: I'll just assume ArgyllCMS, i1Profiler, basICColor and ColorEyes know what they're doing when they mean linear = linear and use the same.