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:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-10-13 19:53:08 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-10-13 20:14:33 +0400
commitf4a260fb3c039d4ad241b87c5951b3348227b056 (patch)
treef17a27404ace0925a1824c02cc653939025719df
parentbdc41ca756ab48f0a83b4fd97560969521b4b433 (diff)
Fix T42198: Linked lines only work with linked objects.
The reported issue was caused by a backward incompatibility due to careless code changes made when per-material Freestyle line colors were introduced in rB7915d7277ac8c605f016f30f943080556244fb59. In 2.71 line style Material color/alpha/thickness modifiers was retrieving alpha transparency from Material.alpha, whereas in 2.72 Material.line_color[3] was referenced. The present fix reverts the aforementioned code changes. This issue is a regression from 2.71, so the fix is appropriate for inclusion in the 2.72a release.
-rw-r--r--release/scripts/freestyle/modules/freestyle/utils.py6
-rw-r--r--source/blender/blenkernel/intern/linestyle.c2
-rw-r--r--source/blender/makesdna/DNA_linestyle_types.h1
-rw-r--r--source/blender/makesrna/intern/rna_linestyle.c1
4 files changed, 7 insertions, 3 deletions
diff --git a/release/scripts/freestyle/modules/freestyle/utils.py b/release/scripts/freestyle/modules/freestyle/utils.py
index e0679a53954..6c5e1d5887a 100644
--- a/release/scripts/freestyle/modules/freestyle/utils.py
+++ b/release/scripts/freestyle/modules/freestyle/utils.py
@@ -217,8 +217,6 @@ def iter_material_value(stroke, func, attribute):
# main
if attribute == 'LINE':
value = rgb_to_bw(*material.line[0:3])
- elif attribute == 'ALPHA':
- value = material.line[3]
elif attribute == 'DIFF':
value = rgb_to_bw(*material.diffuse[0:3])
elif attribute == 'SPEC':
@@ -230,6 +228,8 @@ def iter_material_value(stroke, func, attribute):
value = material.line[1]
elif attribute == 'LINE_B':
value = material.line[2]
+ elif attribute == 'LINE_A':
+ value = material.line[3]
# diffuse seperate
elif attribute == 'DIFF_R':
value = material.diffuse[0]
@@ -237,6 +237,8 @@ def iter_material_value(stroke, func, attribute):
value = material.diffuse[1]
elif attribute == 'DIFF_B':
value = material.diffuse[2]
+ elif attribute == 'ALPHA':
+ value = material.diffuse[3]
# specular seperate
elif attribute == 'SPEC_R':
value = material.specular[0]
diff --git a/source/blender/blenkernel/intern/linestyle.c b/source/blender/blenkernel/intern/linestyle.c
index 5e17117a875..bcdaf9b7af0 100644
--- a/source/blender/blenkernel/intern/linestyle.c
+++ b/source/blender/blenkernel/intern/linestyle.c
@@ -442,7 +442,7 @@ LineStyleModifier *BKE_linestyle_alpha_modifier_add(FreestyleLineStyle *linestyl
{
LineStyleAlphaModifier_Material *p = (LineStyleAlphaModifier_Material *)m;
p->curve = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
- p->mat_attr = LS_MODIFIER_MATERIAL_ALPHA;
+ p->mat_attr = LS_MODIFIER_MATERIAL_LINE_A;
break;
}
default:
diff --git a/source/blender/makesdna/DNA_linestyle_types.h b/source/blender/makesdna/DNA_linestyle_types.h
index 262bcb5981a..ac848600c2d 100644
--- a/source/blender/makesdna/DNA_linestyle_types.h
+++ b/source/blender/makesdna/DNA_linestyle_types.h
@@ -203,6 +203,7 @@ typedef struct LineStyleThicknessModifier_DistanceFromObject {
#define LS_MODIFIER_MATERIAL_LINE_R 12
#define LS_MODIFIER_MATERIAL_LINE_G 13
#define LS_MODIFIER_MATERIAL_LINE_B 14
+#define LS_MODIFIER_MATERIAL_LINE_A 15
typedef struct LineStyleColorModifier_Material {
struct LineStyleModifier modifier;
diff --git a/source/blender/makesrna/intern/rna_linestyle.c b/source/blender/makesrna/intern/rna_linestyle.c
index 2259db1de66..638bc7a17ea 100644
--- a/source/blender/makesrna/intern/rna_linestyle.c
+++ b/source/blender/makesrna/intern/rna_linestyle.c
@@ -698,6 +698,7 @@ static void rna_def_modifier_material_common(StructRNA *srna)
{LS_MODIFIER_MATERIAL_LINE_R, "LINE_R", 0, "Line Color Red", ""},
{LS_MODIFIER_MATERIAL_LINE_G, "LINE_G", 0, "Line Color Green", ""},
{LS_MODIFIER_MATERIAL_LINE_B, "LINE_B", 0, "Line Color Blue", ""},
+ {LS_MODIFIER_MATERIAL_LINE_A, "LINE_A", 0, "Line Color Alpha", ""},
{LS_MODIFIER_MATERIAL_DIFF, "DIFF", 0, "Diffuse Color", ""},
{LS_MODIFIER_MATERIAL_DIFF_R, "DIFF_R", 0, "Diffuse Color Red", ""},
{LS_MODIFIER_MATERIAL_DIFF_G, "DIFF_G", 0, "Diffuse Color Green", ""},