[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