11 #ifndef _COP2_LUMAKEY_H_
12 #define _COP2_LUMAKEY_H_
15 #define ARG_LUMAKEY_MIN_LUM (myParmBase + 0)
16 #define ARG_LUMAKEY_MIN_VALUE (myParmBase + 1)
17 #define ARG_LUMAKEY_MAX_LUM (myParmBase + 2)
18 #define ARG_LUMAKEY_MAX_VALUE (myParmBase + 3)
19 #define ARG_LUMAKEY_DISCARD (myParmBase + 4)
20 #define ARG_LUMAKEY_ROLLOFF (myParmBase + 5)
21 #define ARG_LUMAKEY_ROLL_FUNC (myParmBase + 6)
22 #define ARG_LUMAKEY_FUNCTION (myParmBase + 7)
23 #define ARG_LUMAKEY_SUPER_SAMPLE (myParmBase +8)
24 #define ARG_LUMAKEY_KEY_PLANE (myParmBase + 9)
39 static const char *myInputLabels[];
42 float smin,
float smax,
43 float lmin,
float lmax,
44 bool add,
float t)
override;
49 float t,
int xres,
int yres,
51 int max_threads)
override;
58 const float *c1,
const float *c2,
59 const float *c3,
const float *c4,
60 float *&d1,
float *&d2,
61 float *&d3,
float *&d4,
65 void *&
data)
override;
79 float MIN_VALUE(
float t)
84 float MAX_VALUE(
float t)
87 float ROLLOFF(
float t)
90 int ROLLOFF_FUNCTION()
99 int SUPER_SAMPLE(
float t)
static OP_TemplatePair myTemplatePair
bool isFrameEffectHandled() override
static OP_VariablePair myVariablePair
virtual void getShaderAndConstants(COP2_Context &context, UT_String &shader_funcs, UT_ComputeGPU &engine)
virtual int getSuperSample(COP2_Context &)
fpreal evalFloat(int pi, int vi, fpreal t) const
#define ARG_LUMAKEY_DISCARD
#define ARG_LUMAKEY_ROLLOFF
virtual void setColorParms(float hmin, float hmax, float smin, float smax, float lmin, float lmax, bool add, float t)
bool updateParmsFlags() override
IMATH_NAMESPACE::V2f float
void evalString(UT_String &val, int pi, int vi, fpreal t) const
virtual COP2_KeyFunction getKeyFunction(COP2_Context &context, void *&data)
virtual const char * getKeyPlane(COP2_Context &context)
virtual COP2_ContextData * newContextData(const TIL_Plane *plane, int array_index, float t, int xres, int yres, int thread, int max_threads)
GLuint const GLchar * name
#define ARG_LUMAKEY_SUPER_SAMPLE
virtual bool convertToColorSpace(COP2_Context &context, const float *c1, const float *c2, const float *c3, const float *c4, float *&d1, float *&d2, float *&d3, float *&d4, int size)
#define ARG_LUMAKEY_MAX_LUM
**Note that the tasks the is the thread number *for the or if it s being executed by a non pool thread(this *can happen in cases where the whole pool is occupied and the calling *thread contributes to running the work load).**Thread pool.Have fun
GT_API const UT_StringHolder st
#define ARG_LUMAKEY_MAX_VALUE
#define ARG_LUMAKEY_ROLL_FUNC
~cop2_LumaContext() override
#define ARG_LUMAKEY_MIN_LUM
exint evalInt(int pi, int vi, fpreal t) const
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
#define ARG_LUMAKEY_MIN_VALUE
#define ARG_LUMAKEY_FUNCTION
float(* COP2_KeyFunction)(void *data, const float val[4])
bool createPerRes() const override
#define ARG_LUMAKEY_KEY_PLANE