[Bf-blender-cvs] [09bc242bfd3] greasepencil-object: Use round caps while drawing

Antonio Vazquez noreply at git.blender.org
Sun Dec 17 17:16:50 CET 2017


Commit: 09bc242bfd32ea91d63b736a0ba8d3e051f3e422
Author: Antonio Vazquez
Date:   Sun Dec 17 17:16:41 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rB09bc242bfd32ea91d63b736a0ba8d3e051f3e422

Use round caps while drawing

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

M	source/blender/draw/engines/gpencil/gpencil_geom.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_geom.c b/source/blender/draw/engines/gpencil/gpencil_geom.c
index a61f12b1c69..250c2ddc578 100644
--- a/source/blender/draw/engines/gpencil/gpencil_geom.c
+++ b/source/blender/draw/engines/gpencil/gpencil_geom.c
@@ -231,7 +231,7 @@ Gwn_Batch *DRW_gpencil_get_buffer_stroke_geom(bGPdata *gpd, float matrix[4][4],
 
 	/* draw stroke curve */
 	const tGPspoint *tpt = points;
-	bGPDspoint pt;
+	bGPDspoint pt, pt2;
 	int idx = 0;
 	
 	/* get origin to reproject point */
@@ -245,7 +245,13 @@ Gwn_Batch *DRW_gpencil_get_buffer_stroke_geom(bGPdata *gpd, float matrix[4][4],
 
 		/* first point for adjacency (not drawn) */
 		if (i == 0) {
-			gpencil_set_stroke_point(vbo, matrix, &pt, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+			if (totpoints > 1) {
+				gpencil_tpoint_to_point(scene, ar, v3d, &points[1], &pt2);
+				gpencil_set_stroke_point(vbo, matrix, &pt2, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+			}
+			else {
+				gpencil_set_stroke_point(vbo, matrix, &pt, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+			}
 			idx++;
 		}
 		/* set point */
@@ -254,7 +260,13 @@ Gwn_Batch *DRW_gpencil_get_buffer_stroke_geom(bGPdata *gpd, float matrix[4][4],
 	}
 
 	/* last adjacency point (not drawn) */
-	gpencil_set_stroke_point(vbo, matrix, &pt, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+	if (totpoints > 2) {
+		gpencil_tpoint_to_point(scene, ar, v3d, &points[totpoints - 2], &pt2);
+		gpencil_set_stroke_point(vbo, matrix, &pt2, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+	}
+	else {
+		gpencil_set_stroke_point(vbo, matrix, &pt, idx, pos_id, color_id, thickness_id, thickness, gpd->scolor);
+	}
 
 	return GWN_batch_create_ex(GWN_PRIM_LINE_STRIP_ADJ, vbo, NULL, GWN_BATCH_OWNS_VBO);
 }



More information about the Bf-blender-cvs mailing list