Blender  V3.3
COM_BokehBlurOperation.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 
8 
9 namespace blender::compositor {
10 
12  private:
13  SocketReader *input_program_;
14  SocketReader *input_bokeh_program_;
15  SocketReader *input_bounding_box_reader_;
16  void update_size();
17  float size_;
18  bool sizeavailable_;
19 
20  float bokeh_mid_x_;
21  float bokeh_mid_y_;
22  float bokehDimension_;
23  bool extend_bounds_;
24 
25  public:
27 
28  void init_data() override;
29 
30  void *initialize_tile_data(rcti *rect) override;
34  void execute_pixel(float output[4], int x, int y, void *data) override;
35 
39  void init_execution() override;
40 
44  void deinit_execution() override;
45 
47  ReadBufferOperation *read_operation,
48  rcti *output) override;
49 
50  void set_size(float size)
51  {
52  size_ = size;
53  sizeavailable_ = true;
54  }
55 
56  void execute_opencl(OpenCLDevice *device,
57  MemoryBuffer *output_memory_buffer,
58  cl_mem cl_output_buffer,
59  MemoryBuffer **input_memory_buffers,
60  std::list<cl_mem> *cl_mem_to_clean_up,
61  std::list<cl_kernel> *cl_kernels_to_clean_up) override;
62 
63  void set_extend_bounds(bool extend_bounds)
64  {
65  extend_bounds_ = extend_bounds;
66  }
67 
68  void determine_canvas(const rcti &preferred_area, rcti &r_area) override;
69 
70  void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override;
72  const rcti &area,
73  Span<MemoryBuffer *> inputs) override;
74 };
75 
76 } // namespace blender::compositor
_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
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
bool determine_depending_area_of_interest(rcti *input, ReadBufferOperation *read_operation, rcti *output) override
void * initialize_tile_data(rcti *rect) override
void execute_pixel(float output[4], int x, int y, void *data) override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
void execute_opencl(OpenCLDevice *device, MemoryBuffer *output_memory_buffer, cl_mem cl_output_buffer, MemoryBuffer **input_memory_buffers, std::list< cl_mem > *cl_mem_to_clean_up, std::list< cl_kernel > *cl_kernels_to_clean_up) override
custom handle to add new tasks to the OpenCL command queue in order to execute a chunk on an GPUDevic...
void get_area_of_interest(int input_idx, const rcti &output_area, rcti &r_input_area) override
Get input operation area being read by this operation on rendering given output area.
a MemoryBuffer contains access to the data of a chunk
NodeOperation contains calculation logic.
device representing an GPU OpenCL device. an instance of this class represents a single cl_device
ccl_global KernelShaderEvalInput ccl_global float * output
ccl_global KernelShaderEvalInput * input
static void area(int d1, int d2, int e1, int e2, float weights[2])
static bNodeSocketTemplate inputs[]