24 if (color[3] > 0.0f) {
31 it.out[0] = color[0] > 0.0f ? color[0] * color[0] : 0.0f;
32 it.out[1] = color[1] > 0.0f ? color[1] * color[1] : 0.0f;
33 it.out[2] = color[2] > 0.0f ? color[2] * color[2] : 0.0f;
36 if (color[3] > 0.0f) {
37 it.out[0] *= color[3];
38 it.out[1] *= color[3];
39 it.out[2] *= color[3];
59 if (color[3] > 0.0f) {
65 it.out[0] = color[0] > 0.0f ?
sqrtf(color[0]) : 0.0f;
66 it.out[1] = color[1] > 0.0f ?
sqrtf(color[1]) : 0.0f;
67 it.out[2] = color[2] > 0.0f ?
sqrtf(color[2]) : 0.0f;
70 if (color[3] > 0.0f) {
71 it.out[0] *= color[3];
72 it.out[1] *= color[3];
73 it.out[2] *= color[3];
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
GammaUncorrectOperation()
a MemoryBuffer contains access to the data
void read_elem(int x, int y, float *out) const
void add_output_socket(DataType datatype)
NodeOperationFlags flags_
void add_input_socket(DataType datatype, ResizeMode resize_mode=ResizeMode::Center)
typename BuffersIteratorBuilder< T >::Iterator BuffersIterator