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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-27 21:48:02 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-27 21:48:02 +0400
commit601b8c1041a6eece565e575d127a6056bc45cbbb (patch)
tree1f29d388e4bff9c06431e91ad6d4ad7032f66605 /intern/cycles/kernel/svm
parent833ca58260ec024abde2d43ba39184f74e66e86b (diff)
Fix #35505: cycles object space normal mapping did not match blender internal.
Now it uses the same (strange) YZ flipping convention.
Diffstat (limited to 'intern/cycles/kernel/svm')
-rw-r--r--intern/cycles/kernel/svm/svm_tex_coord.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/kernel/svm/svm_tex_coord.h b/intern/cycles/kernel/svm/svm_tex_coord.h
index c4cf0d95793..686b332a322 100644
--- a/intern/cycles/kernel/svm/svm_tex_coord.h
+++ b/intern/cycles/kernel/svm/svm_tex_coord.h
@@ -276,13 +276,17 @@ __device void svm_node_normal_map(KernelGlobals *kg, ShaderData *sd, float *stac
object_normal_transform(kg, sd, &N);
}
else {
+ /* strange blender convention */
+ color.y = -color.y;
+ color.z = -color.z;
+
/* object, world space */
N = color;
if(space == NODE_NORMAL_MAP_OBJECT)
object_normal_transform(kg, sd, &N);
-
- N = normalize(N);
+ else
+ N = normalize(N);
}
float strength = stack_load_float(stack, strength_offset);