|
Blender V4.3
|
#include "BLI_math_base.h"#include "BLI_math_color.h"#include "BLI_math_color_blend.h"#include "BLI_math_vector.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 15 of file math_color_blend_inline.c.
| #define EPS_ALPHA 0.0005f |
Definition at line 19 of file math_color_blend_inline.c.
Referenced by blend_color_add_alpha_float(), and blend_color_erase_alpha_float().
| #define EPS_SATURATION 0.0005f |
Definition at line 18 of file math_color_blend_inline.c.
Referenced by blend_color_saturation_byte(), and blend_color_saturation_float().
Definition at line 187 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and min_ii().
Referenced by IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 726 of file math_color_blend_inline.c.
References copy_v4_v4(), EPS_ALPHA, and min_ff().
Referenced by IMB_blend_color_float(), and IMB_rectblend().
Definition at line 57 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 614 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 254 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 800 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 468 of file math_color_blend_inline.c.
References b, copy_v4_v4_uchar(), hsv_to_rgb(), rgb_to_hsv(), and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 1008 of file math_color_blend_inline.c.
References b, copy_v4_v4(), hsv_to_rgb(), rgb_to_hsv(), and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 147 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 682 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 432 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 973 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 290 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 837 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 170 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and max_ii().
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 702 of file math_color_blend_inline.c.
References copy_v4_v4(), EPS_ALPHA, and max_ff().
Referenced by IMB_blend_color_float(), and IMB_rectblend().
Definition at line 450 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 990 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 229 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), int, and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 775 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 494 of file math_color_blend_inline.c.
References b, copy_v4_v4_uchar(), hsv_to_rgb(), rgb_to_hsv(), and v2.
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 1035 of file math_color_blend_inline.c.
References b, copy_v4_v4(), hsv_to_rgb(), rgb_to_hsv(), 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 571 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and int.
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 1113 of file math_color_blend_inline.c.
Referenced by blender::ed::sculpt_paint::color::color_filter_task(), blender::ed::sculpt_paint::color::do_color_smooth_task(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::ed::sculpt_paint::color::do_paint_brush_task(), do_projectpaint_smear_f(), do_projectpaint_soften_f(), blender::ed::sculpt_paint::color::do_smear_brush_task(), IMB_rectblend(), and layerCopyValue_propcol().
Definition at line 124 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and max_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 662 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 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().
| MINLINE void blend_color_linearburn_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4] ) |
Definition at line 819 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 376 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 917 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 546 of file math_color_blend_inline.c.
References b, copy_v4_v4_uchar(), hsv_to_rgb(), rgb_to_hsv(), 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 1088 of file math_color_blend_inline.c.
References b, copy_v4_v4(), hsv_to_rgb(), rgb_to_hsv(), and v2.
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 33 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and divide_round_i().
Referenced by blf_glyph_draw_buffer(), do_projectpaint_thread(), IMB_blend_color_byte(), IMB_rectblend(), layerCopyValue_mloopcol(), paint_2d_bucket_fill(), and screen_opengl_render_doit().
Definition at line 596 of file math_color_blend_inline.c.
References copy_v4_v4().
Referenced by blf_glyph_draw_buffer(), blender::ed::sculpt_paint::color::color_filter_task(), blender::ed::sculpt_paint::color::do_paint_brush_task(), do_projectpaint_thread(), FRS_composite_result(), IMB_blend_color_float(), IMB_rectblend(), layerCopyValue_propcol(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::paint(), and paint_2d_bucket_fill().
Definition at line 101 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), and divide_round_i().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 644 of file math_color_blend_inline.c.
References copy_v4_v4().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), IMB_rectblend(), and layerCopyValue_propcol().
Definition at line 204 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), int, and min_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), and IMB_rectblend().
Definition at line 750 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 351 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 892 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 519 of file math_color_blend_inline.c.
References b, copy_v4_v4_uchar(), EPS_SATURATION, hsv_to_rgb(), rgb_to_hsv(), 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 1061 of file math_color_blend_inline.c.
References b, copy_v4_v4(), EPS_SATURATION, hsv_to_rgb(), rgb_to_hsv(), and v2.
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 max_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 max_ff().
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().
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().
Referenced by do_blend_effect_float(), IMB_blend_color_float(), and IMB_rectblend().
Definition at line 79 of file math_color_blend_inline.c.
References copy_v4_v4_uchar(), divide_round_i(), and max_ii().
Referenced by do_blend_effect_byte(), IMB_blend_color_byte(), IMB_rectblend(), and layerCopyValue_mloopcol().
Definition at line 629 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 401 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 942 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().