[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