[Bf-blender-cvs] [f5f25b843ee] blender2.8: Removed Object color from workbench. Added Highlights to FLAT shading.

Jeroen Bakker noreply at git.blender.org
Wed May 30 20:35:04 CEST 2018


Commit: f5f25b843ee0edd559187abcfaf4fefbf1901d86
Author: Jeroen Bakker
Date:   Wed May 30 20:34:29 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBf5f25b843ee0edd559187abcfaf4fefbf1901d86

Removed Object color from workbench. Added Highlights to FLAT shading.

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

M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
M	source/blender/draw/engines/workbench/workbench_deferred.c
M	source/blender/draw/engines/workbench/workbench_materials.c
M	source/blender/draw/engines/workbench/workbench_private.h
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 05714921b7a..fbbb169a64a 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3527,8 +3527,8 @@ class VIEW3D_PT_shading(Panel):
                 if shading.studio_light_orientation == 'WORLD':
                     col.row().prop(shading, "studiolight_rot_z")
 
-                row = col.row()
-                row.prop(shading, "show_specular_highlight")
+            row = col.row()
+            row.prop(shading, "show_specular_highlight")
 
             col.separator()
 
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
index 525b934d3be..7374dfbe79e 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
@@ -69,8 +69,15 @@ void main()
 	vec3 shaded_color = diffuse_light * diffuse_color.rgb + specular_color;
 
 #else /* V3D_LIGHTING_STUDIO */
+  #ifdef V3D_SHADING_SPECULAR_HIGHLIGHT
+	vec3 specular_color = get_world_specular_light(world_data, normal_viewport, vec3(0.0, 0.0, 1.0));
+	vec3 shaded_color = diffuse_color.rgb + specular_color;
+
+  #else /* V3D_SHADING_SPECULAR_HIGHLIGHT */
 	vec3 shaded_color = diffuse_color.rgb;
 
+  #endif /* V3D_SHADING_SPECULAR_HIGHLIGHT */
+
 #endif /* V3D_LIGHTING_STUDIO */
 
 #ifdef V3D_SHADING_SHADOW
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
index 6585bac9289..d0e3305cc70 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
@@ -41,7 +41,15 @@ void main()
 	vec3 shaded_color = diffuse_light * diffuse_color.rgb + specular_color;
 
 #else /* V3D_LIGHTING_STUDIO */
+  #ifdef V3D_SHADING_SPECULAR_HIGHLIGHT
+	vec3 specular_color = get_world_specular_light(world_data, normal_viewport, vec3(0.0, 0.0, 1.0));
+	vec3 shaded_color = diffuse_color.rgb + specular_color;
+
+  #else /* V3D_SHADING_SPECULAR_HIGHLIGHT */
 	vec3 shaded_color = diffuse_color.rgb;
+
+  #endif /* V3D_SHADING_SPECULAR_HIGHLIGHT */
+
 #endif /* V3D_LIGHTING_STUDIO */
 
 	float alpha = 0.5	;
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index f0494325475..e7655eee940 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -100,7 +100,7 @@ static char *workbench_build_composite_frag(WORKBENCH_PrivateData *wpd)
 	BLI_dynstr_append(ds, datatoc_workbench_common_lib_glsl);
 	BLI_dynstr_append(ds, datatoc_workbench_background_lib_glsl);
 
-	if (wpd->shading.light & V3D_LIGHTING_STUDIO) {
+	if ((wpd->shading.light & V3D_LIGHTING_STUDIO) || (wpd->shading.flag & V3D_SHADING_SPECULAR_HIGHLIGHT)) {
 		BLI_dynstr_append(ds, datatoc_workbench_world_light_lib_glsl);
 	}
 	if (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE) {
diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c
index 785a01c7621..fb9b73c48b0 100644
--- a/source/blender/draw/engines/workbench/workbench_materials.c
+++ b/source/blender/draw/engines/workbench/workbench_materials.c
@@ -26,9 +26,6 @@ void workbench_material_get_solid_color(WORKBENCH_PrivateData *wpd, Object *ob,
 		float hsv[3] = {offset, HSV_SATURATION, HSV_VALUE};
 		hsv_to_rgb_v(hsv, color);
 	}
-	else if (color_type == V3D_SHADING_OBJECT_COLOR) {
-		copy_v3_v3(color, ob->col);
-	}
 	else {
 		/* V3D_SHADING_MATERIAL_COLOR */
 		if (mat) {
diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h
index 918715581d9..54cf82c59bb 100644
--- a/source/blender/draw/engines/workbench/workbench_private.h
+++ b/source/blender/draw/engines/workbench/workbench_private.h
@@ -42,7 +42,8 @@
 
 #define OBJECT_ID_PASS_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE)
 #define SHADOW_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SHADOW)
-#define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->shading.light & V3D_LIGHTING_STUDIO || SHADOW_ENABLED(wpd))
+#define SPECULAR_HIGHLIGHT_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SPECULAR_HIGHLIGHT)
+#define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->shading.light & V3D_LIGHTING_STUDIO || SHADOW_ENABLED(wpd) || SPECULAR_HIGHLIGHT_ENABLED	(wpd))
 #define NORMAL_ENCODING_ENABLED() (true)
 #define WORKBENCH_REVEALAGE_ENABLED
 #define STUDIOLIGHT_ORIENTATION_WORLD_ENABLED(wpd) (wpd->studio_light->flag & STUDIOLIGHT_ORIENTATION_WORLD)
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 053509cbc03..533ea2dbd84 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -349,7 +349,6 @@ enum {
 	V3D_SHADING_MATERIAL_COLOR = 0,
 	V3D_SHADING_RANDOM_COLOR   = 1,
 	V3D_SHADING_SINGLE_COLOR   = 2,
-	V3D_SHADING_OBJECT_COLOR   = 3,
 };
 
 /* View3DOverlay->flag */
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 71f647b7009..4c7b5b3f0a6 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -2249,8 +2249,7 @@ static void rna_def_space_view3d_shading(BlenderRNA *brna)
 
 	static const EnumPropertyItem color_type_items[] = {
 		{V3D_SHADING_SINGLE_COLOR,   "SINGLE",   0, "Single",   "Show scene in a single color"},
-		{V3D_SHADING_OBJECT_COLOR,   "OBJECT",   0, "Object",   "Show Object color"},
-		{V3D_SHADING_MATERIAL_COLOR, "MATERIAL", 0, "Material", "Show Material color"},
+		{V3D_SHADING_MATERIAL_COLOR, "MATERIAL", 0, "Material", "Show material color"},
 		{V3D_SHADING_RANDOM_COLOR,   "RANDOM",   0, "Random",   "Show random object color"},
 		{0, NULL, 0, NULL, NULL}
 	};



More information about the Bf-blender-cvs mailing list