[Bf-blender-cvs] [ed0341ca4ce] lanpr-under-gp: LineArt: Ortho camera clipping bug fixed.

YimingWu noreply at git.blender.org
Mon Oct 19 06:52:41 CEST 2020


Commit: ed0341ca4ce7258ca7b3860a21cfa5a812ca5153
Author: YimingWu
Date:   Mon Oct 19 12:52:20 2020 +0800
Branches: lanpr-under-gp
https://developer.blender.org/rBed0341ca4ce7258ca7b3860a21cfa5a812ca5153

LineArt: Ortho camera clipping bug fixed.

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

M	source/blender/editors/lineart/lineart_cpu.c

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

diff --git a/source/blender/editors/lineart/lineart_cpu.c b/source/blender/editors/lineart/lineart_cpu.c
index a68b81eae87..d5b4b58c7e7 100644
--- a/source/blender/editors/lineart/lineart_cpu.c
+++ b/source/blender/editors/lineart/lineart_cpu.c
@@ -130,26 +130,31 @@ static int lineart_triangle_line_imagespace_intersection_v2(SpinLock *spl,
 
 int use_smooth_contour_modifier_contour = 0; /*  debug purpose */
 
-static void lineart_render_line_discard_segment(LineartRenderBuffer* rb, LineartRenderLineSegment* rls){
+static void lineart_render_line_discard_segment(LineartRenderBuffer *rb,
+                                                LineartRenderLineSegment *rls)
+{
   BLI_spin_lock(&rb->lock_cuts);
 
-  memset(rls,0,sizeof(LineartRenderLineSegment));
+  memset(rls, 0, sizeof(LineartRenderLineSegment));
   BLI_addtail(&rb->wasted_cuts, rls);
 
   BLI_spin_unlock(&rb->lock_cuts);
 }
 
-static LineartRenderLineSegment* lineart_render_line_give_segment(LineartRenderBuffer* rb){
+static LineartRenderLineSegment *lineart_render_line_give_segment(LineartRenderBuffer *rb)
+{
   BLI_spin_lock(&rb->lock_cuts);
-  
-  if(rb->wasted_cuts.first){
-    LineartRenderLineSegment* rls = (LineartRenderLineSegment*)BLI_pophead(&rb->wasted_cuts);
+
+  if (rb->wasted_cuts.first) {
+    LineartRenderLineSegment *rls = (LineartRenderLineSegment *)BLI_pophead(&rb->wasted_cuts);
     BLI_spin_unlock(&rb->lock_cuts);
-    memset(rls,0,sizeof(LineartRenderLineSegment));
+    memset(rls, 0, sizeof(LineartRenderLineSegment));
     return rls;
-  }else{
+  }
+  else {
     BLI_spin_unlock(&rb->lock_cuts);
-    return (LineartRenderLineSegment*)lineart_mem_aquire_thread(&rb->render_data_pool, sizeof(LineartRenderLineSegment));
+    return (LineartRenderLineSegment *)lineart_mem_aquire_thread(&rb->render_data_pool,
+                                                                 sizeof(LineartRenderLineSegment));
   }
 }
 
@@ -277,7 +282,8 @@ static void lineart_render_line_cut(LineartRenderBuffer *rb,
   for (rls = rl->segments.first; rls; rls = next_rls) {
     next_rls = rls->next;
 
-    if(prev_rls && prev_rls->occlusion == rls->occlusion && prev_rls->transparency_mask == rls->transparency_mask){
+    if (prev_rls && prev_rls->occlusion == rls->occlusion &&
+        prev_rls->transparency_mask == rls->transparency_mask) {
       BLI_remlink(&rl->segments, rls);
       lineart_render_line_discard_segment(rb, rls);
       continue;
@@ -845,7 +851,7 @@ static void lineart_main_cull_triangles(LineartRenderBuffer *rb, bool clip_far)
 
   int use_w = 3;
   if (!rb->cam_is_persp) {
-    clip_start = 0;
+    clip_start = -1;
     clip_end = 1;
     use_w = 2;
   }
@@ -914,13 +920,13 @@ static void lineart_main_cull_triangles(LineartRenderBuffer *rb, bool clip_far)
 #define REMOVE_ORIGINAL_LINES \
   BLI_remlink(&rb->all_render_lines, (void *)rt->rl[0]); \
   rt->rl[0]->next = rt->rl[0]->prev = 0; \
-  rt->rl[0]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED;\
+  rt->rl[0]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED; \
   BLI_remlink(&rb->all_render_lines, (void *)rt->rl[1]); \
   rt->rl[1]->next = rt->rl[1]->prev = 0; \
-  rt->rl[1]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED;\
+  rt->rl[1]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED; \
   BLI_remlink(&rb->all_render_lines, (void *)rt->rl[2]); \
   rt->rl[2]->next = rt->rl[2]->prev = 0; \
-  rt->rl[2]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED;\
+  rt->rl[2]->flags |= LRT_EDGE_FLAG_CHAIN_PICKED;
 
       switch (in0 + in1 + in2) {
         case 0: /* ignore this triangle. */
@@ -2463,7 +2469,7 @@ static void lineart_main_get_view_vector(LineartRenderBuffer *rb)
     }
   }
   else {
-    copy_m4_m4(obmat_no_scale,rb->cam_obmat);
+    copy_m4_m4(obmat_no_scale, rb->cam_obmat);
   }
   BLI_spin_unlock(&lineart_share.lock_render_status);
   normalize_v3(obmat_no_scale[0]);
@@ -2472,7 +2478,7 @@ static void lineart_main_get_view_vector(LineartRenderBuffer *rb)
   invert_m4_m4(inv, obmat_no_scale);
   transpose_m4(inv);
   mul_v3_mat3_m4v3(trans, inv, direction);
-  copy_m4_m4(rb->cam_obmat,obmat_no_scale);
+  copy_m4_m4(rb->cam_obmat, obmat_no_scale);
   copy_v3db_v3fl(rb->view_vector, trans);
 }
 
@@ -3927,7 +3933,7 @@ int ED_lineart_compute_feature_lines_internal(Depsgraph *depsgraph, const int sh
 
 #undef LRT_PROGRESS
 #undef LRT_CANCEL_STAGE
-  if(G.debug_value == 4000){
+  if (G.debug_value == 4000) {
     lineart_count_and_print_render_buffer_memory(rb);
   }



More information about the Bf-blender-cvs mailing list