[Bf-blender-cvs] [eb90899cd07] experimental-build: Revert "Workbench: Add Curvature overlay for better visibility of surface detail for e.g. sculpting"
Lukas Stockner
noreply at git.blender.org
Fri Oct 26 14:56:51 CEST 2018
Commit: eb90899cd07227b151acbdc01c4eaa4b127a09c5
Author: Lukas Stockner
Date: Fri Oct 26 14:56:31 2018 +0200
Branches: experimental-build
https://developer.blender.org/rBeb90899cd07227b151acbdc01c4eaa4b127a09c5
Revert "Workbench: Add Curvature overlay for better visibility of surface detail for e.g. sculpting"
This reverts commit e9a60ce199200e25d2a6e9d722ad7e8de8cab206.
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/blenkernel/intern/screen.c
M source/blender/blenloader/intern/versioning_280.c
M source/blender/draw/CMakeLists.txt
D source/blender/draw/engines/workbench/shaders/workbench_curvature_lib.glsl
M source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
M source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
M source/blender/draw/engines/workbench/workbench_data.c
M source/blender/draw/engines/workbench/workbench_deferred.c
M source/blender/draw/engines/workbench/workbench_forward.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 a108a83e3dc..750c8fcd6a9 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -4182,17 +4182,6 @@ class VIEW3D_PT_shading_options(Panel):
text=""
)
- col = layout.column()
- row = col.row()
- row.active = not shading.show_xray
- row.prop(shading, "show_curvature")
-
- if shading.show_curvature:
- sub = col.row(align=True)
- sub.active = not shading.show_xray and shading.show_curvature
- sub.prop(shading, "curvature_ridge_factor")
- sub.prop(shading, "curvature_valley_factor")
-
col = layout.column()
row = col.row()
row.active = not shading.show_xray
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 79f8efc6239..84962e9b03f 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -794,8 +794,6 @@ void BKE_screen_view3d_shading_init(View3DShading *shading)
shading->xray_alpha_wire = 0.5f;
shading->cavity_valley_factor = 1.0f;
shading->cavity_ridge_factor = 1.0f;
- shading->curvature_ridge_factor = 1.0f;
- shading->curvature_valley_factor = 1.0f;
copy_v3_fl(shading->single_color, 0.8f);
copy_v3_fl(shading->background_color, 0.05f);
}
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 3eb92d78a25..ab52a9b8b8f 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -2164,18 +2164,5 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
}
- if (!DNA_struct_elem_find(fd->filesdna, "View3DShading", "float", "curvature_ridge_factor")) {
- for (bScreen *screen = bmain->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.curvature_ridge_factor = 1.0f;
- v3d->shading.curvature_valley_factor = 1.0f;
- }
- }
- }
- }
- }
}
}
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 318276eccc7..be742868cd6 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -230,7 +230,6 @@ data_to_c_simple(engines/workbench/shaders/workbench_forward_depth_frag.glsl SRC
data_to_c_simple(engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_ghost_resolve_frag.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_object_outline_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_curvature_lib.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_prepass_vert.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_prepass_frag.glsl SRC)
data_to_c_simple(engines/workbench/shaders/workbench_shadow_vert.glsl SRC)
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_curvature_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_curvature_lib.glsl
deleted file mode 100644
index 6b693675f84..00000000000
--- a/source/blender/draw/engines/workbench/shaders/workbench_curvature_lib.glsl
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef CURVATURE_OFFSET
-# define CURVATURE_OFFSET 1
-#endif
-
-float curvature_soft_clamp(float curvature, float control)
-{
- if (curvature < 0.5 / control)
- return curvature * (1.0 - curvature * control);
- return 0.25 / control;
-}
-
-float calculate_curvature(usampler2D objectId, sampler2D normalBuffer, ivec2 texel, float ridge, float valley)
-{
- uint object_up = texelFetchOffset(objectId, texel, 0, ivec2(0, CURVATURE_OFFSET)).r;
- uint object_down = texelFetchOffset(objectId, texel, 0, ivec2(0, -CURVATURE_OFFSET)).r;
- uint object_left = texelFetchOffset(objectId, texel, 0, ivec2(-CURVATURE_OFFSET, 0)).r;
- uint object_right = texelFetchOffset(objectId, texel, 0, ivec2( CURVATURE_OFFSET, 0)).r;
-
- if((object_up != object_down) || (object_right != object_left)) {
- return 0.0;
- }
-
- vec2 normal_up = texelFetchOffset(normalBuffer, texel, 0, ivec2(0, CURVATURE_OFFSET)).rg;
- vec2 normal_down = texelFetchOffset(normalBuffer, texel, 0, ivec2(0, -CURVATURE_OFFSET)).rg;
- vec2 normal_left = texelFetchOffset(normalBuffer, texel, 0, ivec2(-CURVATURE_OFFSET, 0)).rg;
- vec2 normal_right = texelFetchOffset(normalBuffer, texel, 0, ivec2( CURVATURE_OFFSET, 0)).rg;
-
-#ifdef WORKBENCH_ENCODE_NORMALS
- normal_up = normal_decode(normal_up ).rg;
- normal_down = normal_decode(normal_down ).rg;
- normal_left = normal_decode(normal_left ).rg;
- normal_right = normal_decode(normal_right).rg;
-#endif
-
- float normal_diff = ((normal_up.g - normal_down.g) + (normal_right.r - normal_left.r));
-
- if (normal_diff < 0)
- return -2.0 * curvature_soft_clamp(-normal_diff, valley);
- return 2.0 * curvature_soft_clamp(normal_diff, ridge);
-}
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
index e2821c92710..eadc5e4b0d0 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
@@ -13,7 +13,5 @@ struct WorldData {
int num_lights;
int matcap_orientation;
float background_alpha;
- float curvature_ridge;
- float curvature_valley;
- int pad[3];
+ int pad[1];
};
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 2d09002f71b..508aeb1f0c1 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
@@ -109,11 +109,6 @@ void main()
shaded_color *= 1.0 + cavity.y;
#endif
-#ifdef V3D_SHADING_CURVATURE
- float curvature = calculate_curvature(objectId, normalBuffer, texel, world_data.curvature_ridge, world_data.curvature_valley);
- shaded_color *= curvature + 1.0;
-#endif
-
#ifdef V3D_SHADING_SHADOW
float light_factor = -dot(normal_viewport, world_data.shadow_direction_vs.xyz);
/* The step function might be ok for meshes but it's
diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c
index 025a87d9826..94beedc144b 100644
--- a/source/blender/draw/engines/workbench/workbench_data.c
+++ b/source/blender/draw/engines/workbench/workbench_data.c
@@ -84,9 +84,6 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd)
copy_v3_v3(wd->object_outline_color, wpd->shading.object_outline_color);
wd->object_outline_color[3] = 1.0f;
- wd->curvature_ridge = 0.5f / max_ff(wpd->shading.curvature_ridge_factor*wpd->shading.curvature_ridge_factor, 1e-4f);
- wd->curvature_valley = 0.7f / max_ff(wpd->shading.curvature_valley_factor*wpd->shading.curvature_valley_factor, 1e-4f);
-
wpd->world_ubo = DRW_uniformbuffer_create(sizeof(WORKBENCH_UBO_World), &wpd->world_data);
/* Cavity settings */
diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 96f0eb4d1bb..f7ab9bad5ec 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -104,7 +104,6 @@ extern char datatoc_workbench_cavity_lib_glsl[];
extern char datatoc_workbench_common_lib_glsl[];
extern char datatoc_workbench_data_lib_glsl[];
extern char datatoc_workbench_object_outline_lib_glsl[];
-extern char datatoc_workbench_curvature_lib_glsl[];
extern char datatoc_workbench_world_light_lib_glsl[];
extern char datatoc_gpu_shader_depth_only_frag_glsl[];
@@ -125,9 +124,6 @@ static char *workbench_build_composite_frag(WORKBENCH_PrivateData *wpd)
if (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE) {
BLI_dynstr_append(ds, datatoc_workbench_object_outline_lib_glsl);
}
- if (wpd->shading.flag & V3D_SHADING_CURVATURE) {
- BLI_dynstr_append(ds, datatoc_workbench_curvature_lib_glsl);
- }
BLI_dynstr_append(ds, datatoc_workbench_deferred_composite_frag_glsl);
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c
index e9ed7c15d58..bd9dbd5ae17 100644
--- a/source/blender/draw/engines/workbench/workbench_forward.c
+++ b/source/blender/draw/engines/workbench/workbench_forward.c
@@ -75,7 +75,6 @@ extern char datatoc_workbench_data_lib_glsl[];
extern char datatoc_workbench_background_lib_glsl[];
extern char datatoc_workbench_checkerboard_depth_frag_glsl[];
extern char datatoc_workbench_object_outline_lib_glsl[];
-extern char datatoc_workbench_curvature_lib_glsl[];
extern char datatoc_workbench_prepass_vert_glsl[];
extern char datatoc_workbench_common_lib_glsl[];
extern char datatoc_workbench_world_light_lib_glsl[];
@@ -124,7 +123,6 @@ static char *workbench_build_forward_composite_frag(void)
BLI_dynstr_append(ds, datatoc_workbench_common_lib_glsl);
BLI_dynstr_append(ds, datatoc_workbench_background_lib_glsl);
BLI_dynstr_append(ds, datatoc_workbench_object_outline_lib_glsl);
- BLI_dynstr_append(ds, datatoc_workbench_curvature_lib_glsl);
BLI_dynstr_append(ds, datatoc_workbench_forward_composite_frag_glsl);
str = BLI_dynstr_get_cstring(ds);
diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c
index 00d5781f069..6a11b2b8457 100644
--- a/source/blender/draw/engines/workbench/workbench_materials.c
+++ b/source/blender/draw/engines/workbench/workbench_materials.c
@@ -57,15 +57,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list