43 std::shared_ptr<Nodes::Node>
node;
45 size_t size {
sizeof(float) };
46 std::atomic<ProcessingMode> processing_mode { ProcessingMode::INTERNAL };
49 using ShaderProcessor::ShaderProcessor;
60 const std::string& name,
61 const std::shared_ptr<Nodes::Node>& node,
63 size_t size =
sizeof(
float),
64 ProcessingMode mode = ProcessingMode::INTERNAL);
69 void unbind_node(
const std::string& name);
74 bool has_binding(
const std::string& name)
const;
79 std::vector<std::string> get_binding_names()
const;
86 void set_processing_mode(
const std::string& name, ProcessingMode mode);
92 void set_processing_mode(ProcessingMode mode);
99 ProcessingMode get_processing_mode(
const std::string& name)
const;
102 void execute_shader(
const std::shared_ptr<VKBuffer>& buffer)
override;
109 void update_push_constants_from_nodes();