The LUT1D element specifies a 1D LUT to apply.
Contains
In order:
NoteThe IndexMap element is not supported. The most efficient way to achieve the same result is to precede the operator with another
LUT1D element, or to combine both LUTs into a single one.
Attributes
- id, name, inBitDepth, outBitDepth
-
- interpolation
-
Optional. The only currently supported value is
"linear".
- halfDomain
-
Optional. If this attribute is present, its value must be
"true". In this case, the input domain is all possible 16-bit floating-point values, and there must be exactly 65536 entries in
the Array element. For example, the unsigned integer 15360 has the same bit-pattern (0011110000000000) as the half-float value
1.0, so the 15360th entry (zero-indexed) in the Array element is the output value corresponding to an input value of 1.0.
- rawHalfs
-
Optional. If this attribute is present, its value must be
"true". In this case, the values in the array should be 16-bit floating point values expressed as unsigned 16-bit integers representing
the equivalent bit pattern. For example, to represent the value 1.0, you would enter the integer
15360 in the Array element because it has the same bit-pattern. This allows you to specify the exact half-float values you want
without relying on conversion from decimal text strings.
Example
1D LUT
<ProcessList id="8a52d5fb-a903-4805-8bae-24f7553bfb70" version="1.2">
<LUT1D inBitDepth="10i" outBitDepth="32f">
<Array dim="1024 1">
-0.014279292
-0.014160193
-0.014040368
<!-- 1021 lines omitted -->
</Array>
</LUT1D>
</ProcessList>
3×1D LUT
<ProcessList id="a76dbe2e-e610-49a6-8c3b-5962375a8b4a" version="1.2">
<LUT1D inBitDepth="16i" outBitDepth="32f">
<Array dim="2 3">
-0.092903227 -0.092903227 -0.092903227
11.798709869 11.798709869 11.798709869
</Array>
</LUT1D>
</ProcessList>