diff options
Diffstat (limited to 'scene/resources/visual_shader_nodes.h')
-rw-r--r-- | scene/resources/visual_shader_nodes.h | 31 |
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 |