Blender
V3.3
source
blender
compositor
operations
COM_ConstantOperation.cc
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2021 Blender Foundation. */
3
4
#include "
COM_ConstantOperation.h
"
5
6
namespace
blender::compositor
{
7
8
ConstantOperation::ConstantOperation
()
9
{
10
needs_canvas_to_get_constant_
=
false
;
11
flags_
.
is_constant_operation
=
true
;
12
flags_
.
is_fullframe_operation
=
true
;
13
}
14
15
bool
ConstantOperation::can_get_constant_elem
()
const
16
{
17
return
!
needs_canvas_to_get_constant_
||
flags_
.
is_canvas_set
;
18
}
19
20
void
ConstantOperation::update_memory_buffer
(
MemoryBuffer
*
output
,
21
const
rcti
&
area
,
22
Span<MemoryBuffer *>
UNUSED
(
inputs
))
23
{
24
BLI_assert
(
output
->is_a_single_elem());
25
const
float
*constant =
get_constant_elem
();
26
float
*
out
=
output
->get_elem(
area
.xmin,
area
.ymin);
27
memcpy(
out
, constant,
output
->get_elem_bytes_len());
28
}
29
30
}
// namespace blender::compositor
BLI_assert
#define BLI_assert(a)
Definition:
BLI_assert.h:46
UNUSED
#define UNUSED(x)
Definition:
BLI_utildefines.h:671
COM_ConstantOperation.h
blender::Span
Definition:
BLI_span.hh:73
blender::compositor::ConstantOperation::ConstantOperation
ConstantOperation()
Definition:
COM_ConstantOperation.cc:8
blender::compositor::ConstantOperation::update_memory_buffer
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) final
Definition:
COM_ConstantOperation.cc:20
blender::compositor::ConstantOperation::can_get_constant_elem
bool can_get_constant_elem() const
Definition:
COM_ConstantOperation.cc:15
blender::compositor::ConstantOperation::needs_canvas_to_get_constant_
bool needs_canvas_to_get_constant_
Definition:
COM_ConstantOperation.h:19
blender::compositor::ConstantOperation::get_constant_elem
virtual const float * get_constant_elem()=0
blender::compositor::MemoryBuffer
a MemoryBuffer contains access to the data of a chunk
Definition:
COM_MemoryBuffer.h:43
blender::compositor::NodeOperation::flags_
NodeOperationFlags flags_
Definition:
COM_NodeOperation.h:347
output
ccl_global KernelShaderEvalInput ccl_global float * output
Definition:
kernel/device/gpu/kernel.h:751
blender::compositor
Definition:
COM_defines.h:10
blender::compositor::area
static void area(int d1, int d2, int e1, int e2, float weights[2])
Definition:
COM_SMAAOperation.cc:113
usdtokens::out
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
inputs
static bNodeSocketTemplate inputs[]
Definition:
node_texture_at.c:11
blender::compositor::NodeOperationFlags::is_canvas_set
bool is_canvas_set
Definition:
COM_NodeOperation.h:203
blender::compositor::NodeOperationFlags::is_constant_operation
bool is_constant_operation
Definition:
COM_NodeOperation.h:232
blender::compositor::NodeOperationFlags::is_fullframe_operation
bool is_fullframe_operation
Definition:
COM_NodeOperation.h:227
rcti
Definition:
DNA_vec_types.h:62
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1