diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-08-18 17:31:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-18 17:31:39 +0200 |
commit | 9cd58b69164027f0429e720767265fb00c11a125 (patch) | |
tree | 63b0a35f3282e00ced69a527432033eedc6f9c88 /scene/resources/visual_shader.h | |
parent | 909d611b33627df6ebf8ca038a3f352c5d5be9e6 (diff) | |
parent | e3b43771aa9181349ba6de876e31969d2ea1331a (diff) | |
download | redot-engine-9cd58b69164027f0429e720767265fb00c11a125.tar.gz |
Merge pull request #31449 from Chaosus/vs_global_expression
Added global expressions to visual shaders
Diffstat (limited to 'scene/resources/visual_shader.h')
-rw-r--r-- | scene/resources/visual_shader.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/scene/resources/visual_shader.h b/scene/resources/visual_shader.h index a89e3295fc..215b7c7d46 100644 --- a/scene/resources/visual_shader.h +++ b/scene/resources/visual_shader.h @@ -371,6 +371,7 @@ protected: Vector2 size; String inputs; String outputs; + bool editable; struct Port { PortType type; @@ -426,6 +427,9 @@ public: void set_control(Control *p_control, int p_index); Control *get_control(int p_index); + void set_editable(bool p_enabled); + bool is_editable() const; + 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; VisualShaderNodeGroupBase(); @@ -434,10 +438,9 @@ public: class VisualShaderNodeExpression : public VisualShaderNodeGroupBase { GDCLASS(VisualShaderNodeExpression, VisualShaderNodeGroupBase); -private: +protected: String expression; -protected: static void _bind_methods(); public: @@ -453,4 +456,15 @@ public: VisualShaderNodeExpression(); }; +class VisualShaderNodeGlobalExpression : public VisualShaderNodeExpression { + GDCLASS(VisualShaderNodeGlobalExpression, VisualShaderNodeExpression); + +public: + virtual String get_caption() const; + + virtual String generate_global(Shader::Mode p_mode, VisualShader::Type p_type, int p_id) const; + + VisualShaderNodeGlobalExpression(); +}; + #endif // VISUAL_SHADER_H |