[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