[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