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:
authorThomas Dinges <blender@dingto.org>2013-06-01 16:23:49 +0400
committerThomas Dinges <blender@dingto.org>2013-06-01 16:23:49 +0400
commite46a8f5d76b8f69e66ce5a501d418e1af9ffaa3b (patch)
tree28067912bbe9c7d8dc05486918c88824e175bf74 /intern/cycles
parentf32615653b241e1edef17a874be2258194e14402 (diff)
Fix for #35591:
* Cycles Mix closure could render strange effects, when the user entered a value out of the 0...1 range. This was already clamped for OSL, clamp for SVM as well.
Diffstat (limited to 'intern/cycles')
-rw-r--r--intern/cycles/kernel/svm/svm_closure.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 0621133a316..bf9823aa53e 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -599,6 +599,8 @@ __device void svm_node_mix_closure(ShaderData *sd, float *stack,
decode_node_uchar4(node.y, &weight_offset, &in_weight_offset, &weight1_offset, &weight2_offset);
float weight = stack_load_float(stack, weight_offset);
+ weight = clamp(weight, 0.0f, 1.0f);
+
float in_weight = (stack_valid(in_weight_offset))? stack_load_float(stack, in_weight_offset): 1.0f;
if(stack_valid(weight1_offset))