Formatting 1D LUTs
 
 
 

Although Smoke provides a LUT Editor for creating 1D LUTs interactively, you can use 1D LUTs created outside the Smoke environment.

The LUT file begins with a declaration of the number of tables and the number of entries per table:

LUT: <number of tables> <number of entries per table>

The number of tables in the file depends on the channel-resolution required. For a LUT in which all three RGB channels are converted using the same values, just one table is required. To convert the three channels using different values, use three tables. For three channels plus alpha, use four tables. The number of entries in each table corresponds to the bit depth of the source file: 256 entries for 8-bit resolution, 1024 for 10-bit and 4096 for 12-bit. For example, a LUT operating on three 8-bit channels independently would have the following declaration:

LUT: 3 256

Each line following the header contains a single entry indicating the value to which the source is converted. For example, a table converting 10-bit logarithmic values to 8-bit linear would contain 1024 entries, corresponding to the 0-1023 intensity range of pixels in the source file. Each of these entries would be in the range of 0-255, corresponding to the intensity range in the destination. The following table shows the first and last few entries for a sample LUT of this type.

Entry Value Meaning
0 0 10-bit 0 is converted to 8-bit 0
1 0 10-bit 1 is converted to 8-bit 0
2 0 10-bit 2 is converted to 8-bit 0
3 1 10-bit 3 is converted to 8-bit 1
4 1 10-bit 4 is converted to 8-bit 1
5 2 10-bit 5 is converted to 8-bit 2
6 2 10-bit 6 is converted to 8-bit 2
. . .    
1021 255 10-bit 1021 is converted to 8--bit 255
1022 255 10-bit 1022 is converted to 8--bit 255
1023 255 10-bit 1023 is converted to 8--bit 255

Blank lines and comment lines (starting with a number sign [#]) are ignored by Smoke. Comment lines are useful in indicating the end of one table and the beginning of another, or for describing how your script or program works.