diff options
author | Yuri Roubinsky <chaosus89@gmail.com> | 2020-09-14 11:48:53 +0300 |
---|---|---|
committer | Yuri Roubinsky <chaosus89@gmail.com> | 2020-10-18 21:59:37 +0300 |
commit | d0f85b932115b08a94b46eadaa1650a40d5fc1de (patch) | |
tree | b1d2c8b17f13416ba2dda9144c63b82a35f451c2 | |
parent | 4467412c9f78f3ddaf7edd4627ec7d629a6234df (diff) |
Fix setting the default texture to shader
-rw-r--r-- | servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp index 90dd6af319..e723028e56 100644 --- a/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp +++ b/servers/rendering/rasterizer_rd/rasterizer_storage_rd.cpp @@ -1256,6 +1256,10 @@ void RasterizerStorageRD::shader_set_code(RID p_shader, const String &p_code) { } material->shader_type = new_type; } + + for (Map<StringName, RID>::Element *E = shader->default_texture_parameter.front(); E; E = E->next()) { + shader->data->set_default_texture_param(E->key(), E->get()); + } } if (shader->data) { @@ -1292,7 +1296,9 @@ void RasterizerStorageRD::shader_set_default_texture_param(RID p_shader, const S } else { shader->default_texture_parameter.erase(p_name); } - + if (shader->data) { + shader->data->set_default_texture_param(p_name, p_texture); + } for (Set<Material *>::Element *E = shader->owners.front(); E; E = E->next()) { Material *material = E->get(); _material_queue_update(material, false, true); |