33 this->m_inputColorProgram =
nullptr;
34 this->m_inputDeterminatorProgram =
nullptr;
49 float determinatorReferenceColor[4];
50 float determinator[4];
54 float space = this->m_space;
56 int minx =
floor(
x - space);
57 int maxx =
ceil(
x + space);
58 int miny =
floor(
y - space);
59 int maxy =
ceil(
y + space);
61 this->m_inputDeterminatorProgram->
read(determinatorReferenceColor,
x,
y,
data);
72 this->m_inputDeterminatorProgram->
read(determinator, xi, yi,
data);
73 deltaColor = (
fabsf(determinatorReferenceColor[0] - determinator[0]) +
74 fabsf(determinatorReferenceColor[1] - determinator[1]) +
75 fabsf(determinatorReferenceColor[2] -
77 if (deltaColor < sigmacolor) {
79 this->m_inputColorProgram->
read(tempColor, xi, yi,
data);
86 if (blurDivider > 0.0f) {
99 this->m_inputColorProgram =
nullptr;
100 this->m_inputDeterminatorProgram =
nullptr;
108 int add =
ceil(this->m_space) + 1;
MINLINE void mul_v4_v4fl(float r[3], const float a[4], float f)
MINLINE void add_v4_v4(float r[4], const float a[4])
MINLINE void zero_v4(float r[4])
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output) override
void deinitExecution() override
void initExecution() override
void executePixel(float output[4], int x, int y, void *data) override
void addInputSocket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
void read(float result[4], int x, int y, void *chunkData)
void addOutputSocket(DataType datatype)
SocketReader * getInputSocketReader(unsigned int inputSocketindex)
virtual bool determineDependingAreaOfInterest(rcti *input, ReadBufferOperation *readOperation, rcti *output)
void initExecution(QualityHelper helper)
static void add(GHash *messages, MemArena *memarena, const Message *msg)
ccl_device_inline float2 floor(const float2 &a)
ccl_device_inline float3 ceil(const float3 &a)