Blender  V3.3
COM_SingleThreadedOperation.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 
6 #include "COM_NodeOperation.h"
7 
8 namespace blender::compositor {
9 
11  private:
12  MemoryBuffer *cached_instance_;
13 
14  protected:
15  inline bool is_cached()
16  {
17  return cached_instance_ != nullptr;
18  }
19 
20  public:
22 
26  void execute_pixel(float output[4], int x, int y, void *data) override;
27 
31  void init_execution() override;
32 
36  void deinit_execution() override;
37 
38  void *initialize_tile_data(rcti *rect) override;
39 
40  virtual MemoryBuffer *create_memory_buffer(rcti *rect) = 0;
41 };
42 
43 } // 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
a MemoryBuffer contains access to the data of a chunk
NodeOperation contains calculation logic.
void execute_pixel(float output[4], int x, int y, void *data) override
virtual MemoryBuffer * create_memory_buffer(rcti *rect)=0
ccl_global KernelShaderEvalInput ccl_global float * output