diff options
Diffstat (limited to 'scene/resources')
-rw-r--r-- | scene/resources/shader.cpp | 5 | ||||
-rw-r--r-- | scene/resources/shader_graph.cpp | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/scene/resources/shader.cpp b/scene/resources/shader.cpp index 42251124bd..c15288fdb4 100644 --- a/scene/resources/shader.cpp +++ b/scene/resources/shader.cpp @@ -136,8 +136,10 @@ void Shader::_set_code(const Dictionary& p_string) { if (p_string.has("default_tex")) { Array arr=p_string["default_tex"]; if ((arr.size()&1)==0) { - for(int i=0;i<arr.size();i+=2) + for(int i=0;i<arr.size();i+=2) { + set_default_texture_param(arr[i],arr[i+1]); + } } } } @@ -338,7 +340,6 @@ RES ResourceFormatLoaderShader::load(const String &p_path,const String& p_origin String type = right.substr(0,popenpos); String param = right.substr(popenpos+1,pclosepos-popenpos-1).strip_edges(); - print_line("type: "+type+" param: "+param); if (type=="tex") { diff --git a/scene/resources/shader_graph.cpp b/scene/resources/shader_graph.cpp index f7fdaeec69..78265045dd 100644 --- a/scene/resources/shader_graph.cpp +++ b/scene/resources/shader_graph.cpp @@ -92,6 +92,7 @@ void ShaderGraph::_set_data(const Dictionary &p_data) { } } + _pending_update_shader=true; _update_shader(); } @@ -1607,6 +1608,7 @@ void ShaderGraph::_update_shader() { get_default_texture_param_list(&names); for (List<StringName>::Element *E=names.front();E;E=E->next()) { + set_default_texture_param(E->get(),Ref<Texture>()); } @@ -1750,6 +1752,7 @@ void ShaderGraph::_update_shader() { if (n->type==NODE_TEXTURE_INPUT || n->type==NODE_CUBEMAP_INPUT) { set_default_texture_param(n->param1,n->param2); + } _add_node_code(ShaderType(i),n,inputs,code[i]); } |