28 this->m_inputValueProgram =
nullptr;
29 this->m_inputColorProgram =
nullptr;
31 this->m_alpha =
false;
44 this->m_inputValueProgram->
readSampled(inputValue,
x,
y, sampler);
45 this->m_inputColorProgram->
readSampled(inputColor,
x,
y, sampler);
47 const float value = inputValue[0];
48 const float invertedValue = 1.0f - value;
51 output[0] = (1.0f - inputColor[0]) * value + inputColor[0] * invertedValue;
52 output[1] = (1.0f - inputColor[1]) * value + inputColor[1] * invertedValue;
53 output[2] = (1.0f - inputColor[2]) * value + inputColor[2] * invertedValue;
60 output[3] = (1.0f - inputColor[3]) * value + inputColor[3] * invertedValue;
69 this->m_inputValueProgram =
nullptr;
70 this->m_inputColorProgram =
nullptr;
MINLINE void copy_v3_v3(float r[3], const float a[3])
_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
void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override
void initExecution() override
void deinitExecution() override
void readSampled(float result[4], float x, float y, PixelSampler sampler)
void addInputSocket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
void addOutputSocket(DataType datatype)
void setResolutionInputSocketIndex(unsigned int index)
set the index of the input socket that will determine the resolution of this operation
SocketReader * getInputSocketReader(unsigned int inputSocketindex)