Blender V4.3
node_composite_rgb.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2006 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10
11#include "DNA_node_types.h"
12
13#include "COM_node_operation.hh"
14
16
17/* **************** RGB ******************** */
18
20
22{
23 b.add_output<decl::Color>("RGBA").default_value({0.5f, 0.5f, 0.5f, 1.0f});
24}
25
26using namespace blender::realtime_compositor;
27
29 public:
31
32 void execute() override
33 {
34 Result &result = get_result("RGBA");
35 result.allocate_single_value();
36
37 const bNodeSocket *socket = static_cast<const bNodeSocket *>(bnode().outputs.first);
38 float4 color = float4(static_cast<const bNodeSocketValueRGBA *>(socket->default_value)->value);
39
40 result.set_color_value(color);
41 }
42};
43
45{
46 return new RGBOperation(context, node);
47}
48
49} // namespace blender::nodes::node_composite_rgb_cc
50
52{
53 namespace file_ns = blender::nodes::node_composite_rgb_cc;
54
55 static blender::bke::bNodeType ntype;
56
57 cmp_node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT);
58 ntype.declare = file_ns::cmp_node_rgb_declare;
60 ntype.get_compositor_operation = file_ns::get_compositor_operation;
61
63}
#define NODE_CLASS_INPUT
Definition BKE_node.hh:404
NodeOperation(Context &context, DNode node)
Result & get_result(StringRef identifier)
Definition operation.cc:46
local_group_size(16, 16) .push_constant(Type b
void node_type_size_preset(bNodeType *ntype, eNodeSizePreset size)
Definition node.cc:4614
void node_register_type(bNodeType *ntype)
Definition node.cc:1708
static void cmp_node_rgb_declare(NodeDeclarationBuilder &b)
static NodeOperation * get_compositor_operation(Context &context, DNode node)
VecBase< float, 4 > float4
void register_node_type_cmp_rgb()
void cmp_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
void * first
void * default_value
ListBase outputs
Defines a node type.
Definition BKE_node.hh:218
NodeGetCompositorOperationFunction get_compositor_operation
Definition BKE_node.hh:324
NodeDeclareFunction declare
Definition BKE_node.hh:347