[Bf-blender-cvs] [2094b454474] blender2.8: 3D Viewport: make shading and overlay DNA match UI names.

Brecht Van Lommel noreply at git.blender.org
Sat May 5 16:02:32 CEST 2018


Commit: 2094b454474de25e42cd6ec1f63ebc84f50f666a
Author: Brecht Van Lommel
Date:   Sat May 5 10:45:15 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB2094b454474de25e42cd6ec1f63ebc84f50f666a

3D Viewport: make shading and overlay DNA match UI names.

We should use consistent naming between the internal code and UI whenever
possible, only reason not to is file compatibility.

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

M	release/scripts/modules/bpy_extras/object_utils.py
M	release/scripts/presets/keyconfig/3dsmax.py
M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/blenkernel/BKE_blender_version.h
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
M	source/blender/draw/engines/workbench/workbench_materials.c
M	source/blender/draw/engines/workbench/workbench_private.h
M	source/blender/draw/intern/draw_manager.c
M	source/blender/draw/intern/draw_view.c
M	source/blender/draw/modes/overlay_mode.c
M	source/blender/editors/space_view3d/space_view3d.c
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 04b3858bb0d..fd1f253df03 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -222,7 +222,7 @@ def object_add_grid_scale(context):
     space_data = context.space_data
 
     if space_data and space_data.type == 'VIEW_3D':
-        return space_data.grid_scale_unit
+        return space_data.overlay.grid_scale_unit
 
     return 1.0
 
diff --git a/release/scripts/presets/keyconfig/3dsmax.py b/release/scripts/presets/keyconfig/3dsmax.py
index 1530554812b..ed51bf95a84 100644
--- a/release/scripts/presets/keyconfig/3dsmax.py
+++ b/release/scripts/presets/keyconfig/3dsmax.py
@@ -722,7 +722,7 @@ kmi.properties.value_1 = 'VERTEX'
 kmi.properties.value_2 = 'INCREMENT'
 kmi = km.keymap_items.new('view3d.select_border', 'EVT_TWEAK_L', 'ANY', ctrl=True)
 kmi = km.keymap_items.new('wm.context_toggle', 'G', 'PRESS')
-kmi.properties.data_path = 'space_data.show_floor'
+kmi.properties.data_path = 'space_data.overlay.show_floor'
 
 # Map Animation Channels
 km = kc.keymaps.new('Animation Channels', space_type='EMPTY', region_type='WINDOW', modal=False)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 7328f28bfad..3a35990fd60 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3546,9 +3546,9 @@ class VIEW3D_PT_shading(Panel):
 
         if shading.type == 'SOLID':
             col.separator()
-            col.row().prop(shading, "single_color_mode", expand=True)
+            col.row().prop(shading, "color_type", expand=True)
 
-            if shading.single_color_mode == 'SINGLE':
+            if shading.color_type == 'SINGLE':
                 col.separator()
                 col.row().prop(shading, "single_color", text="")
 
@@ -3580,7 +3580,6 @@ class VIEW3D_PT_overlay(Panel):
 
         view = context.space_data
         overlay = view.overlay
-        shading = view.shading
         scene = context.scene
         display_all = overlay.show_overlays
 
@@ -3606,30 +3605,30 @@ class VIEW3D_PT_overlay(Panel):
 
         col = layout.column()
         col.active = display_all
-        col.prop(view, "show_outline_selected")
-        col.prop(view, "show_all_objects_origin")
-        col.prop(view, "show_relationship_lines")
-        col.prop(view, "show_face_orientation_overlay")
+        col.prop(overlay, "show_outline_selected")
+        col.prop(overlay, "show_all_objects_origin")
+        col.prop(overlay, "show_relationship_lines")
+        col.prop(overlay, "show_face_orientation")
 
         col = layout.column()
         col.active = display_all
         split = col.split(percentage=0.55)
-        split.prop(view, "show_floor", text="Grid Floor")
+        split.prop(overlay, "show_floor", text="Grid Floor")
 
         row = split.row(align=True)
-        row.prop(view, "show_axis_x", text="X", toggle=True)
-        row.prop(view, "show_axis_y", text="Y", toggle=True)
-        row.prop(view, "show_axis_z", text="Z", toggle=True)
+        row.prop(overlay, "show_axis_x", text="X", toggle=True)
+        row.prop(overlay, "show_axis_y", text="Y", toggle=True)
+        row.prop(overlay, "show_axis_z", text="Z", toggle=True)
 
         sub = col.column(align=True)
-        sub.active = bool(view.show_floor or view.region_quadviews or not view.region_3d.is_perspective)
+        sub.active = bool(overlay.show_floor or view.region_quadviews or not view.region_3d.is_perspective)
         subsub = sub.column(align=True)
-        subsub.active = view.show_floor
-        subsub.prop(view, "grid_lines", text="Lines")
-        sub.prop(view, "grid_scale", text="Scale")
+        subsub.active = overlay.show_floor
+        subsub.prop(overlay, "grid_lines", text="Lines")
+        sub.prop(overlay, "grid_scale", text="Scale")
         subsub = sub.column(align=True)
         subsub.active = scene.unit_settings.system == 'NONE'
-        subsub.prop(view, "grid_subdivisions", text="Subdivisions")
+        subsub.prop(overlay, "grid_subdivisions", text="Subdivisions")
 
 
 class VIEW3D_PT_quad_view(Panel):
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 194757561d7..a49753d331f 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -28,7 +28,7 @@
  * and keep comment above the defines.
  * Use STRINGIFY() rather than defining with quotes */
 #define BLENDER_VERSION         280
-#define BLENDER_SUBVERSION      12
+#define BLENDER_SUBVERSION      13
 /* Several breakages with 270, e.g. constraint deg vs rad */
 #define BLENDER_MINVERSION      270
 #define BLENDER_MINSUBVERSION   6
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 8cd9c13be32..10c2e7cb3fb 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -966,7 +966,7 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
 				for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
 					if (sl->spacetype == SPACE_VIEW3D) {
 						View3D *v3d = (View3D *)sl;
-						v3d->drawtype_lighting = V3D_LIGHTING_STUDIO;
+						v3d->shading.light = V3D_LIGHTING_STUDIO;
 
 						/* Assume (demo) files written with 2.8 want to show
 						 * Eevee renders in the viewport. */
@@ -1069,22 +1069,31 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
 							}
 						}
 					}
-					if (sl->spacetype == SPACE_VIEW3D) {
-						View3D *v3d = (View3D *)sl;
-						v3d->drawtype_ambient_intensity = 0.5;
-						copy_v3_fl(v3d->drawtype_single_color, 1.0f);
-						v3d->overlays |= V3D_OVERLAY_HIDE_CURSOR;
-					}
 				}
 			}
 		}
 	}
 
-	{
+	if (!MAIN_VERSION_ATLEAST(main, 280, 13)) {
+		/* Initialize specular factor. */
 		if (!DNA_struct_elem_find(fd->filesdna, "Lamp", "float", "spec_fac")) {
 			for (Lamp *la = main->lamp.first; la; la = la->id.next) {
 				la->spec_fac = 1.0f;
 			}
 		}
+
+		/* Initialize new view3D options. */
+		for (bScreen *screen = main->screen.first; screen; screen = screen->id.next) {
+			for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
+				for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
+					if (sl->spacetype == SPACE_VIEW3D) {
+						View3D *v3d = (View3D *)sl;
+						v3d->shading.ambient_intensity = 0.5;
+						copy_v3_fl(v3d->shading.single_color, 1.0f);
+						v3d->overlay.flag |= V3D_OVERLAY_HIDE_CURSOR;
+					}
+				}
+			}
+		}
 	}
 }
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
index 2a17a508046..bc6125f18b6 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
@@ -18,12 +18,12 @@ void main()
 	vec2 uv_viewport = gl_FragCoord.xy * invertedViewportSize;
 	uint object_id = texelFetch(objectId, texel, 0).r;
 
-#ifndef V3D_DRAWOPTION_OBJECT_OVERLAP
+#ifndef V3D_SHADING_OBJECT_OVERLAP
 	if (object_id == NO_OBJECT_ID) {
 		fragColor = vec4(background_color(world_data, uv_viewport.y), 0.0);
 		return;
 	}
-#else /* !V3D_DRAWOPTION_OBJECT_OVERLAP */
+#else /* !V3D_SHADING_OBJECT_OVERLAP */
 	float object_overlap = calculate_object_overlap(objectId, texel, object_id);
 
 	if (object_id == NO_OBJECT_ID) {
@@ -35,7 +35,7 @@ void main()
 		}
 		return;
 	}
-#endif /* !V3D_DRAWOPTION_OBJECT_OVERLAP */
+#endif /* !V3D_SHADING_OBJECT_OVERLAP */
 
 
 #ifdef V3D_LIGHTING_STUDIO
@@ -57,9 +57,9 @@ void main()
 #endif /* V3D_LIGHTING_STUDIO */
 
 
-#ifdef V3D_DRAWOPTION_OBJECT_OVERLAP
+#ifdef V3D_SHADING_OBJECT_OVERLAP
 	shaded_color = mix(objectOverlapColor, shaded_color, object_overlap);
-#endif /* V3D_DRAWOPTION_OBJECT_OVERLAP */
+#endif /* V3D_SHADING_OBJECT_OVERLAP */
 
 	fragColor = vec4(shaded_color, 1.0);
 }
diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c
index 9126ab801c7..1ee4aa88c8d 100644
--- a/source/blender/draw/engines/workbench/workbench_materials.c
+++ b/source/blender/draw/engines/workbench/workbench_materials.c
@@ -72,18 +72,19 @@ extern char datatoc_workbench_world_light_lib_glsl[];
 
 extern DrawEngineType draw_engine_workbench_solid;
 
-#define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->drawtype_lighting & V3D_LIGHTING_STUDIO)
-#define SHADOW_ENABLED(wpd) (wpd->drawtype_options & V3D_DRAWOPTION_SHADOW)
+#define OBJECT_ID_PASS_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP)
+#define NORMAL_VIEWPORT_PASS_ENABLED(wpd) (wpd->shading.light & V3D_LIGHTING_STUDIO)
+#define SHADOW_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SHADOW)
 static char *workbench_build_defines(WORKBENCH_PrivateData *wpd)
 {
 	char *str = NULL;
 
 	DynStr *ds = BLI_dynstr_new();
 
-	if (wpd->drawtype_options & V3D_DRAWOPTION_OBJECT_OVERLAP) {
-		BLI_dynstr_appendf(ds, "#define V3D_DRAWOPTION_OBJECT_OVERLAP\n");
+	if (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP) {
+		BLI_dynstr_appendf(ds, "#define V3D_SHADING_OBJECT_OVERLAP\n");
 	}
-	if (wpd->drawtype_lighting & V3D_LIGHTING_STUDIO) {
+	if (wpd->shading.light & V3D_LIGHTING_STUDIO) {
 		BLI_dynstr_appendf(ds, "#define V3D_LIGHTING_STUDIO\n");
 	}
 
@@ -106,10 +107,10 @@ 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->drawtype_lighting & V3D_LIGHTING_STUDIO) {
+	if (wpd->shading.light & V3D_LIGHTING_STUDIO) {
 		BLI_dynstr_append(ds, datatoc_workbench_world_light_lib_glsl);
 	}
-	if (wpd->drawtype_options & V3D_DRAWOPTION_OBJECT_OVERLAP) {
+	if (wpd->shading.flag & V3D_SHADING_OBJECT_OVERLAP) {
 		BLI_dynstr_append(ds, datatoc_workbench_object_overlap_lib_glsl);
 	}
 
@@ -136,9 +137,9 @@ static char *workbench_build_prepass_frag(voi

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list