[Bf-blender-cvs] [b3cea139a8a] soc-2018-npr: Fix taper on segment_count==1 situation

Nick Wu noreply at git.blender.org
Fri Jul 20 17:28:55 CEST 2018


Commit: b3cea139a8aee0ebdd9cce44f08ac71f1557b227
Author: Nick Wu
Date:   Fri Jul 20 22:26:32 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rBb3cea139a8aee0ebdd9cce44f08ac71f1557b227

Fix taper on segment_count==1 situation

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

M	source/blender/draw/engines/lanpr/lanpr_chain.c

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

diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c b/source/blender/draw/engines/lanpr/lanpr_chain.c
index b09a16ffe73..758493fb1b2 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -303,11 +303,7 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer *rb){
     Gwn_IndexBufBuilder elb;
 	GWN_indexbuf_init_ex(&elb, GWN_PRIM_LINES_ADJ, vert_count*4, vert_count, true);// elem count will not exceed vert_count
 
-	int debc = 0;
-
     for(rlc = rb->Chains.pFirst; rlc; rlc=rlc->Item.pNext){
-		//if (debc == 1) break;
-		debc++;
 
 		total_length = lanpr_ComputeChainLength(rlc, lengths, i);
 
@@ -319,7 +315,14 @@ void lanpr_ChainGenerateDrawCommand(LANPR_RenderBuffer *rb){
             GWN_vertbuf_attr_set(vbo, attr_id.pos, i, rlci->pos);
             GWN_vertbuf_attr_set(vbo, attr_id.offset, i, length_target);
 
-			if (rlci == rlc->Chain.pLast) { i++; continue; }
+			if (rlci == rlc->Chain.pLast) {
+				if (rlci->Item.pPrev == rlc->Chain.pFirst) {
+					length_target[1] = total_length;
+					GWN_vertbuf_attr_set(vbo, attr_id.offset, i, length_target);
+				}
+				i++; 
+				continue; 
+			}
 
 			if (rlci == rlc->Chain.pFirst) {
 				if (rlci->Item.pNext == rlc->Chain.pLast) GWN_indexbuf_add_line_adj_verts(&elb, vert_count, i, i + 1, vert_count);



More information about the Bf-blender-cvs mailing list