[Bf-blender-cvs] [7f1a9480fc1] soc-2019-npr: LANPR: Fixed last segment missing error on chain splitting.

YimingWu noreply at git.blender.org
Tue Jun 4 10:43:25 CEST 2019


Commit: 7f1a9480fc16d4895858f7acdd89bf66e3d97e05
Author: YimingWu
Date:   Tue Jun 4 16:41:12 2019 +0800
Branches: soc-2019-npr
https://developer.blender.org/rB7f1a9480fc16d4895858f7acdd89bf66e3d97e05

LANPR: Fixed last segment missing error on chain splitting.

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

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 5f1b1fd0920..a9e2d7f3edc 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -430,10 +430,10 @@ void lanpr_split_chains_for_fixed_occlusion(LANPR_RenderBuffer *rb){
   LANPR_RenderLineChainItem *rlci,*next_rlci;
   ListBase swap={0};
 
-  while (rlc = BLI_pophead(&rb->chains)){
-    rlc->item.next=rlc->item.prev=NULL;
-    BLI_addtail(&swap,rlc);
-  }
+  swap.first = rb->chains.first;
+  swap.last = rb->chains.last;
+
+  rb->chains.last = rb->chains.first = NULL;
 
   while (rlc = BLI_pophead(&swap)){
     rlc->item.next=rlc->item.prev=NULL;
@@ -449,6 +449,12 @@ void lanpr_split_chains_for_fixed_occlusion(LANPR_RenderBuffer *rb){
         rlc->chain.last=rlci->item.prev;
         ((LANPR_RenderLineChainItem*)rlc->chain.last)->item.next=0;
         rlci->item.prev=0;
+
+        //end the previous one
+        lanpr_append_render_line_chain_point(rb,rlc,rlci->pos[0],rlci->pos[1],
+                rlci->gpos[0],rlci->gpos[1],rlci->gpos[2],
+                rlci->normal,rlci->line_type,fixed_occ);
+
         rlc=new_rlc;
         fixed_occ = rlci->occlusion;
       }



More information about the Bf-blender-cvs mailing list