Commit: 6f9f534149a7b1352115cb2f507ccce109447845
Author: Omar Emara
Date:   Wed Mar 30 16:54:09 2022 +0200
Branches: temp-viewport-compositor-compiler
https://developer.blender.org/rB6f9f534149a7b1352115cb2f507ccce109447845

Viewport Compositor: Implement Value node

===================================================================

M       source/blender/nodes/composite/nodes/node_composite_value.cc

===================================================================

diff --git a/source/blender/nodes/composite/nodes/node_composite_value.cc 
b/source/blender/nodes/composite/nodes/node_composite_value.cc
index 076adc1c01c..cc9a3b04dd8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_value.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_value.cc
@@ -21,6 +21,8 @@
  * \ingroup cmpnodes
  */
 
+#include "NOD_compositor_execute.hh"
+
 #include "node_composite_util.hh"
 
 /* **************** VALUE ******************** */
@@ -32,6 +34,29 @@ static void cmp_node_value_declare(NodeDeclarationBuilder &b)
   b.add_output<decl::Float>(N_("Value")).default_value(0.5f);
 }
 
+using namespace blender::viewport_compositor;
+
+class ValueOperation : public NodeOperation {
+ public:
+  using NodeOperation::NodeOperation;
+
+  void execute() override
+  {
+    Result &result = get_result("Value");
+    result.allocate_single_value();
+
+    const bNodeSocket *socket = static_cast<bNodeSocket 
*>(node().outputs.first);
+    float value = static_cast<bNodeSocketValueFloat 
*>(socket->default_value)->value;
+
+    result.set_float_value(value);
+  }
+};
+
+static NodeOperation *get_compositor_operation(Context &context, DNode node)
+{
+  return new ValueOperation(context, node);
+}
+
 }  // namespace blender::nodes::node_composite_value_cc
 
 void register_node_type_cmp_value()
@@ -43,6 +68,7 @@ void register_node_type_cmp_value()
   cmp_node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT);
   ntype.declare = file_ns::cmp_node_value_declare;
   node_type_size_preset(&ntype, NODE_SIZE_SMALL);
+  ntype.get_compositor_operation = file_ns::get_compositor_operation;
 
   nodeRegisterType(&ntype);
 }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to