[Bf-blender-cvs] [628fe8b635d] temp-lanpr-staging: LANPR: Use flags for struct LANPR_LineLayer.

YimingWu noreply at git.blender.org
Wed Sep 4 05:05:32 CEST 2019


Commit: 628fe8b635dcdccca296d0e782da362b63738731
Author: YimingWu
Date:   Wed Sep 4 11:04:59 2019 +0800
Branches: temp-lanpr-staging
https://developer.blender.org/rB628fe8b635dcdccca296d0e782da362b63738731

LANPR: Use flags for struct LANPR_LineLayer.

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

M	release/datafiles/locale
M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/draw/engines/lanpr/lanpr_cpu.c
M	source/blender/editors/lanpr/lanpr_cpu.c
M	source/blender/makesdna/DNA_lanpr_types.h
M	source/tools

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

diff --git a/release/datafiles/locale b/release/datafiles/locale
index 6a6b84fd505..ad82c4ce43e 160000
--- a/release/datafiles/locale
+++ b/release/datafiles/locale
@@ -1 +1 @@
-Subproject commit 6a6b84fd50538a65276c729b5d396be615bc79f2
+Subproject commit ad82c4ce43ef2801ef51e75af1f9702992478b02
diff --git a/release/scripts/addons b/release/scripts/addons
index 8d11c9e8289..8e6f485cf5b 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 8d11c9e82893e231b2abc093d815deb79866e03b
+Subproject commit 8e6f485cf5b160c425d7da7c743879b20f3d6a96
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index 2769f4b5f5f..7077ff07384 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit 2769f4b5f5f4769cf9115fa7cdd1287540a795bf
+Subproject commit 7077ff07384491d1f7630484995557f1c7302dae
diff --git a/source/blender/draw/engines/lanpr/lanpr_cpu.c b/source/blender/draw/engines/lanpr/lanpr_cpu.c
index 1088b082d90..26bf418f584 100644
--- a/source/blender/draw/engines/lanpr/lanpr_cpu.c
+++ b/source/blender/draw/engines/lanpr/lanpr_cpu.c
@@ -57,80 +57,72 @@ static void lanpr_rebuild_render_draw_command(LANPR_RenderBuffer *rb, LANPR_Line
   int i;
   int vertCount;
 
-  if (ll->type == TNS_COMMAND_LINE) {
-    static GPUVertFormat format = {0};
-    static struct {
-      uint pos, normal;
-    } attr_id;
-    if (format.attr_len == 0) {
-      attr_id.pos = GPU_vertformat_attr_add(&format, "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
-      attr_id.normal = GPU_vertformat_attr_add(
-          &format, "normal", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
-    }
-
-    GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
-
-    if (ll->contour.enabled) {
-      Count += lanpr_count_leveled_edge_segment_count(&rb->contours, ll);
-    }
-    if (ll->crease.enabled) {
-      Count += lanpr_count_leveled_edge_segment_count(&rb->crease_lines, ll);
-    }
-    if (ll->intersection.enabled) {
-      Count += lanpr_count_leveled_edge_segment_count(&rb->intersection_lines, ll);
-    }
-    if (ll->edge_mark.enabled) {
-      Count += lanpr_count_leveled_edge_segment_count(&rb->edge_marks, ll);
-    }
-    if (ll->material_separate.enabled) {
-      Count += lanpr_count_leveled_edge_segment_count(&rb->material_lines, ll);
-    }
-
-    vertCount = Count * 2;
+  static GPUVertFormat format = {0};
+  static struct {
+    uint pos, normal;
+  } attr_id;
+  if (format.attr_len == 0) {
+    attr_id.pos = GPU_vertformat_attr_add(&format, "pos", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
+    attr_id.normal = GPU_vertformat_attr_add(
+        &format, "normal", GPU_COMP_F32, 3, GPU_FETCH_FLOAT);
+  }
 
-    if (!vertCount) {
-      return;
-    }
+  GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format);
 
-    GPU_vertbuf_data_alloc(vbo, vertCount);
+  if (ll->contour.enabled) {
+    Count += lanpr_count_leveled_edge_segment_count(&rb->contours, ll);
+  }
+  if (ll->crease.enabled) {
+    Count += lanpr_count_leveled_edge_segment_count(&rb->crease_lines, ll);
+  }
+  if (ll->intersection.enabled) {
+    Count += lanpr_count_leveled_edge_segment_count(&rb->intersection_lines, ll);
+  }
+  if (ll->edge_mark.enabled) {
+    Count += lanpr_count_leveled_edge_segment_count(&rb->edge_marks, ll);
+  }
+  if (ll->material_separate.enabled) {
+    Count += lanpr_count_leveled_edge_segment_count(&rb->material_lines, ll);
+  }
 
-    tv = v = MEM_callocN(sizeof(float) * 6 * Count, "temp v data");
-    tn = N = MEM_callocN(sizeof(float) * 6 * Count, "temp n data");
+  vertCount = Count * 2;
 
-    if (ll->contour.enabled) {
-      tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->contours, tv, tn, &tn, ll, 1.0f);
-    }
-    if (ll->crease.enabled) {
-      tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->crease_lines, tv, tn, &tn, ll, 2.0f);
-    }
-    if (ll->material_separate.enabled) {
-      tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->material_lines, tv, tn, &tn, ll, 3.0f);
-    }
-    if (ll->edge_mark.enabled) {
-      tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->edge_marks, tv, tn, &tn, ll, 4.0f);
-    }
-    if (ll->intersection.enabled) {
-      tv = lanpr_make_leveled_edge_vertex_array(
-          rb, &rb->intersection_lines, tv, tn, &tn, ll, 5.0f);
-    }
+  if (!vertCount) {
+    return;
+  }
 
-    for (i = 0; i < vertCount; i++) {
-      GPU_vertbuf_attr_set(vbo, attr_id.pos, i, &v[i * 3]);
-      GPU_vertbuf_attr_set(vbo, attr_id.normal, i, &N[i * 3]);
-    }
+  GPU_vertbuf_data_alloc(vbo, vertCount);
 
-    MEM_freeN(v);
-    MEM_freeN(N);
+  tv = v = MEM_callocN(sizeof(float) * 6 * Count, "temp v data");
+  tn = N = MEM_callocN(sizeof(float) * 6 * Count, "temp n data");
 
-    ll->batch = GPU_batch_create_ex(
-        GPU_PRIM_LINES, vbo, 0, GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO);
+  if (ll->contour.enabled) {
+    tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->contours, tv, tn, &tn, ll, 1.0f);
+  }
+  if (ll->crease.enabled) {
+    tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->crease_lines, tv, tn, &tn, ll, 2.0f);
+  }
+  if (ll->material_separate.enabled) {
+    tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->material_lines, tv, tn, &tn, ll, 3.0f);
+  }
+  if (ll->edge_mark.enabled) {
+    tv = lanpr_make_leveled_edge_vertex_array(rb, &rb->edge_marks, tv, tn, &tn, ll, 4.0f);
+  }
+  if (ll->intersection.enabled) {
+    tv = lanpr_make_leveled_edge_vertex_array(
+        rb, &rb->intersection_lines, tv, tn, &tn, ll, 5.0f);
+  }
 
-    return;
+  for (i = 0; i < vertCount; i++) {
+    GPU_vertbuf_attr_set(vbo, attr_id.pos, i, &v[i * 3]);
+    GPU_vertbuf_attr_set(vbo, attr_id.normal, i, &N[i * 3]);
   }
 
-  /*  if (ll->type == TNS_COMMAND_MATERIAL || ll->type == TNS_COMMAND_EDGE) { */
-  /*  later implement .... */
-  /* } */
+  MEM_freeN(v);
+  MEM_freeN(N);
+
+  ll->batch = GPU_batch_create_ex(
+      GPU_PRIM_LINES, vbo, 0, GPU_USAGE_DYNAMIC | GPU_BATCH_OWNS_VBO);
 }
 void ED_lanpr_rebuild_all_command(SceneLANPR *lanpr)
 {
@@ -157,7 +149,7 @@ void ED_lanpr_rebuild_all_command(SceneLANPR *lanpr)
 void ED_lanpr_calculate_normal_object_vector(LANPR_LineLayer *ll, float *normal_object_direction)
 {
   Object *ob;
-  if (!ll->normal_enabled) {
+  if (!(ll->flags & LANPR_LINE_LAYER_NORMAL_ENABLED)) {
     return;
   }
   switch (ll->normal_mode) {
@@ -272,44 +264,44 @@ void lanpr_software_draw_scene(void *vedata, GPUFrameBuffer *dfb, int is_render)
 
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "contour_color",
-                                 ll->use_same_style ? ll->color : ll->contour.color,
+                                 (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->contour.color,
                                  1);
         DRW_shgroup_uniform_vec4(
-            rb->ChainShgrp, "crease_color", ll->use_same_style ? ll->color : ll->crease.color, 1);
+            rb->ChainShgrp, "crease_color", (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->crease.color, 1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "material_color",
-                                 ll->use_same_style ? ll->color : ll->material_separate.color,
+                                 (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->material_separate.color,
                                  1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "edge_mark_color",
-                                 ll->use_same_style ? ll->color : ll->edge_mark.color,
+                                 (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->edge_mark.color,
                                  1);
         DRW_shgroup_uniform_vec4(rb->ChainShgrp,
                                  "intersection_color",
-                                 ll->use_same_style ? ll->color : ll->intersection.color,
+                                 (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? ll->color : ll->intersection.color,
                                  1);
         static float unit_thickness = 1.0f;
         DRW_shgroup_uniform_float(rb->ChainShgrp, "thickness", &ll->thickness, 1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_contour",
-                                  ll->use_same_style ? &unit_thickness : &ll->contour.thickness,
+                                  (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->contour.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_crease",
-                                  ll->use_same_style ? &unit_thickness : &ll->crease.thickness,
+                                  (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->crease.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_material",
-                                  ll->use_same_style ? &unit_thickness :
+                                  (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness :
                                                        &ll->material_separate.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_edge_mark",
-                                  ll->use_same_style ? &unit_thickness : &ll->edge_mark.thickness,
+                                  (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness : &ll->edge_mark.thickness,
                                   1);
         DRW_shgroup_uniform_float(rb->ChainShgrp,
                                   "thickness_intersection",
-                                  ll->use_same_style ? &unit_thickness :
+                                  (ll->flags & LANPR_LINE_LAYER_USE_SAME_STYLE) ? &unit_thickness :
                                                        &ll->intersection.thickness,
                                   1);
         DRW_shgroup_uniform_int(rb->ChainS

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list