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:
authorOmarSquircleArt <omar.squircleart@gmail.com>2019-10-04 16:18:08 +0300
committerOmarSquircleArt <omar.squircleart@gmail.com>2019-10-04 16:21:46 +0300
commit8afa93d82d7dd2519af667d85e1d87b19bf6f2c5 (patch)
tree433f1c677fa1f07328f6e1f2fe19e71c0a34b353 /intern/cycles/render/nodes.cpp
parentf025b625f410ceb8a1edda584fe89acb5fff39d7 (diff)
Fix: Clamping in Map Range node works incorrectly.
The clamp option in the Map Range node doesn't work correctly when the inputs are linked. The code didn't put that into considration. Reviewers: brecht Differential Revision: https://developer.blender.org/D5987
Diffstat (limited to 'intern/cycles/render/nodes.cpp')
-rw-r--r--intern/cycles/render/nodes.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/intern/cycles/render/nodes.cpp b/intern/cycles/render/nodes.cpp
index 71f1863ea49..b58e10a7b52 100644
--- a/intern/cycles/render/nodes.cpp
+++ b/intern/cycles/render/nodes.cpp
@@ -5567,11 +5567,21 @@ void MapRangeNode::expand(ShaderGraph *graph)
ShaderOutput *result_out = output("Result");
if (!result_out->links.empty()) {
ClampNode *clamp_node = new ClampNode();
- clamp_node->min = to_min;
- clamp_node->max = to_max;
graph->add(clamp_node);
graph->relink(result_out, clamp_node->output("Result"));
graph->connect(result_out, clamp_node->input("Value"));
+ if (input("To Min")->link) {
+ graph->connect(input("To Min")->link, clamp_node->input("Min"));
+ }
+ else {
+ clamp_node->min = to_min;
+ }
+ if (input("To Max")->link) {
+ graph->connect(input("To Max")->link, clamp_node->input("Max"));
+ }
+ else {
+ clamp_node->max = to_max;
+ }
}
}
}