Blender  V3.3
COM_ColorCurveOperation.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. */
3 
4 #pragma once
5 
7 
8 namespace blender::compositor {
9 
11  private:
15  SocketReader *input_fac_program_;
16  SocketReader *input_image_program_;
17  SocketReader *input_black_program_;
18  SocketReader *input_white_program_;
19 
20  public:
22 
26  void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override;
27 
31  void init_execution() override;
32 
36  void deinit_execution() override;
37 
39  const rcti &area,
40  Span<MemoryBuffer *> inputs) override;
41 };
42 
44  private:
48  SocketReader *input_fac_program_;
49  SocketReader *input_image_program_;
50  float black_[3];
51  float white_[3];
52 
53  public:
55 
59  void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override;
60 
64  void init_execution() override;
65 
69  void deinit_execution() override;
70 
71  void set_black_level(float black[3])
72  {
73  copy_v3_v3(black_, black);
74  }
75  void set_white_level(float white[3])
76  {
77  copy_v3_v3(white_, white);
78  }
79 
81  const rcti &area,
82  Span<MemoryBuffer *> inputs) override;
83 };
84 
85 } // namespace blender::compositor
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 execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void execute_pixel_sampled(float output[4], float x, float y, PixelSampler sampler) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
a MemoryBuffer contains access to the data of a chunk
NodeOperation contains calculation logic.
depth_tx sampler(1, ImageType::FLOAT_2D, "combined_tx") .sampler(2
ccl_global KernelShaderEvalInput ccl_global float * output
static void area(int d1, int d2, int e1, int e2, float weights[2])
static bNodeSocketTemplate inputs[]