[Bf-blender-cvs] [77def38eab8] blender2.8: GP: Allow 0 subdivisions for canvas grid

Antonioya noreply at git.blender.org
Wed Oct 3 22:15:02 CEST 2018


Commit: 77def38eab8dd844044ae7ae6d652ad4ea6b9b83
Author: Antonioya
Date:   Wed Oct 3 22:14:38 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB77def38eab8dd844044ae7ae6d652ad4ea6b9b83

GP: Allow 0 subdivisions for canvas grid

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

M	source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index 00235d0bfcb..63e05e186dd 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -649,14 +649,11 @@ GPUBatch *DRW_gpencil_get_grid(void)
 	Scene *scene = draw_ctx->scene;
 	ToolSettings *ts = scene->toolsettings;
 	View3D *v3d = draw_ctx->v3d;
+	const bool do_center = (v3d->overlay.gpencil_grid_lines <= 0) ? false : true;
 
 	float col_grid[4];
 
 	/* verify we have something to draw and valid values */
-	if (v3d->overlay.gpencil_grid_lines < 1) {
-		v3d->overlay.gpencil_grid_lines = GP_DEFAULT_GRID_LINES;
-	}
-
 	if (v3d->overlay.gpencil_grid_scale == 0.0f) {
 		v3d->overlay.gpencil_grid_scale = 1.0f;
 	}
@@ -696,7 +693,7 @@ GPUBatch *DRW_gpencil_get_grid(void)
 	}
 
 	const char *grid_unit = NULL;
-	const int gridlines = v3d->overlay.gpencil_grid_lines;
+	const int gridlines = (v3d->overlay.gpencil_grid_lines <= 0) ? 1 : v3d->overlay.gpencil_grid_lines;
 	const float grid_scale = v3d->overlay.gpencil_grid_scale * ED_scene_grid_scale(scene, &grid_unit);
 	const float grid = grid_scale;
 	const float space = (grid_scale / gridlines);
@@ -737,15 +734,16 @@ GPUBatch *DRW_gpencil_get_grid(void)
 		idx++;
 	}
 	/* center lines */
-	set_grid_point(vbo, idx, col_grid, pos_id, color_id, -grid, 0.0f, axis);
-	idx++;
-	set_grid_point(vbo, idx, col_grid, pos_id, color_id, +grid, 0.0f, axis);
-	idx++;
-
-	set_grid_point(vbo, idx, col_grid, pos_id, color_id, 0.0f, -grid, axis);
-	idx++;
-	set_grid_point(vbo, idx, col_grid, pos_id, color_id, 0.0f, +grid, axis);
-	idx++;
+	if (do_center) {
+		set_grid_point(vbo, idx, col_grid, pos_id, color_id, -grid, 0.0f, axis);
+		idx++;
+		set_grid_point(vbo, idx, col_grid, pos_id, color_id, +grid, 0.0f, axis);
+		idx++;
 
+		set_grid_point(vbo, idx, col_grid, pos_id, color_id, 0.0f, -grid, axis);
+		idx++;
+		set_grid_point(vbo, idx, col_grid, pos_id, color_id, 0.0f, +grid, axis);
+		idx++;
+	}
 	return GPU_batch_create_ex(GPU_PRIM_LINES, vbo, NULL, GPU_BATCH_OWNS_VBO);
 }
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 3fa020494a2..d067088ec4b 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -2970,7 +2970,7 @@ static void rna_def_space_view3d_overlay(BlenderRNA *brna)
 
 	prop = RNA_def_property(srna, "gpencil_grid_lines", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "overlay.gpencil_grid_lines");
-	RNA_def_property_range(prop, 1, INT_MAX);
+	RNA_def_property_range(prop, 0, INT_MAX);
 	RNA_def_property_int_default(prop, GP_DEFAULT_GRID_LINES);
 	RNA_def_property_ui_text(prop, "Subdivisions", "Number of subdivisions in each side of symmetry line");
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);



More information about the Bf-blender-cvs mailing list