Blender
V4.3
source
blender
compositor
operations
COM_RenderLayersProg.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 "
BLI_listbase.h
"
8
#include "
BLI_utildefines.h
"
9
#include "
COM_MultiThreadedOperation.h
"
10
#include "
DNA_scene_types.h
"
11
#include "
MEM_guardedalloc.h
"
12
13
#include "
RE_pipeline.h
"
14
15
namespace
blender::compositor
{
16
22
class
RenderLayersProg
:
public
MultiThreadedOperation
{
23
protected
:
27
Scene
*
scene_
;
28
32
short
layer_id_
;
33
37
const
char
*
view_name_
;
38
39
const
MemoryBuffer
*
layer_buffer_
;
40
45
float
*
input_buffer_
;
46
50
std::string
pass_name_
;
51
52
int
elementsize_
;
53
57
const
RenderData
*
rd_
;
58
62
void
determine_canvas
(
const
rcti
&preferred_area,
rcti
&r_area)
override
;
63
67
inline
float
*
get_input_buffer
()
68
{
69
return
input_buffer_
;
70
}
71
72
public
:
76
RenderLayersProg
(
const
char
*pass_name,
DataType
type,
int
elementsize);
82
void
set_scene
(
Scene
*scene)
83
{
84
scene_
= scene;
85
}
86
Scene
*
get_scene
()
const
87
{
88
return
scene_
;
89
}
90
void
set_render_data
(
const
RenderData
*rd)
91
{
92
rd_
= rd;
93
}
94
void
set_layer_id
(
short
layer_id)
95
{
96
layer_id_
= layer_id;
97
}
98
short
get_layer_id
()
const
99
{
100
return
layer_id_
;
101
}
102
void
set_view_name
(
const
char
*view_name)
103
{
104
view_name_
= view_name;
105
}
106
const
char
*
get_view_name
()
107
{
108
return
view_name_
;
109
}
110
void
init_execution
()
override
;
111
void
deinit_execution
()
override
;
112
113
std::unique_ptr<MetaData>
get_meta_data
()
override
;
114
115
virtual
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
116
const
rcti
&area,
117
Span<MemoryBuffer *>
inputs
)
override
;
118
};
119
120
class
RenderLayersAOOperation
:
public
RenderLayersProg
{
121
public
:
122
RenderLayersAOOperation
(
const
char
*pass_name,
DataType
type,
int
elementsize)
123
:
RenderLayersProg
(pass_name, type, elementsize)
124
{
125
}
126
127
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
128
const
rcti
&area,
129
Span<MemoryBuffer *>
inputs
)
override
;
130
};
131
132
class
RenderLayersAlphaProg
:
public
RenderLayersProg
{
133
public
:
134
RenderLayersAlphaProg
(
const
char
*pass_name,
DataType
type,
int
elementsize)
135
:
RenderLayersProg
(pass_name, type, elementsize)
136
{
137
}
138
139
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
140
const
rcti
&area,
141
Span<MemoryBuffer *>
inputs
)
override
;
142
};
143
144
class
RenderLayersDepthProg
:
public
RenderLayersProg
{
145
public
:
146
RenderLayersDepthProg
(
const
char
*pass_name,
DataType
type,
int
elementsize)
147
:
RenderLayersProg
(pass_name, type, elementsize)
148
{
149
}
150
151
void
update_memory_buffer_partial
(
MemoryBuffer
*
output
,
152
const
rcti
&area,
153
Span<MemoryBuffer *>
inputs
)
override
;
154
};
155
156
}
// namespace blender::compositor
BLI_listbase.h
BLI_utildefines.h
COM_MultiThreadedOperation.h
DNA_scene_types.h
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
RE_pipeline.h
output
#define output
blender::Span
Definition
BLI_span.hh:75
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data
Definition
COM_MemoryBuffer.h:35
blender::compositor::MultiThreadedOperation::MultiThreadedOperation
MultiThreadedOperation()
Definition
COM_MultiThreadedOperation.cc:10
blender::compositor::RenderLayersAOOperation::RenderLayersAOOperation
RenderLayersAOOperation(const char *pass_name, DataType type, int elementsize)
Definition
COM_RenderLayersProg.h:122
blender::compositor::RenderLayersAOOperation::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_RenderLayersProg.cc:157
blender::compositor::RenderLayersAlphaProg::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_RenderLayersProg.cc:174
blender::compositor::RenderLayersAlphaProg::RenderLayersAlphaProg
RenderLayersAlphaProg(const char *pass_name, DataType type, int elementsize)
Definition
COM_RenderLayersProg.h:134
blender::compositor::RenderLayersDepthProg::RenderLayersDepthProg
RenderLayersDepthProg(const char *pass_name, DataType type, int elementsize)
Definition
COM_RenderLayersProg.h:146
blender::compositor::RenderLayersDepthProg::update_memory_buffer_partial
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_RenderLayersProg.cc:190
blender::compositor::RenderLayersProg::RenderLayersProg
RenderLayersProg(const char *pass_name, DataType type, int elementsize)
Definition
COM_RenderLayersProg.cc:16
blender::compositor::RenderLayersProg::get_meta_data
std::unique_ptr< MetaData > get_meta_data() override
Definition
COM_RenderLayersProg.cc:93
blender::compositor::RenderLayersProg::init_execution
void init_execution() override
Definition
COM_RenderLayersProg.cc:28
blender::compositor::RenderLayersProg::get_scene
Scene * get_scene() const
Definition
COM_RenderLayersProg.h:86
blender::compositor::RenderLayersProg::set_layer_id
void set_layer_id(short layer_id)
Definition
COM_RenderLayersProg.h:94
blender::compositor::RenderLayersProg::rd_
const RenderData * rd_
render data used for active rendering
Definition
COM_RenderLayersProg.h:57
blender::compositor::RenderLayersProg::get_input_buffer
float * get_input_buffer()
Definition
COM_RenderLayersProg.h:67
blender::compositor::RenderLayersProg::deinit_execution
void deinit_execution() override
Definition
COM_RenderLayersProg.cc:57
blender::compositor::RenderLayersProg::input_buffer_
float * input_buffer_
Definition
COM_RenderLayersProg.h:45
blender::compositor::RenderLayersProg::elementsize_
int elementsize_
Definition
COM_RenderLayersProg.h:52
blender::compositor::RenderLayersProg::get_layer_id
short get_layer_id() const
Definition
COM_RenderLayersProg.h:98
blender::compositor::RenderLayersProg::set_view_name
void set_view_name(const char *view_name)
Definition
COM_RenderLayersProg.h:102
blender::compositor::RenderLayersProg::scene_
Scene * scene_
Definition
COM_RenderLayersProg.h:27
blender::compositor::RenderLayersProg::layer_buffer_
const MemoryBuffer * layer_buffer_
Definition
COM_RenderLayersProg.h:39
blender::compositor::RenderLayersProg::layer_id_
short layer_id_
Definition
COM_RenderLayersProg.h:32
blender::compositor::RenderLayersProg::update_memory_buffer_partial
virtual void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
Definition
COM_RenderLayersProg.cc:141
blender::compositor::RenderLayersProg::determine_canvas
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
Definition
COM_RenderLayersProg.cc:66
blender::compositor::RenderLayersProg::get_view_name
const char * get_view_name()
Definition
COM_RenderLayersProg.h:106
blender::compositor::RenderLayersProg::set_render_data
void set_render_data(const RenderData *rd)
Definition
COM_RenderLayersProg.h:90
blender::compositor::RenderLayersProg::pass_name_
std::string pass_name_
Definition
COM_RenderLayersProg.h:50
blender::compositor::RenderLayersProg::view_name_
const char * view_name_
Definition
COM_RenderLayersProg.h:37
blender::compositor::RenderLayersProg::set_scene
void set_scene(Scene *scene)
Definition
COM_RenderLayersProg.h:82
blender::compositor::DataType
DataType
possible data types for sockets
Definition
COM_defines.h:21
blender::compositor
Definition
COM_JumpFloodingAlgorithm.cc:20
inputs
static blender::bke::bNodeSocketTemplate inputs[]
Definition
node_texture_at.cc:11
RenderData
Definition
DNA_scene_types.h:655
Scene
Definition
DNA_scene_types.h:1988
rcti
Definition
DNA_vec_types.h:68
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0