[Bf-blender-cvs] [56fa4f6e178] greasepencil-object: Gpencil: Add mix_color interpolation to sample function.

YimingWu noreply at git.blender.org
Tue Nov 5 16:12:28 CET 2019


Commit: 56fa4f6e17872cb6ded282e19b68286eb21db29c
Author: YimingWu
Date:   Tue Nov 5 23:03:56 2019 +0800
Branches: greasepencil-object
https://developer.blender.org/rB56fa4f6e17872cb6ded282e19b68286eb21db29c

Gpencil: Add mix_color interpolation to sample function.

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

M	release/scripts/addons
M	release/scripts/addons_contrib
M	source/blender/blenkernel/intern/gpencil.c
M	source/tools

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

diff --git a/release/scripts/addons b/release/scripts/addons
index 67f1fbca148..8e6f485cf5b 160000
--- a/release/scripts/addons
+++ b/release/scripts/addons
@@ -1 +1 @@
-Subproject commit 67f1fbca1482d9d9362a4001332e785c3fd5d230
+Subproject commit 8e6f485cf5b160c425d7da7c743879b20f3d6a96
diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib
index ef6ef414d22..7077ff07384 160000
--- a/release/scripts/addons_contrib
+++ b/release/scripts/addons_contrib
@@ -1 +1 @@
-Subproject commit ef6ef414d22c2578fad99327743b925ab640a99c
+Subproject commit 7077ff07384491d1f7630484995557f1c7302dae
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 38186b87aac..63ec9b4db92 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -1532,6 +1532,7 @@ static int stroke_march_next_point(const bGPDstroke *gps,
                                    float *result,
                                    float *pressure,
                                    float *strength,
+                                   float *mix_color,
                                    float *ratio_result,
                                    int *index_from,
                                    int *index_to)
@@ -1571,6 +1572,7 @@ static int stroke_march_next_point(const bGPDstroke *gps,
     copy_v3_v3(result, &pt->x);
     *pressure = gps->points[next_point_index].pressure;
     *strength = gps->points[next_point_index].strength;
+    memcpy(mix_color, gps->points[next_point_index].mix_color, sizeof(float) * 4);
 
     *index_from = next_point_index - 1;
     *index_to = next_point_index;
@@ -1585,6 +1587,10 @@ static int stroke_march_next_point(const bGPDstroke *gps,
         gps->points[next_point_index].pressure, gps->points[next_point_index - 1].pressure, ratio);
     *strength = interpf(
         gps->points[next_point_index].strength, gps->points[next_point_index - 1].strength, ratio);
+    interp_v4_v4v4(mix_color,
+                   gps->points[next_point_index - 1].mix_color,
+                   gps->points[next_point_index].mix_color,
+                   ratio);
 
     *index_from = next_point_index - 1;
     *index_to = next_point_index;
@@ -1696,6 +1702,7 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
   int next_point_index = 1;
   i = 0;
   float pressure, strength, ratio_result;
+  float mix_color[4];
   int index_from, index_to;
   float last_coord[3];
 
@@ -1706,6 +1713,7 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
   copy_v3_v3(&pt2->x, last_coord);
   new_pt[i].pressure = pt[0].pressure;
   new_pt[i].strength = pt[0].strength;
+  memcpy(new_pt[i].mix_color, pt[0].mix_color, sizeof(float) * 4);
   if (select) {
     new_pt[i].flag |= GP_SPOINT_SELECT;
   }
@@ -1723,6 +1731,7 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
                                                      last_coord,
                                                      &pressure,
                                                      &strength,
+                                                     mix_color,
                                                      &ratio_result,
                                                      &index_from,
                                                      &index_to)) > -1) {
@@ -1730,6 +1739,7 @@ bool BKE_gpencil_sample_stroke(bGPDstroke *gps, const float dist, const bool sel
     copy_v3_v3(&pt2->x, last_coord);
     new_pt[i].pressure = pressure;
     new_pt[i].strength = strength;
+    memcpy(new_pt[i].mix_color, mix_color, sizeof(float) * 4);
     if (select) {
       new_pt[i].flag |= GP_SPOINT_SELECT;
     }
diff --git a/source/tools b/source/tools
index 2afbb8ec472..24a26488775 160000
--- a/source/tools
+++ b/source/tools
@@ -1 +1 @@
-Subproject commit 2afbb8ec472cac5102eb239f57b006f8c9387685
+Subproject commit 24a26488775dbe8cf2c1273d60a74c9d570d773c



More information about the Bf-blender-cvs mailing list