Blender
V4.3
source
blender
compositor
operations
COM_ImageOperation.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
7
#include "
BKE_image.hh
"
8
#include "
BLI_listbase.h
"
9
#include "
BLI_sys_types.h
"
10
#include "
BLI_utildefines.h
"
11
#include "
COM_MultiThreadedOperation.h
"
12
#include "
MEM_guardedalloc.h
"
13
14
#include "
RE_pipeline.h
"
15
#include "
RE_texture.h
"
16
17
namespace
blender::compositor
{
18
22
class
BaseImageOperation
:
public
MultiThreadedOperation
{
23
protected
:
24
ImBuf
*
buffer_
;
25
Image
*
image_
;
26
ImageUser
image_user_
;
27
28
int
imageheight_
;
29
int
imagewidth_
;
30
int
framenumber_
;
31
int
number_of_channels_
;
32
const
RenderData
*
rd_
;
33
const
char
*
view_name_
;
34
35
BaseImageOperation
();
39
void
determine_canvas
(
const
rcti
&preferred_area,
rcti
&r_area)
override
;
40
41
virtual
ImBuf
*
get_im_buf
();
42
43
public
:
44
void
init_execution
()
override
;
45
void
deinit_execution
()
override
;
46
void
set_image
(
Image
*image)
47
{
48
image_
=
image
;
49
}
50
void
set_image_user
(
const
ImageUser
&imageuser)
51
{
52
image_user_
= imageuser;
53
}
54
void
set_render_data
(
const
RenderData
*rd)
55
{
56
rd_
= rd;
57
}
58
void
set_view_name
(
const
char
*view_name)
59
{
60
view_name_
= view_name;
61
}
62
void
set_framenumber
(
int
framenumber)
63
{
64
framenumber_
= framenumber;
65
}
66
};
67
class
ImageOperation
:
public
BaseImageOperation
{
68
public
:
72
ImageOperation
();
73
74
void
update_memory_buffer_partial
(
MemoryBuffer
*output,
75
const
rcti
&area,
76
Span<MemoryBuffer *>
inputs)
override
;
77
};
78
class
ImageAlphaOperation
:
public
BaseImageOperation
{
79
public
:
83
ImageAlphaOperation
();
84
85
void
update_memory_buffer_partial
(
MemoryBuffer
*output,
86
const
rcti
&area,
87
Span<MemoryBuffer *>
inputs)
override
;
88
};
89
}
// namespace blender::compositor
BKE_image.hh
BLI_listbase.h
BLI_sys_types.h
BLI_utildefines.h
COM_MultiThreadedOperation.h
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
RE_pipeline.h
RE_texture.h
blender::Span
Definition
BLI_span.hh:75
blender::compositor::BaseImageOperation
Base class for all image operations.
Definition
COM_ImageOperation.h:22
blender::compositor::BaseImageOperation::BaseImageOperation
BaseImageOperation()
Definition
COM_ImageOperation.cc:14
blender::compositor::BaseImageOperation::set_framenumber
void set_framenumber(int framenumber)
Definition
COM_ImageOperation.h:62
blender::compositor::BaseImageOperation::set_render_data
void set_render_data(const RenderData *rd)
Definition
COM_ImageOperation.h:54
blender::compositor::BaseImageOperation::deinit_execution
void deinit_execution() override
Definition
COM_ImageOperation.cc:61
blender::compositor::BaseImageOperation::rd_
const RenderData * rd_
Definition
COM_ImageOperation.h:32
blender::compositor::BaseImageOperation::number_of_channels_
int number_of_channels_
Definition
COM_ImageOperation.h:31
blender::compositor::BaseImageOperation::imageheight_
int imageheight_
Definition
COM_ImageOperation.h:28
blender::compositor::BaseImageOperation::framenumber_
int framenumber_
Definition
COM_ImageOperation.h:30
blender::compositor::BaseImageOperation::set_image_user
void set_image_user(const ImageUser &imageuser)
Definition
COM_ImageOperation.h:50
blender::compositor::BaseImageOperation::imagewidth_
int imagewidth_
Definition
COM_ImageOperation.h:29
blender::compositor::BaseImageOperation::set_image
void set_image(Image *image)
Definition
COM_ImageOperation.h:46
blender::compositor::BaseImageOperation::image_user_
ImageUser image_user_
Definition
COM_ImageOperation.h:26
blender::compositor::BaseImageOperation::image_
Image * image_
Definition
COM_ImageOperation.h:25
blender::compositor::BaseImageOperation::init_execution
void init_execution() override
Definition
COM_ImageOperation.cc:50
blender::compositor::BaseImageOperation::get_im_buf
virtual ImBuf * get_im_buf()
Definition
COM_ImageOperation.cc:35
blender::compositor::BaseImageOperation::view_name_
const char * view_name_
Definition
COM_ImageOperation.h:33
blender::compositor::BaseImageOperation::buffer_
ImBuf * buffer_
Definition
COM_ImageOperation.h:24
blender::compositor::BaseImageOperation::determine_canvas
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
Definition
COM_ImageOperation.cc:66
blender::compositor::BaseImageOperation::set_view_name
void set_view_name(const char *view_name)
Definition
COM_ImageOperation.h:58
blender::compositor::ImageAlphaOperation
Definition
COM_ImageOperation.h:78
blender::compositor::ImageAlphaOperation::ImageAlphaOperation
ImageAlphaOperation()
Definition
COM_ImageOperation.cc:30
blender::compositor::ImageAlphaOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_ImageOperation.cc:93
blender::compositor::ImageOperation
Definition
COM_ImageOperation.h:67
blender::compositor::ImageOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_ImageOperation.cc:79
blender::compositor::ImageOperation::ImageOperation
ImageOperation()
Definition
COM_ImageOperation.cc:26
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation
Definition
COM_MultiThreadedOperation.h:11
image
input_tx image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "preview_img") .compute_source("compositor_compute_preview.glsl") .do_static_compilation(true)
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
ImBuf
Definition
IMB_imbuf_types.hh:185
ImageUser
Definition
DNA_image_types.h:26
Image
Definition
DNA_image_types.h:142
RenderData
Definition
DNA_scene_types.h:655
rcti
Definition
DNA_vec_types.h:68
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0