Freestyle: Fix for a wrong formula used for RGB to grayscale conversion.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Thu, 5 Jun 2014 03:55:22 +0000 (12:55 +0900)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Thu, 5 Jun 2014 03:56:49 +0000 (12:56 +0900)
This bug fix is likely to affect the visual results of existing Freestyle setups using the
Material color/alpha/thickness modifiers with the 'material_attribute' parameter set to
either 'Diffuse' (default) or 'Specular', and also the Ramp option enabled in the case
of the Material color modifier.

release/scripts/freestyle/modules/parameter_editor.py

index 38203e9723ba260e683eb9a1c01e4fd921149757..34645b9cb62332d3529815b7c63e2e925d279515 100644 (file)
@@ -464,7 +464,7 @@ def iter_material_value(stroke, material_attribute):
         material = func(Interface0DIterator(it))
         if material_attribute == 'DIFF':
             r, g, b = material.diffuse[0:3]
-            t = 0.35 * r + 0.45 * r + 0.2 * b
+            t = 0.35 * r + 0.45 * g + 0.2 * b
         elif material_attribute == 'DIFF_R':
             t = material.diffuse[0]
         elif material_attribute == 'DIFF_G':
@@ -473,7 +473,7 @@ def iter_material_value(stroke, material_attribute):
             t = material.diffuse[2]
         elif material_attribute == 'SPEC':
             r, g, b = material.specular[0:3]
-            t = 0.35 * r + 0.45 * r + 0.2 * b
+            t = 0.35 * r + 0.45 * g + 0.2 * b
         elif material_attribute == 'SPEC_R':
             t = material.specular[0]
         elif material_attribute == 'SPEC_G':