Represents a 1D-LUT transform.
More...
#include <OpenColorTransforms.h>
Represents a 1D-LUT transform.
Definition at line 1606 of file OpenColorTransforms.h.
OCIO_NAMESPACE::Lut1DTransform::Lut1DTransform |
( |
const Lut1DTransform & |
| ) |
|
|
delete |
virtual OCIO_NAMESPACE::Lut1DTransform::~Lut1DTransform |
( |
| ) |
|
|
virtualdefault |
Do not use (needed only for pybind11).
OCIO_NAMESPACE::Lut1DTransform::Lut1DTransform |
( |
| ) |
|
|
protecteddefault |
Create an identity 1D-LUT of length two.
static Lut1DTransformRcPtr OCIO_NAMESPACE::Lut1DTransform::Create |
( |
unsigned long |
length, |
|
|
bool |
isHalfDomain |
|
) |
| |
|
static |
Create an identity 1D-LUT with specific length and half-domain setting. Will throw for lengths longer than 1024x1024.
virtual bool OCIO_NAMESPACE::Lut1DTransform::equals |
( |
const Lut1DTransform & |
other | ) |
const |
|
pure virtualnoexcept |
Checks if this exactly equals other.
virtual BitDepth OCIO_NAMESPACE::Lut1DTransform::getFileOutputBitDepth |
( |
| ) |
const |
|
pure virtualnoexcept |
virtual const FormatMetadata& OCIO_NAMESPACE::Lut1DTransform::getFormatMetadata |
( |
| ) |
const |
|
pure virtualnoexcept |
virtual FormatMetadata& OCIO_NAMESPACE::Lut1DTransform::getFormatMetadata |
( |
| ) |
|
|
pure virtualnoexcept |
virtual Lut1DHueAdjust OCIO_NAMESPACE::Lut1DTransform::getHueAdjust |
( |
| ) |
const |
|
pure virtualnoexcept |
virtual bool OCIO_NAMESPACE::Lut1DTransform::getInputHalfDomain |
( |
| ) |
const |
|
pure virtualnoexcept |
virtual Interpolation OCIO_NAMESPACE::Lut1DTransform::getInterpolation |
( |
| ) |
const |
|
pure virtual |
virtual unsigned long OCIO_NAMESPACE::Lut1DTransform::getLength |
( |
| ) |
const |
|
pure virtual |
virtual bool OCIO_NAMESPACE::Lut1DTransform::getOutputRawHalfs |
( |
| ) |
const |
|
pure virtualnoexcept |
TransformType OCIO_NAMESPACE::Lut1DTransform::getTransformType |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
virtual void OCIO_NAMESPACE::Lut1DTransform::getValue |
( |
unsigned long |
index, |
|
|
float & |
r, |
|
|
float & |
g, |
|
|
float & |
b |
|
) |
| const |
|
pure virtual |
virtual void OCIO_NAMESPACE::Lut1DTransform::setFileOutputBitDepth |
( |
BitDepth |
bitDepth | ) |
|
|
pure virtualnoexcept |
Get the bit-depth associated with the LUT values read from a file or set the bit-depth of values to be written to a file (for file formats such as CLF that support multiple bit-depths). However, note that the values stored in the object are always normalized.
The 1D-LUT transform optionally supports a hue adjustment feature that was used in some versions of ACES. This adjusts the hue of the result to approximately match the input.
virtual void OCIO_NAMESPACE::Lut1DTransform::setInputHalfDomain |
( |
bool |
isHalfDomain | ) |
|
|
pure virtualnoexcept |
In a half-domain LUT, the contents of the LUT specify the desired value of the function for each half-float value. Therefore, the length of the LUT must be 65536 entries or else validate() will throw.
virtual void OCIO_NAMESPACE::Lut1DTransform::setLength |
( |
unsigned long |
length | ) |
|
|
pure virtual |
Changing the length will reset the LUT to identity. Will throw for lengths longer than 1024x1024.
virtual void OCIO_NAMESPACE::Lut1DTransform::setOutputRawHalfs |
( |
bool |
isRawHalfs | ) |
|
|
pure virtualnoexcept |
Set OutputRawHalfs to true if you want to output the LUT contents as 16-bit floating point values expressed as unsigned 16-bit integers representing the equivalent bit pattern. For example, the value 1.0 would be written as the integer 15360 because it has the same bit-pattern. Note that this implies the values will be quantized to a 16-bit float. Note that this setting only controls the output formatting (where supported) and not the values for getValue/setValue. The only file formats that currently support this are CLF and CTF.
virtual void OCIO_NAMESPACE::Lut1DTransform::setValue |
( |
unsigned long |
index, |
|
|
float |
r, |
|
|
float |
g, |
|
|
float |
b |
|
) |
| |
|
pure virtual |
Set the values of a LUT1D. Will throw if the index is outside of the range from 0 to (length-1).
The LUT values are always for the "forward" LUT, regardless of how the transform direction is set.
These values are normalized relative to what may be stored in any given LUT files. For example in a CLF file using a "10i" output depth, a value of 1023 in the file is normalized to 1.0. The values here are unclamped and may extend outside [0,1].
LUTs in various file formats may only provide values for one channel where R, G, B are the same. Even in that case, you should provide three equal values to the setter.
The documentation for this class was generated from the following file: