[Bf-blender-cvs] [b66600b9f33] master: Compositor: Full frame Value node

Manuel Castilla noreply at git.blender.org
Wed Jun 16 14:32:52 CEST 2021


Commit: b66600b9f339dabf6a95641b15e7f2f4f7feca8d
Author: Manuel Castilla
Date:   Wed Jun 16 14:02:08 2021 +0200
Branches: master
https://developer.blender.org/rBb66600b9f339dabf6a95641b15e7f2f4f7feca8d

Compositor: Full frame Value node

Adds full frame implementation to Value node operation.
No functional changes.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D11594

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

M	source/blender/compositor/operations/COM_SetValueOperation.cc
M	source/blender/compositor/operations/COM_SetValueOperation.h

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

diff --git a/source/blender/compositor/operations/COM_SetValueOperation.cc b/source/blender/compositor/operations/COM_SetValueOperation.cc
index ef43cf64653..39cf92d325f 100644
--- a/source/blender/compositor/operations/COM_SetValueOperation.cc
+++ b/source/blender/compositor/operations/COM_SetValueOperation.cc
@@ -24,6 +24,7 @@ SetValueOperation::SetValueOperation()
 {
   this->addOutputSocket(DataType::Value);
   flags.is_set_operation = true;
+  flags.is_fullframe_operation = true;
 }
 
 void SetValueOperation::executePixelSampled(float output[4],
@@ -41,4 +42,14 @@ void SetValueOperation::determineResolution(unsigned int resolution[2],
   resolution[1] = preferredResolution[1];
 }
 
+void SetValueOperation::update_memory_buffer(MemoryBuffer *output,
+                                             const rcti &output_area,
+                                             Span<MemoryBuffer *> UNUSED(inputs),
+                                             ExecutionSystem &UNUSED(exec_system))
+{
+  BLI_assert(output->is_a_single_elem());
+  float *out_elem = output->get_elem(output_area.xmin, output_area.ymin);
+  *out_elem = m_value;
+}
+
 }  // namespace blender::compositor
diff --git a/source/blender/compositor/operations/COM_SetValueOperation.h b/source/blender/compositor/operations/COM_SetValueOperation.h
index 5383f3b5fd3..cf578e1794f 100644
--- a/source/blender/compositor/operations/COM_SetValueOperation.h
+++ b/source/blender/compositor/operations/COM_SetValueOperation.h
@@ -51,6 +51,10 @@ class SetValueOperation : public NodeOperation {
   void executePixelSampled(float output[4], float x, float y, PixelSampler sampler) override;
   void determineResolution(unsigned int resolution[2],
                            unsigned int preferredResolution[2]) override;
+  void update_memory_buffer(MemoryBuffer *output,
+                            const rcti &output_area,
+                            Span<MemoryBuffer *> inputs,
+                            ExecutionSystem &exec_system) override;
 };
 
 }  // namespace blender::compositor



More information about the Bf-blender-cvs mailing list