[Bf-blender-cvs] [2772e1564ef] greasepencil-object: Remove color of light

Antonio Vazquez noreply at git.blender.org
Wed Dec 6 21:38:13 CET 2017


Commit: 2772e1564efcd975b574099f84b02d9f1b6fdd1d
Author: Antonio Vazquez
Date:   Wed Dec 6 21:32:05 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rB2772e1564efcd975b574099f84b02d9f1b6fdd1d

Remove color of light

After run some test, this value is not valid in 2D. To tink there is a modifier already.

===================================================================

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/draw/engines/gpencil/gpencil_engine.h
M	source/blender/draw/engines/gpencil/gpencil_vfx.c
M	source/blender/draw/engines/gpencil/shaders/gpencil_light_frag.glsl
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_gpencillight.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index ea233423bd7..01af8957eea 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1918,7 +1918,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         col = split.column()
         col.prop(md, "distance")
-        col.prop(md, "color")
 
     def GP_HOOK(self, layout, ob, md):
         gpd = ob.data
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 67d12c25df3..7d39f7f7160 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -107,7 +107,6 @@ typedef struct GPencilVFXLight {
 	float energy;
 	float ambient;
 	float specular;
-	float color[3];
 } GPencilVFXLight;
 
 /* used to save gpencil objects */
diff --git a/source/blender/draw/engines/gpencil/gpencil_vfx.c b/source/blender/draw/engines/gpencil/gpencil_vfx.c
index 023c79c8276..ac221be425c 100644
--- a/source/blender/draw/engines/gpencil/gpencil_vfx.c
+++ b/source/blender/draw/engines/gpencil/gpencil_vfx.c
@@ -417,9 +417,6 @@ static void DRW_gpencil_vfx_light(
 	stl->vfx[ob_idx].vfx_light.loc[2] = (float)mmd->loc[2];
 	DRW_shgroup_uniform_vec3(vfx_shgrp, "loc", &stl->vfx[ob_idx].vfx_light.loc[0], 1);
 
-	copy_v2_v2(stl->vfx[ob_idx].vfx_light.color, mmd->color);
-	DRW_shgroup_uniform_vec3(vfx_shgrp, "lightcolor", &stl->vfx[ob_idx].vfx_light.color[0], 1);
-
 	stl->vfx[ob_idx].vfx_light.energy = mmd->energy;
 	DRW_shgroup_uniform_float(vfx_shgrp, "energy", &stl->vfx[ob_idx].vfx_light.energy, 1);
 
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_light_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_light_frag.glsl
index c41a70c280d..8d45a8c291f 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_light_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_light_frag.glsl
@@ -3,7 +3,6 @@ out vec4 FragColor;
 uniform sampler2D strokeColor;
 uniform sampler2D strokeDepth;
 uniform vec3 loc;
-uniform vec3 lightcolor;
 uniform float energy;
 uniform float ambient;
 
@@ -21,26 +20,15 @@ void main()
 	stroke_depth = texelFetch(strokeDepth, iuv, 0).r;
 	objcolor = texelFetch(strokeColor, iuv, 0);
 	
-	/* ambient light */
-    vec3 r_ambient = ambient * lightcolor;
-
 	/* diffuse light */
+	vec3 frag_loc = vec3(uv.x, uv.y, 0);
 	vec3 norm = vec3(0, 0, 1.0); /* always z-up */
-	vec3 lightdir = normalize(loc - vec3(uv.x, uv.y, 0));
+	vec3 lightdir = normalize(loc - frag_loc);
 	float diff = max(dot(norm, lightdir), 0.0);
-	vec3 r_diffuse = diff * lightcolor;	
-	
-	/* Light attenuation */
-	float dist  = length(loc - vec3(uv.x, uv.y, 0));
-	r_ambient  /= dist * dist; 
-	r_diffuse  /= dist * dist;
-
-	/* apply energy */
-	r_ambient  *= energy; 
-	r_diffuse  *= energy;
+	float dist  = length(loc - frag_loc);
+	float factor = diff * (energy / (dist * dist));	
 	
-	/* join all values */ 
-    vec3 result = (r_ambient + r_diffuse) * vec3(objcolor);
+    vec3 result = factor * ambient * vec3(objcolor);
 	
 	gl_FragDepth = stroke_depth;
 	FragColor = vec4(result.r, result.g, result.b, objcolor.a);
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index beecc60c677..d0dd1ea4169 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -1975,8 +1975,6 @@ typedef struct GpencilLightModifierData {
 	int flag;                    /* flags */
 	float energy;
 	float ambient;
-	float specular;
-	float color[3];
 } GpencilLightModifierData;
 
 typedef struct GpencilSmoothModifierData {
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 583974c1169..b9408cd3e41 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -5937,8 +5937,6 @@ static void rna_def_modifier_gpencillight(BlenderRNA *brna)
 	StructRNA *srna;
 	PropertyRNA *prop;
 	
-	static float default_1[3] = { 1.0f, 1.0f, 1.0f };
-
 	srna = RNA_def_struct(brna, "GpencilLightModifier", "Modifier");
 	RNA_def_struct_ui_text(srna, "Light Modifier", "Light modifier");
 	RNA_def_struct_sdna(srna, "GpencilLightModifierData");
@@ -5970,22 +5968,6 @@ static void rna_def_modifier_gpencillight(BlenderRNA *brna)
 	RNA_def_property_ui_range(prop, 0, FLT_MAX, 1, 2);
 	RNA_def_property_ui_text(prop, "Ambient", "Strength of ambient light source");
 	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-
-#if 0 /* Not implemented yet */
-	prop = RNA_def_property(srna, "specular", PROP_FLOAT, PROP_NONE);
-	RNA_def_property_float_sdna(prop, NULL, "specular");
-	RNA_def_property_range(prop, 0, FLT_MAX);
-	RNA_def_property_ui_text(prop, "Specular", "Specular factor");
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
-#endif
-
-	prop = RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR_GAMMA);
-	RNA_def_property_range(prop, 0.0, 1.0);
-	RNA_def_property_float_sdna(prop, NULL, "color");
-	RNA_def_property_array(prop, 3);
-	RNA_def_property_float_array_default(prop, default_1);
-	RNA_def_property_ui_text(prop, "Color", "Light color");
-	RNA_def_property_update(prop, 0, "rna_Modifier_update");
 }
 
 void RNA_def_modifier(BlenderRNA *brna)
diff --git a/source/blender/modifiers/intern/MOD_gpencillight.c b/source/blender/modifiers/intern/MOD_gpencillight.c
index 90aca71d15b..f2249941dcf 100644
--- a/source/blender/modifiers/intern/MOD_gpencillight.c
+++ b/source/blender/modifiers/intern/MOD_gpencillight.c
@@ -43,7 +43,6 @@ static void initData(ModifierData *md)
 {
 	GpencilLightModifierData *gpmd = (GpencilLightModifierData *)md;
 	ARRAY_SET_ITEMS(gpmd->loc, 0, 0, 200);
-	ARRAY_SET_ITEMS(gpmd->color, 1.0f, 1.0f, 1.0f);
 	gpmd->energy = 600.0f;
 	gpmd->ambient = 100.0f;
 }



More information about the Bf-blender-cvs mailing list