HDK
|
#include <PXL_Lookup.h>
Classes | |
struct | BuildGammaTag |
struct | BuildOCIOTag |
struct | BuildRec709Tag |
struct | BuildSRGBTag |
Public Types | |
enum | Dir { LINEAR_TO_GAMMA, GAMMA_TO_LINEAR } |
Public Member Functions | |
PXL_Lookup () | |
~PXL_Lookup () | |
PXL_Lookup (BuildGammaTag, fpreal gamma, PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) | |
PXL_Lookup (BuildSRGBTag, PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) | |
PXL_Lookup (BuildRec709Tag, PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) | |
PXL_Lookup (BuildOCIOTag, const char *src_color_space, const char *dest_color_space, int quality=0) | |
PXL_Lookup (const PXL_Lookup &)=delete | |
PXL_Lookup & | operator= (const PXL_Lookup &)=delete |
int64 | getMemoryUsage (bool inclusive) const |
void | reset () |
void | evalLUT (float color[3]) const |
void | setLUT (const CL_Clip &clip) |
void | set3DLUT (int size, float *lut) |
void | applyLUT (PXL_Raster &r, float gamma=1.0f, float black=0.0f, float white=1.0f, int comp=-1) const |
fpreal | indexToValue (int i) const |
bool | isValid () const |
PXL_LookupType | getType () const |
bool | getLogSampling () const |
float | getLogBias () const |
int | getNumChannels () const |
int | getTableSize () const |
float | getBlackPoint () const |
float | getWhitePoint () const |
void | getDomain (float &s, float &e) const |
void | getRange (float &s, float &e) const |
float | getPreShift () const |
bool | hasSpecificFormat (PXL_DataFormat &format) const |
bool | hasLUTfor (PXL_LookupType type) const |
void | setType (PXL_LookupType type) |
void | setLogSampling (bool log) |
void | setLogBias (float bias) |
void | setSpecificFormat (PXL_DataFormat format) |
void | setNumChannels (int num) |
void | setTableSize (int size) |
void | setBlackWhitePoints (float b, float w) |
void | setDomain (float s, float e) |
void | setRange (float s, float e) |
void | invert (int newsize=0) |
bool | isHalfPrec () const |
bool | is3DLUT () const |
int | get3DSize () const |
fpreal * | getRawLUT (PXL_LookupType type) |
const fpreal * | getRawLUT (PXL_LookupType type) const |
bool | evalLUT (PXL_LookupType, int nsamples, float *data, unsigned b=0, unsigned w=0) const |
bool | evalLUT (PXL_LookupType, int nsamples, float *data, float black, float white, float from=0.0f, float to=1.0f) const |
float | evalLUT (PXL_LookupType, float pos) const |
void | eval1DLUT (float color[3]) const |
void | get1DLUT (float *lut[4], int size, float b, float w, float sc, float sh, float gamma) const |
void | apply1DLUT (PXL_Raster &raster, float gamma=1.0f, float black=0.0f, float white=1.0f, int comp=-1) const |
void | eval3DLUT (float color[3]) const |
void | copy3DLUT (float *lut, float *prelut=nullptr, bool pad4=false) const |
void | copy3DLUT (fpreal16 *lut, fpreal16 *prelut=nullptr, bool pad4=false) const |
void | clamp3DLUT () |
void | apply3DLUT (PXL_Raster &r, float gamma=1.0f, float black=0.0f, float white=1.0f, int component=-1) const |
bool | load (const char *filename, bool header_only=false) |
bool | save (const char *filename, bool half_prec=false) const |
bool | load (FILE *fp, bool header_only) |
bool | loadBinary (FILE *fp, bool header_only) |
bool | save (FILE *fp) const |
bool | saveBinary (FILE *fp, bool half_prec=false) const |
bool | buildGamma (fpreal gamma, PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) |
bool | buildSRGB (PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) |
bool | buildREC709 (PXL_Lookup::Dir dir=LINEAR_TO_GAMMA, int lutsize=1024) |
bool | buildOpenColorIOView (const char *src_color_space, const char *display_name, const char *view_name, const char *baked_display=nullptr, const char *baked_view=nullptr, bool inverse=false, int quality=0) |
bool | buildOpenColorIO (const char *src_color_space, const char *dest_color_space, const char *looks=nullptr, int quality=0) |
UT_UniquePtr< UT_FileLUT > | getCineonLUT (bool forward, const char *filename=0) const |
bool | mergeLUTs (const PXL_Lookup &first_lut, const PXL_Lookup &second_lut) |
void | setTextureID (void *id) |
void * | getTextureID () const |
void | clearTextureID () |
void | setPreLutID (void *id) |
void * | getPreLutID () const |
exint | getDirtySerial () const |
Static Public Attributes | |
static struct PXL_Lookup::BuildGammaTag | BuildGamma |
static struct PXL_Lookup::BuildSRGBTag | BuildSRGB |
static struct PXL_Lookup::BuildRec709Tag | BuildRec709 |
static struct PXL_Lookup::BuildOCIOTag | BuildOCIO |
Definition at line 53 of file PXL_Lookup.h.
enum PXL_Lookup::Dir |
Enumerator | |
---|---|
LINEAR_TO_GAMMA | |
GAMMA_TO_LINEAR |
Definition at line 64 of file PXL_Lookup.h.
PXL_Lookup::PXL_Lookup | ( | ) |
PXL_Lookup::~PXL_Lookup | ( | ) |
PXL_Lookup::PXL_Lookup | ( | BuildGammaTag | , |
fpreal | gamma, | ||
PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
||
int | lutsize = 1024 |
||
) |
PXL_Lookup::PXL_Lookup | ( | BuildSRGBTag | , |
PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
||
int | lutsize = 1024 |
||
) |
PXL_Lookup::PXL_Lookup | ( | BuildRec709Tag | , |
PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
||
int | lutsize = 1024 |
||
) |
PXL_Lookup::PXL_Lookup | ( | BuildOCIOTag | , |
const char * | src_color_space, | ||
const char * | dest_color_space, | ||
int | quality = 0 |
||
) |
|
delete |
void PXL_Lookup::apply1DLUT | ( | PXL_Raster & | raster, |
float | gamma = 1.0f , |
||
float | black = 0.0f , |
||
float | white = 1.0f , |
||
int | comp = -1 |
||
) | const |
void PXL_Lookup::apply3DLUT | ( | PXL_Raster & | r, |
float | gamma = 1.0f , |
||
float | black = 0.0f , |
||
float | white = 1.0f , |
||
int | component = -1 |
||
) | const |
void PXL_Lookup::applyLUT | ( | PXL_Raster & | r, |
float | gamma = 1.0f , |
||
float | black = 0.0f , |
||
float | white = 1.0f , |
||
int | comp = -1 |
||
) | const |
bool PXL_Lookup::buildGamma | ( | fpreal | gamma, |
PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
||
int | lutsize = 1024 |
||
) |
bool PXL_Lookup::buildOpenColorIO | ( | const char * | src_color_space, |
const char * | dest_color_space, | ||
const char * | looks = nullptr , |
||
int | quality = 0 |
||
) |
Transform from one colorspace to another. quality
can be 0 or 1 right now.
bool PXL_Lookup::buildOpenColorIOView | ( | const char * | src_color_space, |
const char * | display_name, | ||
const char * | view_name, | ||
const char * | baked_display = nullptr , |
||
const char * | baked_view = nullptr , |
||
bool | inverse = false , |
||
int | quality = 0 |
||
) |
Transform from an OpenColorIO colorspace to a View, specified by a display/view pair. Always use this method to build a LUT to or from a view; do not attempt to roll your own using colorspaces and view transforms as it is not straighforward.
bool PXL_Lookup::buildREC709 | ( | PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
int | lutsize = 1024 |
||
) |
bool PXL_Lookup::buildSRGB | ( | PXL_Lookup::Dir | dir = LINEAR_TO_GAMMA , |
int | lutsize = 1024 |
||
) |
void PXL_Lookup::clamp3DLUT | ( | ) |
void PXL_Lookup::clearTextureID | ( | ) |
bool PXL_Lookup::evalLUT | ( | PXL_LookupType | , |
int | nsamples, | ||
float * | data, | ||
unsigned | b = 0 , |
||
unsigned | w = 0 |
||
) | const |
bool PXL_Lookup::evalLUT | ( | PXL_LookupType | , |
int | nsamples, | ||
float * | data, | ||
float | black, | ||
float | white, | ||
float | from = 0.0f , |
||
float | to = 1.0f |
||
) | const |
float PXL_Lookup::evalLUT | ( | PXL_LookupType | , |
float | pos | ||
) | const |
void PXL_Lookup::get1DLUT | ( | float * | lut[4], |
int | size, | ||
float | b, | ||
float | w, | ||
float | sc, | ||
float | sh, | ||
float | gamma | ||
) | const |
|
inline |
Definition at line 153 of file PXL_Lookup.h.
float PXL_Lookup::getBlackPoint | ( | ) | const |
UT_UniquePtr<UT_FileLUT> PXL_Lookup::getCineonLUT | ( | bool | forward, |
const char * | filename = 0 |
||
) | const |
|
inline |
Definition at line 266 of file PXL_Lookup.h.
float PXL_Lookup::getLogBias | ( | ) | const |
bool PXL_Lookup::getLogSampling | ( | ) | const |
int64 PXL_Lookup::getMemoryUsage | ( | bool | inclusive | ) | const |
int PXL_Lookup::getNumChannels | ( | ) | const |
void* PXL_Lookup::getPreLutID | ( | ) | const |
|
inline |
Definition at line 133 of file PXL_Lookup.h.
fpreal* PXL_Lookup::getRawLUT | ( | PXL_LookupType | type | ) |
const fpreal* PXL_Lookup::getRawLUT | ( | PXL_LookupType | type | ) | const |
int PXL_Lookup::getTableSize | ( | ) | const |
void* PXL_Lookup::getTextureID | ( | ) | const |
PXL_LookupType PXL_Lookup::getType | ( | ) | const |
float PXL_Lookup::getWhitePoint | ( | ) | const |
bool PXL_Lookup::hasLUTfor | ( | PXL_LookupType | type | ) | const |
bool PXL_Lookup::hasSpecificFormat | ( | PXL_DataFormat & | format | ) | const |
|
inline |
Definition at line 152 of file PXL_Lookup.h.
|
inline |
Definition at line 149 of file PXL_Lookup.h.
bool PXL_Lookup::isValid | ( | ) | const |
bool PXL_Lookup::load | ( | const char * | filename, |
bool | header_only = false |
||
) |
bool PXL_Lookup::load | ( | FILE * | fp, |
bool | header_only | ||
) |
bool PXL_Lookup::loadBinary | ( | FILE * | fp, |
bool | header_only | ||
) |
bool PXL_Lookup::mergeLUTs | ( | const PXL_Lookup & | first_lut, |
const PXL_Lookup & | second_lut | ||
) |
|
delete |
void PXL_Lookup::reset | ( | ) |
bool PXL_Lookup::save | ( | const char * | filename, |
bool | half_prec = false |
||
) | const |
bool PXL_Lookup::save | ( | FILE * | fp | ) | const |
bool PXL_Lookup::saveBinary | ( | FILE * | fp, |
bool | half_prec = false |
||
) | const |
void PXL_Lookup::setLogSampling | ( | bool | log | ) |
Definition at line 263 of file PXL_Lookup.h.
void PXL_Lookup::setSpecificFormat | ( | PXL_DataFormat | format | ) |
Definition at line 259 of file PXL_Lookup.h.
void PXL_Lookup::setType | ( | PXL_LookupType | type | ) |
|
static |
|
static |
|
static |
|
static |