Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl6
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl6
2 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl
index c81880184e3..530907859e9 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_eevee_specular.glsl
@@ -64,6 +64,8 @@ void node_eevee_specular(vec4 diffuse,
else {
result = closure_eval(diffuse_data, reflection_data);
}
- result = closure_add(result, closure_eval(emission_data));
- result = closure_add(result, closure_eval(transparency_data));
+ Closure emission_cl = closure_eval(emission_data);
+ Closure transparency_cl = closure_eval(transparency_data);
+ result = closure_add(result, emission_cl);
+ result = closure_add(result, transparency_cl);
}
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
index 033dc05c57d..2e695fa3e14 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
@@ -169,6 +169,8 @@ void node_bsdf_principled(vec4 base_color,
/* Un-optimized case. */
result = closure_eval(diffuse_data, reflection_data, clearcoat_data, refraction_data);
}
- result = closure_add(result, closure_eval(emission_data));
- result = closure_add(result, closure_eval(transparency_data));
+ Closure emission_cl = closure_eval(emission_data);
+ Closure transparency_cl = closure_eval(transparency_data);
+ result = closure_add(result, emission_cl);
+ result = closure_add(result, transparency_cl);
}