Cycles: normal maps are now backwards compatible again after recent fix, with

a separate Blender Object/World Space that is compatible with Blender render
baking and uses the YZ flipping convention.
This commit is contained in:
Brecht Van Lommel
2013-05-28 14:24:03 +00:00
parent ef4db04da8
commit 33d609144e
6 changed files with 24 additions and 8 deletions

View File

@@ -277,13 +277,15 @@ __device void svm_node_normal_map(KernelGlobals *kg, ShaderData *sd, float *stac
}
else {
/* strange blender convention */
color.y = -color.y;
color.z = -color.z;
if(space == NODE_NORMAL_MAP_BLENDER_OBJECT || space == NODE_NORMAL_MAP_BLENDER_WORLD) {
color.y = -color.y;
color.z = -color.z;
}
/* object, world space */
N = color;
if(space == NODE_NORMAL_MAP_OBJECT)
if(space == NODE_NORMAL_MAP_OBJECT || space == NODE_NORMAL_MAP_BLENDER_OBJECT)
object_normal_transform(kg, sd, &N);
else
N = normalize(N);