diff options
Diffstat (limited to 'scene/resources/shader.h')
-rw-r--r-- | scene/resources/shader.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/resources/shader.h b/scene/resources/shader.h index 682fbd7ea6..18197419f3 100644 --- a/scene/resources/shader.h +++ b/scene/resources/shader.h @@ -52,7 +52,10 @@ public: }; private: - RID shader; + mutable RID shader_rid; + mutable String preprocessed_code; + mutable Mutex shader_rid_mutex; + Mode mode = MODE_SPATIAL; HashSet<Ref<ShaderInclude>> include_dependencies; String code; @@ -60,6 +63,7 @@ private: HashMap<StringName, HashMap<int, Ref<Texture>>> default_textures; + void _check_shader_rid() const; void _dependency_changed(); void _recompile(); virtual void _update_shader() const; //used for visual shader |