Workbench: Renamed Overlap to Outline

Outline is reserved for the Overlap Overlay
This commit is contained in:
2018-05-15 17:03:59 +02:00
parent a95d417db0
commit 87cd4de3ba
6 changed files with 16 additions and 16 deletions

View File

@@ -3519,7 +3519,7 @@ class VIEW3D_PT_shading(Panel):
sub.active = shading.show_shadows sub.active = shading.show_shadows
sub.prop(shading, "shadow_intensity", text="") sub.prop(shading, "shadow_intensity", text="")
col.prop(shading, "show_object_overlap") col.prop(shading, "show_object_outline")
class VIEW3D_PT_overlay(Panel): class VIEW3D_PT_overlay(Panel):

View File

@@ -928,7 +928,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
if (sl->spacetype == SPACE_VIEW3D) { if (sl->spacetype == SPACE_VIEW3D) {
View3D *v3d = (View3D *)sl; View3D *v3d = (View3D *)sl;
v3d->shading.light = V3D_LIGHTING_STUDIO; v3d->shading.light = V3D_LIGHTING_STUDIO;
v3d->shading.flag |= V3D_SHADING_OBJECT_OVERLAP; v3d->shading.flag |= V3D_SHADING_OBJECT_OUTLINE;
/* Assume (demo) files written with 2.8 want to show /* Assume (demo) files written with 2.8 want to show
* Eevee renders in the viewport. */ * Eevee renders in the viewport. */

View File

@@ -22,12 +22,12 @@ void main()
vec2 uv_viewport = gl_FragCoord.xy * invertedViewportSize; vec2 uv_viewport = gl_FragCoord.xy * invertedViewportSize;
uint object_id = texelFetch(objectId, texel, 0).r; uint object_id = texelFetch(objectId, texel, 0).r;
#ifndef V3D_SHADING_OBJECT_OVERLAP #ifndef V3D_SHADING_OBJECT_OUTLINE
if (object_id == NO_OBJECT_ID) { if (object_id == NO_OBJECT_ID) {
fragColor = vec4(background_color(world_data, uv_viewport.y), 0.0); fragColor = vec4(background_color(world_data, uv_viewport.y), 0.0);
return; return;
} }
#else /* !V3D_SHADING_OBJECT_OVERLAP */ #else /* !V3D_SHADING_OBJECT_OUTLINE */
float object_overlap = calculate_object_overlap(objectId, texel, object_id); float object_overlap = calculate_object_overlap(objectId, texel, object_id);
if (object_id == NO_OBJECT_ID) { if (object_id == NO_OBJECT_ID) {
@@ -40,7 +40,7 @@ void main()
} }
return; return;
} }
#endif /* !V3D_SHADING_OBJECT_OVERLAP */ #endif /* !V3D_SHADING_OBJECT_OUTLINE */
vec4 diffuse_color = texelFetch(colorBuffer, texel, 0); vec4 diffuse_color = texelFetch(colorBuffer, texel, 0);
/* Do we need normals */ /* Do we need normals */
@@ -76,8 +76,8 @@ void main()
shaded_color *= light_multiplier; shaded_color *= light_multiplier;
#ifdef V3D_SHADING_OBJECT_OVERLAP #ifdef V3D_SHADING_OBJECT_OUTLINE
shaded_color = mix(objectOverlapColor, shaded_color, object_overlap); shaded_color = mix(objectOverlapColor, shaded_color, object_overlap);
#endif /* V3D_SHADING_OBJECT_OVERLAP */ #endif /* V3D_SHADING_OBJECT_OUTLINE */
fragColor = vec4(shaded_color, 1.0); fragColor = vec4(shaded_color, 1.0);
} }

View File

@@ -82,7 +82,7 @@ extern char datatoc_workbench_world_light_lib_glsl[];
extern DrawEngineType draw_engine_workbench_solid; extern DrawEngineType draw_engine_workbench_solid;
#define OBJECT_ID_PASS_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP) #define OBJECT_ID_PASS_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE)
#define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->shading.light & V3D_LIGHTING_STUDIO || wpd->shading.flag & V3D_SHADING_SHADOW) #define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->shading.light & V3D_LIGHTING_STUDIO || wpd->shading.flag & V3D_SHADING_SHADOW)
#define SHADOW_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SHADOW) #define SHADOW_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SHADOW)
#define NORMAL_ENCODING_ENABLED() (true) #define NORMAL_ENCODING_ENABLED() (true)
@@ -95,8 +95,8 @@ static char *workbench_build_defines(WORKBENCH_PrivateData *wpd, int drawtype)
DynStr *ds = BLI_dynstr_new(); DynStr *ds = BLI_dynstr_new();
if (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP) { if (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE) {
BLI_dynstr_appendf(ds, "#define V3D_SHADING_OBJECT_OVERLAP\n"); BLI_dynstr_appendf(ds, "#define V3D_SHADING_OBJECT_OUTLINE\n");
} }
if (wpd->shading.flag & V3D_SHADING_SHADOW) { if (wpd->shading.flag & V3D_SHADING_SHADOW) {
BLI_dynstr_appendf(ds, "#define V3D_SHADING_SHADOW\n"); BLI_dynstr_appendf(ds, "#define V3D_SHADING_SHADOW\n");
@@ -138,7 +138,7 @@ static char *workbench_build_composite_frag(WORKBENCH_PrivateData *wpd)
if (wpd->shading.light & V3D_LIGHTING_STUDIO) { if (wpd->shading.light & V3D_LIGHTING_STUDIO) {
BLI_dynstr_append(ds, datatoc_workbench_world_light_lib_glsl); BLI_dynstr_append(ds, datatoc_workbench_world_light_lib_glsl);
} }
if (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP) { if (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE) {
BLI_dynstr_append(ds, datatoc_workbench_object_overlap_lib_glsl); BLI_dynstr_append(ds, datatoc_workbench_object_overlap_lib_glsl);
} }
@@ -165,7 +165,7 @@ static char *workbench_build_prepass_frag(void)
static int get_shader_index(WORKBENCH_PrivateData *wpd, int drawtype) static int get_shader_index(WORKBENCH_PrivateData *wpd, int drawtype)
{ {
const int DRAWOPTIONS_MASK = V3D_SHADING_OBJECT_OVERLAP | V3D_SHADING_SHADOW; const int DRAWOPTIONS_MASK = V3D_SHADING_OBJECT_OUTLINE | V3D_SHADING_SHADOW;
int index = (wpd->shading.flag & DRAWOPTIONS_MASK); int index = (wpd->shading.flag & DRAWOPTIONS_MASK);
index = (index << 2) + wpd->shading.light; index = (index << 2) + wpd->shading.light;
/* set the drawtype flag /* set the drawtype flag

View File

@@ -331,7 +331,7 @@ enum {
/* View3DShading->flag */ /* View3DShading->flag */
enum { enum {
V3D_SHADING_OBJECT_OVERLAP = (1 << 0), V3D_SHADING_OBJECT_OUTLINE = (1 << 0),
V3D_SHADING_SHADOW = (1 << 2), V3D_SHADING_SHADOW = (1 << 2),
}; };

View File

@@ -2203,10 +2203,10 @@ static void rna_def_space_view3d_shading(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lighting", "Lighting Method for Solid/Texture Viewport Shading"); RNA_def_property_ui_text(prop, "Lighting", "Lighting Method for Solid/Texture Viewport Shading");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "show_object_overlap", PROP_BOOLEAN, PROP_NONE); prop = RNA_def_property(srna, "show_object_outline", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "shading.flag", V3D_SHADING_OBJECT_OVERLAP); RNA_def_property_boolean_sdna(prop, NULL, "shading.flag", V3D_SHADING_OBJECT_OUTLINE);
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE); RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_ui_text(prop, "Object Overlap", "Show Object Overlap"); RNA_def_property_ui_text(prop, "Object Outline", "Show Object Outline");
RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL); RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
prop = RNA_def_property(srna, "studio_light", PROP_ENUM, PROP_NONE); prop = RNA_def_property(srna, "studio_light", PROP_ENUM, PROP_NONE);