[Bf-blender-cvs] [5db8f6d1894] blender2.8: Edit Mesh: Fix missing loose edges if vertex is at local origin
Clément Foucault
noreply at git.blender.org
Wed Jul 11 18:20:28 CEST 2018
Commit: 5db8f6d18947a6d8534b8e5768ba779109a645ee
Author: Clément Foucault
Date: Wed Jul 11 18:20:14 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB5db8f6d18947a6d8534b8e5768ba779109a645ee
Edit Mesh: Fix missing loose edges if vertex is at local origin
===================================================================
M source/blender/draw/modes/edit_mesh_mode.c
===================================================================
diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c
index 700132e0ee4..1e05b154974 100644
--- a/source/blender/draw/modes/edit_mesh_mode.c
+++ b/source/blender/draw/modes/edit_mesh_mode.c
@@ -147,7 +147,7 @@ static int EDIT_MESH_sh_index(ToolSettings *tsettings, RegionView3D *rv3d, bool
return result;
}
-static char *EDIT_MESH_sh_defines(ToolSettings *tsettings, RegionView3D *rv3d, bool anti_alias)
+static char *EDIT_MESH_sh_defines(ToolSettings *tsettings, RegionView3D *rv3d, bool anti_alias, bool looseedge)
{
const int selectmode = tsettings->selectmode;
const int fast_mode = rv3d->rflag & RV3D_NAVIGATING;
@@ -174,7 +174,10 @@ static char *EDIT_MESH_sh_defines(ToolSettings *tsettings, RegionView3D *rv3d, b
if (anti_alias) {
BLI_dynstr_append(ds, "#define ANTI_ALIASING\n");
}
- BLI_dynstr_append(ds, "#define VERTEX_FACING\n");
+
+ if (!looseedge) {
+ BLI_dynstr_append(ds, "#define VERTEX_FACING\n");
+ }
str = BLI_dynstr_get_cstring(ds);
BLI_dynstr_free(ds);
@@ -198,7 +201,7 @@ static GPUShader *EDIT_MESH_ensure_shader(ToolSettings *tsettings, RegionView3D
const int index = EDIT_MESH_sh_index(tsettings, rv3d, fast_mode);
if (looseedge) {
if (!e_data.overlay_loose_edge_sh_cache[index]) {
- char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true);
+ char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true, true);
char *lib = EDIT_MESH_sh_lib();
e_data.overlay_loose_edge_sh_cache[index] = DRW_shader_create_with_lib(
datatoc_edit_mesh_overlay_vert_glsl,
@@ -213,7 +216,7 @@ static GPUShader *EDIT_MESH_ensure_shader(ToolSettings *tsettings, RegionView3D
}
else {
if (!e_data.overlay_tri_sh_cache[index]) {
- char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true);
+ char *defines = EDIT_MESH_sh_defines(tsettings, rv3d, true, false);
char *lib = EDIT_MESH_sh_lib();
e_data.overlay_tri_sh_cache[index] = DRW_shader_create_with_lib(
datatoc_edit_mesh_overlay_vert_glsl,
More information about the Bf-blender-cvs
mailing list