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:
authorJeroen Bakker <j.bakker@atmind.nl>2018-05-30 21:34:29 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-05-30 21:34:29 +0300
commitf5f25b843ee0edd559187abcfaf4fefbf1901d86 (patch)
tree4403ffa0d00b47c1e106f1c7c1813c71cd441586
parenteb0fcd4574aaac732045058dce71a17f6900384c (diff)
Removed Object color from workbench. Added Highlights to FLAT shading.
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py4
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl7
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl8
-rw-r--r--source/blender/draw/engines/workbench/workbench_deferred.c2
-rw-r--r--source/blender/draw/engines/workbench/workbench_materials.c3
-rw-r--r--source/blender/draw/engines/workbench/workbench_private.h3
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h1
-rw-r--r--source/blender/makesrna/intern/rna_space.c3
8 files changed, 21 insertions, 10 deletions
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}
};