[Bf-blender-cvs] [0a7a1c6] mesh-transfer-data: Revert 'nonalpha' work in BLI colorblend, not needed in fact.

Bastien Montagne noreply at git.blender.org
Thu Oct 30 19:19:18 CET 2014


Commit: 0a7a1c6e15c31575fcdac0550aca33265bbe3a4b
Author: Bastien Montagne
Date:   Thu Oct 30 19:17:21 2014 +0100
Branches: mesh-transfer-data
https://developer.blender.org/rB0a7a1c6e15c31575fcdac0550aca33265bbe3a4b

Revert 'nonalpha' work in BLI colorblend, not needed in fact.

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

M	source/blender/blenkernel/intern/customdata.c
M	source/blender/blenlib/BLI_math_color_blend.h
M	source/blender/blenlib/intern/math_color_blend_inline.c

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

diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index 3d15334..9731913 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -669,20 +669,20 @@ static void layerCopyValue_mloopcol(const void *source, void *dest, const int mi
 
 	switch (mixmode) {
 		case CDT_MIX_MIX:
-			blend_color_interpolate_byte_noalpha((unsigned char *)&m2->r, (unsigned char *)&m2->r,
+			blend_color_interpolate_byte((unsigned char *)&m2->r, (unsigned char *)&m2->r,
 			                                     (unsigned char *)&m1->r, mixfactor);
 			break;
 		case CDT_MIX_ADD:
-			blend_color_add_byte_noalpha(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
-			blend_color_interpolate_byte_noalpha((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
+			blend_color_add_byte(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
+			blend_color_interpolate_byte((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
 			break;
 		case CDT_MIX_SUB:
-			blend_color_sub_byte_noalpha(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
-			blend_color_interpolate_byte_noalpha((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
+			blend_color_sub_byte(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
+			blend_color_interpolate_byte((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
 			break;
 		case CDT_MIX_MUL:
-			blend_color_mul_byte_noalpha(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
-			blend_color_interpolate_byte_noalpha((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
+			blend_color_mul_byte(tmp_col, (unsigned char *)&m2->r, (unsigned char *)&m1->r);
+			blend_color_interpolate_byte((unsigned char *)&m2->r, (unsigned char *)&m2->r, tmp_col, mixfactor);
 			break;
 		/* etc. etc. */
 		case CDT_MIX_REPLACE_ABOVE_THRESHOLD:
diff --git a/source/blender/blenlib/BLI_math_color_blend.h b/source/blender/blenlib/BLI_math_color_blend.h
index 6913063..d966676 100644
--- a/source/blender/blenlib/BLI_math_color_blend.h
+++ b/source/blender/blenlib/BLI_math_color_blend.h
@@ -69,35 +69,6 @@ MINLINE void blend_color_luminosity_byte(unsigned char dst[4], unsigned const ch
 
 MINLINE void blend_color_interpolate_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], float t);
 
-/* Same as above, but does not consider alpha. */
-MINLINE void blend_color_mix_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_add_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_sub_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_mul_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_lighten_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_darken_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_erase_alpha_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-MINLINE void blend_color_add_alpha_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4]);
-
-MINLINE void blend_color_overlay_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_hardlight_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_burn_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_linearburn_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_dodge_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_screen_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_softlight_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_pinlight_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_linearlight_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_vividlight_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_difference_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_exclusion_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_color_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_hue_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_saturation_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-MINLINE void blend_color_luminosity_byte_noalpha(unsigned char dst[4], unsigned const char src1[4], unsigned const char src2[4]);
-
-MINLINE void blend_color_interpolate_byte_noalpha(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], float t);
-
 MINLINE void blend_color_mix_float(float dst[4], const float src1[4], const float src2[4]);
 MINLINE void blend_color_add_float(float dst[4], const float src1[4], const float src2[4]);
 MINLINE void blend_color_sub_float(float dst[4], const float src1[4], const float src2[4]);
diff --git a/source/blender/blenlib/intern/math_color_blend_inline.c b/source/blender/blenlib/intern/math_color_blend_inline.c
index 59ef9ef..73a7259 100644
--- a/source/blender/blenlib/intern/math_color_blend_inline.c
+++ b/source/blender/blenlib/intern/math_color_blend_inline.c
@@ -52,15 +52,9 @@
 
 /* straight alpha byte blending modes */
 
-MINLINE void blend_color_mix_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_mix_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (src1[0] + src2[0]) / 2;
-		dst[1] = (src1[1] + src2[1]) / 2;
-		dst[2] = (src1[2] + src2[2]) / 2;
-	}
-	else if (src2[3] != 0) {
+	if (src2[3] != 0) {
 		/* straight over operation */
 		const int t = src2[3];
 		const int mt = 255 - t;
@@ -82,15 +76,9 @@ MINLINE void blend_color_mix_byte_do(
 	}
 }
 
-MINLINE void blend_color_add_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_add_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (unsigned char)min_ii(src1[0] + src2[0], 255);
-		dst[1] = (unsigned char)min_ii(src1[1] + src2[1], 255);
-		dst[2] = (unsigned char)min_ii(src1[2] + src2[2], 255);
-	}
-	else if (src2[3] != 0) {
+	if (src2[3] != 0) {
 		/* straight add operation */
 		const int t = src2[3];
 		int tmp[3];
@@ -110,15 +98,9 @@ MINLINE void blend_color_add_byte_do(
 	}
 }
 
-MINLINE void blend_color_sub_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_sub_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (unsigned char)max_ii(src1[0] - src2[0], 0);
-		dst[1] = (unsigned char)max_ii(src1[1] - src2[1], 0);
-		dst[2] = (unsigned char)max_ii(src1[2] - src2[2], 0);
-	}
-	else if (src2[3] != 0) {
+	if (src2[3] != 0) {
 		/* straight sub operation */
 		const int t = src2[3];
 		int tmp[3];
@@ -138,15 +120,9 @@ MINLINE void blend_color_sub_byte_do(
 	}
 }
 
-MINLINE void blend_color_mul_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_mul_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (unsigned char)divide_round_i(src1[0] * src2[0], SQUARE(255));
-		dst[1] = (unsigned char)divide_round_i(src1[1] * src2[1], SQUARE(255));
-		dst[2] = (unsigned char)divide_round_i(src1[2] * src2[2], SQUARE(255));
-	}
-	else if (src2[3] != 0) {
+	if (src2[3] != 0) {
 		/* straight multiply operation */
 		const int t = src2[3];
 		const int mt = 255 - t;
@@ -167,15 +143,9 @@ MINLINE void blend_color_mul_byte_do(
 	}
 }
 
-MINLINE void blend_color_lighten_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_lighten_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (unsigned char)min_ii(src1[0] + max_ii(src1[0], src2[0]) / 2, 255);
-		dst[1] = (unsigned char)min_ii(src1[1] + max_ii(src1[1], src2[1]) / 2, 255);
-		dst[2] = (unsigned char)min_ii(src1[2] + max_ii(src1[2], src2[2]) / 2, 255);
-	}
-	else if (src2[3] != 0) {
+	if (src2[3] != 0) {
 		/* straight lighten operation */
 		const int t = src2[3];
 		const int mt = 255 - t;
@@ -196,15 +166,9 @@ MINLINE void blend_color_lighten_byte_do(
 	}
 }
 
-MINLINE void blend_color_darken_byte_do(
-        unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], const bool use_alpha)
+MINLINE void blend_color_darken_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4])
 {
-	if (!use_alpha) {
-		dst[0] = (unsigned char)min_ii(src1[0] + min_ii(src1[0], src2[0]) / 2, 255);
-		dst[1] = (unsigned char)min_ii(src1[1] + min_ii(src1[1], src2[1]) / 2, 255);
-		dst[2] = (unsigned char)min_i

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list