37 if (
rd_ ==
nullptr ||
image_ ==
nullptr) {
83 const bool ensure_premultiplied = !
ELEM(
86 output->copy_from(
buffer_, area, ensure_premultiplied,
true);
ImBuf * BKE_image_acquire_multilayer_view_ibuf(const RenderData &render_data, Image &image, const ImageUser &image_user, const char *pass_name, const char *view_name)
void BKE_image_release_ibuf(Image *ima, ImBuf *ibuf, void *lock)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
@ IMA_ALPHA_CHANNEL_PACKED
Base class for all image operations.
void deinit_execution() override
void init_execution() override
virtual ImBuf * get_im_buf()
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
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
a MemoryBuffer contains access to the data
void add_output_socket(DataType datatype)
constexpr int COM_DATA_TYPE_VALUE_CHANNELS
constexpr float COM_VALUE_ZERO[1]
constexpr rcti COM_AREA_NONE
constexpr float COM_COLOR_TRANSPARENT[4]
ImBufFloatBuffer float_buffer
ImBufByteBuffer byte_buffer