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-28 18:24:03 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-05-28 18:24:03 +0400
commit33d609144ef60c0223b2925cd39a713ed8c9060c (patch)
tree2e1ce05df337214010bef1d1844f265fb0685814 /intern/cycles/kernel/shaders/node_normal_map.osl
parentef4db04da848a9790e502300285ccd17d71b4646 (diff)
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.
Diffstat (limited to 'intern/cycles/kernel/shaders/node_normal_map.osl')
-rw-r--r--intern/cycles/kernel/shaders/node_normal_map.osl8
1 files changed, 7 insertions, 1 deletions
diff --git a/intern/cycles/kernel/shaders/node_normal_map.osl b/intern/cycles/kernel/shaders/node_normal_map.osl
index 9018cca1390..2557e5ecb4b 100644
--- a/intern/cycles/kernel/shaders/node_normal_map.osl
+++ b/intern/cycles/kernel/shaders/node_normal_map.osl
@@ -56,13 +56,19 @@ shader node_normal_map(
}
}
else if (space == "Object") {
+ Normal = normalize(transform("object", "world", vector(mcolor)));
+ }
+ else if (space == "World") {
+ Normal = normalize(vector(mcolor));
+ }
+ else if (space == "Blender Object") {
/* strange blender convention */
mcolor[1] = -mcolor[1];
mcolor[2] = -mcolor[2];
Normal = normalize(transform("object", "world", vector(mcolor)));
}
- else if (space == "World") {
+ else if (space == "Blender World") {
/* strange blender convention */
mcolor[1] = -mcolor[1];
mcolor[2] = -mcolor[2];