summaryrefslogtreecommitdiffstats
path: root/scene/resources/visual_shader_nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/visual_shader_nodes.h')
-rw-r--r--scene/resources/visual_shader_nodes.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/scene/resources/visual_shader_nodes.h b/scene/resources/visual_shader_nodes.h
index 0bd0c631b8..a23ae72def 100644
--- a/scene/resources/visual_shader_nodes.h
+++ b/scene/resources/visual_shader_nodes.h
@@ -3092,4 +3092,35 @@ public:
VisualShaderNodeRotationByAxis();
};
+class VisualShaderNodeReroute : public VisualShaderNode {
+ GDCLASS(VisualShaderNodeReroute, VisualShaderNode);
+
+ PortType input_port_type = PORT_TYPE_SCALAR;
+
+protected:
+ static void _bind_methods();
+
+public:
+ virtual String get_caption() const override;
+
+ virtual int get_input_port_count() const override;
+ virtual PortType get_input_port_type(int p_port) const override;
+ virtual String get_input_port_name(int p_port) const override;
+
+ virtual int get_output_port_count() const override;
+ virtual PortType get_output_port_type(int p_port) const override;
+ virtual String get_output_port_name(int p_port) const override;
+ virtual bool has_output_port_preview(int p_port) const override { return false; }
+ virtual bool is_output_port_expandable(int p_port) const override { return false; }
+
+ virtual String generate_code(Shader::Mode p_mode, VisualShader::Type p_type, int p_id, const String *p_input_vars, const String *p_output_vars, bool p_for_preview = false) const override;
+
+ virtual Category get_category() const override { return CATEGORY_SPECIAL; }
+
+ void _set_port_type(PortType p_type);
+ PortType get_port_type() const { return input_port_type; }
+
+ VisualShaderNodeReroute();
+};
+
#endif // VISUAL_SHADER_NODES_H