|
Blender
V2.93
|
#include "BLI_math_base.h"#include "BLI_math_color.h"#include "BLI_math_color_blend.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"Go to the source code of this file.
Macros | |
| #define | __MATH_COLOR_BLEND_INLINE_C__ |
| #define | EPS_SATURATION 0.0005f |
| #define | EPS_ALPHA 0.0005f |
Functions | |
| MINLINE void | blend_color_mix_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_add_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_sub_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_mul_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_lighten_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_darken_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_erase_alpha_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_add_alpha_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_overlay_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_hardlight_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_burn_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_linearburn_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_dodge_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_screen_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_softlight_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_pinlight_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_linearlight_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_vividlight_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_difference_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_exclusion_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_color_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_hue_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_saturation_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_luminosity_byte (uchar dst[4], const uchar src1[4], const uchar src2[4]) |
| MINLINE void | blend_color_interpolate_byte (uchar dst[4], const uchar src1[4], const uchar src2[4], float ft) |
| 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]) |
| MINLINE void | blend_color_mul_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_lighten_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_darken_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_erase_alpha_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_add_alpha_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_overlay_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_hardlight_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_burn_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_linearburn_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_dodge_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_screen_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_softlight_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_pinlight_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_linearlight_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_vividlight_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_difference_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_exclusion_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_color_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_hue_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_saturation_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_luminosity_float (float dst[4], const float src1[4], const float src2[4]) |
| MINLINE void | blend_color_interpolate_float (float dst[4], const float src1[4], const float src2[4], float t) |
| #define __MATH_COLOR_BLEND_INLINE_C__ |
Definition at line 33 of file math_color_blend_inline.c.
| #define EPS_ALPHA 0.0005f |
Definition at line 37 of file math_color_blend_inline.c.
| #define EPS_SATURATION 0.0005f |
Definition at line 36 of file math_color_blend_inline.c.
Definition at line 205 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), min_ii(), and t.
Referenced by IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 744 of file math_color_blend_inline.c.
References alpha, copy_v4_v4(), EPS_ALPHA, and min_ff().
Referenced by IMB_blend_color_float(), and IMB_rectblend().
Definition at line 75 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), min_ii(), and t.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 632 of file math_color_blend_inline.c.
References copy_v4_v4().
Referenced by do_blend_effect_float(), do_projectpaint_soften(), do_projectpaint_soften_f(), IMB_blend_color_float(), IMB_rectblend(), layerCopyValue_propcol(), and paint_2d_lift_soften().
Definition at line 272 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and max_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 818 of file math_color_blend_inline.c.
References copy_v4_v4(), and max_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 486 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 1032 of file math_color_blend_inline.c.
References copy_v4_v4(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 165 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), min_ii(), and t.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 700 of file math_color_blend_inline.c.
References copy_v4_v4(), min_ff(), and t.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 450 of file math_color_blend_inline.c.
References abs(), and copy_v4_v4_uchar().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_difference_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 997 of file math_color_blend_inline.c.
References copy_v4_v4(), and fabsf.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 308 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 855 of file math_color_blend_inline.c.
References copy_v4_v4(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
| MINLINE void blend_color_erase_alpha_byte | ( | uchar | dst[4], |
| const uchar | src1[4], | ||
| const uchar | src2[4] | ||
| ) |
Definition at line 188 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), max_ii(), and t.
Referenced by IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_erase_alpha_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 720 of file math_color_blend_inline.c.
References alpha, copy_v4_v4(), EPS_ALPHA, and max_ff().
Referenced by IMB_blend_color_float(), and IMB_rectblend().
Definition at line 468 of file math_color_blend_inline.c.
References copy_v4_v4_uchar().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 1014 of file math_color_blend_inline.c.
References copy_v4_v4().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 247 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 793 of file math_color_blend_inline.c.
References copy_v4_v4(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 512 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 1059 of file math_color_blend_inline.c.
References copy_v4_v4(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
| MINLINE void blend_color_interpolate_byte | ( | uchar | dst[4], |
| const uchar | src1[4], | ||
| const uchar | src2[4], | ||
| float | ft | ||
| ) |
Definition at line 589 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and t.
Referenced by do_projectpaint_smear(), do_projectpaint_soften(), IMB_rectblend(), and layerCopyValue_mloopcol().
| MINLINE void blend_color_interpolate_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4], | ||
| float | t | ||
| ) |
Definition at line 1137 of file math_color_blend_inline.c.
References t.
Referenced by color_filter_task_cb(), create_mono_icon_with_border(), do_color_smooth_task_cb_exec(), do_paint_brush_task_cb_ex(), do_projectpaint_smear_f(), do_projectpaint_soften_f(), do_smear_brush_task_cb_exec(), IMB_rectblend(), layerCopyValue_propcol(), and SCULPT_do_paint_brush().
Definition at line 142 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), max_ii(), and t.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 680 of file math_color_blend_inline.c.
References copy_v4_v4(), max_ff(), and t.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 290 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and max_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_linearburn_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 837 of file math_color_blend_inline.c.
References copy_v4_v4(), and max_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
| MINLINE void blend_color_linearlight_byte | ( | uchar | dst[4], |
| const uchar | src1[4], | ||
| const uchar | src2[4] | ||
| ) |
Definition at line 394 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), max_ii(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_linearlight_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 941 of file math_color_blend_inline.c.
References copy_v4_v4(), max_ff(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 564 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_luminosity_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 1112 of file math_color_blend_inline.c.
References copy_v4_v4(), hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 51 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and t.
Referenced by blf_font_draw_buffer_ex(), do_projectpaint_thread(), IMB_blend_color_byte(), IMB_rectblend(), layerCopyValue_mloopcol(), paint_2d_bucket_fill(), and screen_opengl_render_doit().
Definition at line 614 of file math_color_blend_inline.c.
References copy_v4_v4(), and t.
Referenced by blf_font_draw_buffer_ex(), color_filter_task_cb(), do_paint_brush_task_cb_ex(), do_projectpaint_thread(), do_smear_brush_task_cb_exec(), FRS_composite_result(), IMB_blend_color_float(), IMB_rectblend(), layerCopyValue_propcol(), and paint_2d_bucket_fill().
Definition at line 119 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and t.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 662 of file math_color_blend_inline.c.
References copy_v4_v4(), and t.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), IMB_rectblend(), and layerCopyValue_propcol().
Definition at line 222 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 768 of file math_color_blend_inline.c.
References copy_v4_v4(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 369 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), max_ii(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 916 of file math_color_blend_inline.c.
References copy_v4_v4(), max_ff(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 537 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), EPS_SATURATION, hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_saturation_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 1085 of file math_color_blend_inline.c.
References copy_v4_v4(), EPS_SATURATION, hsv_to_rgb(), r, rgb_to_hsv(), v1, and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 326 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and max_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 873 of file math_color_blend_inline.c.
References copy_v4_v4(), and max_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 344 of file math_color_blend_inline.c.
References copy_v4_v4_uchar().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 891 of file math_color_blend_inline.c.
References copy_v4_v4().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 97 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), max_ii(), and t.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 647 of file math_color_blend_inline.c.
References copy_v4_v4(), and max_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), IMB_rectblend(), and layerCopyValue_propcol().
Definition at line 419 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), max_ii(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
| MINLINE void blend_color_vividlight_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] | ||
| ) |
Definition at line 966 of file math_color_blend_inline.c.
References copy_v4_v4(), max_ff(), and min_ff().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().