|
Blender V4.5
|
#include "BLI_math_color.h"#include "BLI_math_color.hh"#include "BLI_math_matrix.hh"#include "BLI_math_vector.hh"#include "BLI_simd.hh"#include "BLI_utildefines.h"#include <algorithm>#include <cstring>#include "BLI_strict_flags.h"Go to the source code of this file.
Classes | |
| struct | blender::math::locus_entry_t |
Namespaces | |
| namespace | blender |
| namespace | blender::math |
Functions | |
| void | hsv_to_rgb (float h, float s, float v, float *r_r, float *r_g, float *r_b) |
| void | hsl_to_rgb (float h, float s, float l, float *r_r, float *r_g, float *r_b) |
| void | hsv_to_rgb_v (const float hsv[3], float r_rgb[3]) |
| void | hsl_to_rgb_v (const float hsl[3], float r_rgb[3]) |
| void | rgb_to_yuv (float r, float g, float b, float *r_y, float *r_u, float *r_v, int colorspace) |
| void | yuv_to_rgb (float y, float u, float v, float *r_r, float *r_g, float *r_b, int colorspace) |
| void | rgb_to_ycc (float r, float g, float b, float *r_y, float *r_cb, float *r_cr, int colorspace) |
| void | ycc_to_rgb (float y, float cb, float cr, float *r_r, float *r_g, float *r_b, int colorspace) |
| void | hex_to_rgb (const char *hexcol, float *r_r, float *r_g, float *r_b) |
| void | hex_to_rgba (const char *hexcol, float *r_r, float *r_g, float *r_b, float *r_a) |
| void | rgb_to_hsv (float r, float g, float b, float *r_h, float *r_s, float *r_v) |
| void | rgb_to_hsv_v (const float rgb[3], float r_hsv[3]) |
| void | rgb_to_hsl (float r, float g, float b, float *r_h, float *r_s, float *r_l) |
| void | rgb_to_hsl_compat (float r, float g, float b, float *r_h, float *r_s, float *r_l) |
| void | rgb_to_hsl_compat_v (const float rgb[3], float r_hsl[3]) |
| void | rgb_to_hsl_v (const float rgb[3], float r_hsl[3]) |
| void | rgb_to_hsv_compat (float r, float g, float b, float *r_h, float *r_s, float *r_v) |
| void | rgb_to_hsv_compat_v (const float rgb[3], float r_hsv[3]) |
| void | hsv_clamp_v (float hsv[3], float v_max) |
| uint | hsv_to_cpack (float h, float s, float v) |
| uint | rgb_to_cpack (float r, float g, float b) |
| void | cpack_to_rgb (uint col, float *r_r, float *r_g, float *r_b) |
| void | rgb_uchar_to_float (float r_col[3], const uchar col_ub[3]) |
| void | rgba_uchar_to_float (float r_col[4], const uchar col_ub[4]) |
| void | rgb_float_to_uchar (uchar r_col[3], const float col_f[3]) |
| void | rgba_float_to_uchar (uchar r_col[4], const float col_f[4]) |
| float | srgb_to_linearrgb (float c) |
| float | linearrgb_to_srgb (float c) |
| MALWAYS_INLINE float | int_as_float (int32_t v) |
| MALWAYS_INLINE int32_t | float_as_int (float v) |
| MALWAYS_INLINE float | _bli_math_fastpow (const int exp, const int e2coeff, const float arg) |
| MALWAYS_INLINE float | _bli_math_improve_5throot_solution (const float old_result, const float x) |
| MALWAYS_INLINE float | _bli_math_fastpow24 (const float arg) |
| MALWAYS_INLINE float | _bli_math_rsqrt (float in) |
| MALWAYS_INLINE float | _bli_math_fastpow512 (const float arg) |
| MALWAYS_INLINE float | srgb_to_linearrgb_approx (float c) |
| MALWAYS_INLINE float | linearrgb_to_srgb_approx (float c) |
| void | srgb_to_linearrgb_v3_v3 (float linear[3], const float srgb[3]) |
| void | linearrgb_to_srgb_v3_v3 (float srgb[3], const float linear[3]) |
| void | rgb_float_set_hue_float_offset (float rgb[3], float hue_offset) |
| void | rgb_byte_set_hue_float_offset (uchar rgb[3], float hue_offset) |
| static ushort | hipart (const float f) |
| static float | index_to_float (const ushort i) |
| void | BLI_init_srgb_conversion () |
| bool | blender::math::whitepoint_to_temp_tint (const float3float3 &white, float &temperature, float &tint) |
| float3float3 | blender::math::whitepoint_from_temp_tint (float temperature, float tint) |
| float3x3 | blender::math::chromatic_adaption_matrix (const float3float3 &from_XYZ, const float3float3 &to_XYZ) |
Variables | |
| float | BLI_color_from_srgb_table [256] |
| ushort | BLI_color_to_srgb_table [0x10000] |
| static const std::array< locus_entry_t, 31 > | blender::math::planck_locus |
| MALWAYS_INLINE float _bli_math_fastpow | ( | const int | exp, |
| const int | e2coeff, | ||
| const float | arg ) |
Definition at line 598 of file math_color.cc.
References exp, float_as_int(), int_as_float(), MALWAYS_INLINE, and ret.
Referenced by _bli_math_fastpow24(), and _bli_math_fastpow512().
| MALWAYS_INLINE float _bli_math_fastpow24 | ( | const float | arg | ) |
Definition at line 616 of file math_color.cc.
References _bli_math_fastpow(), _bli_math_improve_5throot_solution(), MALWAYS_INLINE, and x.
Referenced by srgb_to_linearrgb_approx().
| MALWAYS_INLINE float _bli_math_fastpow512 | ( | const float | arg | ) |
Definition at line 632 of file math_color.cc.
References _bli_math_fastpow(), _bli_math_rsqrt(), and MALWAYS_INLINE.
Referenced by linearrgb_to_srgb_approx().
| MALWAYS_INLINE float _bli_math_improve_5throot_solution | ( | const float | old_result, |
| const float | x ) |
Definition at line 607 of file math_color.cc.
References MALWAYS_INLINE, and x.
Referenced by _bli_math_fastpow24().
| MALWAYS_INLINE float _bli_math_rsqrt | ( | float | in | ) |
Definition at line 627 of file math_color.cc.
References in, MALWAYS_INLINE, and sqrtf.
Referenced by _bli_math_fastpow512().
| void BLI_init_srgb_conversion | ( | void | ) |
Definition at line 762 of file math_color.cc.
References b, BLI_color_from_srgb_table, BLI_color_to_srgb_table, hipart(), i, index_to_float(), initialized, linearrgb_to_srgb(), and srgb_to_linearrgb().
Referenced by colormanagement_init(), blender::gpu::GPUTest::SetUpTestSuite(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), blender::tests::TEST(), and blender::tests::TEST().
| void cpack_to_rgb | ( | uint | col, |
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b ) |
Definition at line 389 of file math_color.cc.
References col.
Referenced by BKE_palette_from_hash().
| MALWAYS_INLINE int32_t float_as_int | ( | float | v | ) |
Definition at line 591 of file math_color.cc.
References i, MALWAYS_INLINE, MINLINE, and v.
Referenced by _bli_math_fastpow(), and isect_ray_tri_watertight_v3().
| void hex_to_rgb | ( | const char * | hexcol, |
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b ) |
Definition at line 185 of file math_color.cc.
References hex_to_rgba().
Referenced by BKE_gpencil_palette_ensure().
| void hex_to_rgba | ( | const char * | hexcol, |
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b, | ||
| float * | r_a ) |
Definition at line 190 of file math_color.cc.
References CLAMP.
Referenced by hex_to_rgb(), and ui_colorpicker_hex_rna_cb().
|
static |
Definition at line 715 of file math_color.cc.
Referenced by BLI_init_srgb_conversion().
| void hsl_to_rgb | ( | float | h, |
| float | s, | ||
| float | l, | ||
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b ) |
Definition at line 38 of file math_color.cc.
References CLAMP, fabsf, and l.
Referenced by BKE_icon_geom_invert_lightness(), blender::nodes::node_fn_combine_color_cc::get_multi_function(), hsl_to_rgb_v(), blender::nodes::node_composite_combine_color_cc::node_build_multi_function(), and svm_combine_color().
| void hsl_to_rgb_v | ( | const float | hsl[3], |
| float | r_rgb[3] ) |
Definition at line 62 of file math_color.cc.
References hsl_to_rgb().
Referenced by BKE_colorband_evaluate(), color_mul_hsl_v3(), colorfn(), TEST(), ui_color_picker_hsv_to_rgb(), and ui_color_picker_to_rgb_HSVCUBE_v().
| void hsv_clamp_v | ( | float | hsv[3], |
| float | v_max ) |
Clamp hsv to usable values.
Definition at line 349 of file math_color.cc.
| uint hsv_to_cpack | ( | float | h, |
| float | s, | ||
| float | v ) |
We define a 'cpack' here as a (3 byte color code) number that can be expressed like 0xFFAA66 or so. For that reason it is sensitive for endianness... with this function it works correctly.
Definition at line 358 of file math_color.cc.
References b, col, hsv_to_rgb(), and v.
| void hsv_to_rgb | ( | float | h, |
| float | s, | ||
| float | v, | ||
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b ) |
Definition at line 21 of file math_color.cc.
References CLAMP, fabsf, and v.
Referenced by blender::seq::HueCorrectApplyOp::apply(), BKE_paint_face_set_overlay_color_get(), blend_color_color_byte(), blend_color_color_float(), blend_color_hue_byte(), blend_color_hue_float(), blend_color_luminosity_byte(), blend_color_luminosity_float(), blend_color_saturation_byte(), blend_color_saturation_float(), CombineHSVNode::constant_fold(), do_hue_sat_fac(), blender::nodes::node_fn_combine_color_cc::get_multi_function(), hsv_to_cpack(), hsv_to_rgb_v(), IMB_saturation(), blender::color::mix_color(), blender::color::mix_hue(), blender::color::mix_luminosity(), blender::color::mix_saturation(), blender::nodes::node_composite_combine_color_cc::node_build_multi_function(), blender::nodes::node_composite_combine_hsva_cc::node_build_multi_function(), node_mix_color(), node_mix_hue(), node_mix_sat(), node_mix_val(), ramp_blend(), rgb_float_set_hue_float_offset(), svm_combine_color(), svm_mix_color(), svm_mix_hue(), svm_mix_sat(), svm_mix_val(), svm_node_combine_hsv(), svm_node_hsv(), and ui_draw_gradient().
| void hsv_to_rgb_v | ( | const float | hsv[3], |
| float | r_rgb[3] ) |
Definition at line 57 of file math_color.cc.
References hsv_to_rgb().
Referenced by blender::apply_color_factor(), BKE_colorband_evaluate(), BKE_paint_randomize_color(), checker_board_color_fill(), Color_channel_hsv_set(), blender::ed::sculpt_paint::color::color_filter_task(), Color_hsv_set(), colorfn(), ED_scene_draw_fps(), blender::nodes::node_composite_glare_cc::GlareOperation::execute_highlights_cpu(), getcolor_fcurve_rainbow(), graph_refresh_fcurve_colors(), blender::ed::greasepencil::grease_pencil_vertex_paint_hsv_exec(), blender::nodes::node_composite_huecorrect_cc::hue_correct(), image_buf_fill_checker_slice(), blender::draw::gpencil::list_sort_do(), blender::workbench::Material::Material(), blender::nodes::node_composite_hue_sat_val_cc::node_build_multi_function(), TEST(), ui_color_picker_hsv_to_rgb(), ui_color_picker_to_rgb_HSVCUBE_v(), ui_do_but_COLOR(), ui_do_but_HSVCIRCLE(), vertex_color_hsv_exec(), and blender::nodes::node_composite_glare_cc::GlareOperation::write_glare_output_cpu().
|
static |
Definition at line 731 of file math_color.cc.
Referenced by BLI_init_srgb_conversion().
| MALWAYS_INLINE float int_as_float | ( | int32_t | v | ) |
Definition at line 584 of file math_color.cc.
References i, MALWAYS_INLINE, MINLINE, and v.
Referenced by _bli_math_fastpow(), blender::eevee::ShadowPunctual::end_sync(), and render_result_from_bake().
| float linearrgb_to_srgb | ( | float | c | ) |
Definition at line 432 of file math_color.cc.
References powf.
Referenced by BLI_init_srgb_conversion(), ibuftoimage(), studiolight_irradiance_preview(), studiolight_matcap_preview(), studiolight_radiance_preview(), TEST(), TEST(), and TEST().
| MALWAYS_INLINE float linearrgb_to_srgb_approx | ( | float | c | ) |
Definition at line 654 of file math_color.cc.
References _bli_math_fastpow512(), and MALWAYS_INLINE.
Referenced by linearrgb_to_srgb_v3_v3().
| void linearrgb_to_srgb_v3_v3 | ( | float | srgb[3], |
| const float | linear[3] ) |
Definition at line 670 of file math_color.cc.
References linearrgb_to_srgb_approx().
Referenced by BKE_palette_from_hash(), blender::nodes::node_composite_colorbalance_cc::color_balance_lgg(), do_projectpaint_draw(), do_projectpaint_thread(), drop_color_invoke(), blender::ed::sculpt_paint::color::from_float(), IMB_buffer_byte_from_float(), IMB_buffer_float_from_float(), IMB_colormanagement_scene_linear_to_srgb_v3(), linearrgb_to_srgb_predivide_v4(), linearrgb_to_srgb_uchar3(), linearrgb_to_srgb_v4(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), paint_2d_gradient_fill(), paint_sample_color(), TEST(), ui_but_paste_color(), ui_draw_but_CURVE(), blender::io::grease_pencil::write_fill_color_attribute(), blender::io::grease_pencil::write_stroke_color_attribute(), blender::io::grease_pencil::PDFExporter::write_stroke_to_polyline(), and blender::io::obj::OBJWriter::write_vertex_coords().
| void rgb_byte_set_hue_float_offset | ( | unsigned char | rgb[3], |
| float | hue_offset ) |
Applies an HUE offset to a byte RGB color.
Definition at line 698 of file math_color.cc.
References rgb_float_set_hue_float_offset(), rgb_float_to_uchar(), and rgb_uchar_to_float().
Referenced by blender::ed::vse::color3ubv_from_seq().
| void rgb_float_set_hue_float_offset | ( | float | rgb[3], |
| float | hue_offset ) |
Applies an HUE offset to a float RGB color.
Definition at line 681 of file math_color.cc.
References hsv_to_rgb(), and rgb_to_hsv().
Referenced by rgb_byte_set_hue_float_offset().
| void rgb_float_to_uchar | ( | uchar | r_col[3], |
| const float | col_f[3] ) |
Definition at line 411 of file math_color.cc.
References unit_float_to_uchar_clamp_v3.
Referenced by acf_gpl_channel_color(), apply_tangmat_callback(), BKE_icon_geom_invert_lightness(), brush_painter_imbuf_new(), color_mul_hsl_v3(), do_projectpaint_thread(), blender::ed::vse::draw_strips_background(), blender::ed::vse::draw_vectorscope_graticule(), blender::ed::vse::drawmeta_contents(), IMB_buffer_byte_from_float(), IMB_buffer_byte_from_float_mask(), IMB_saturation(), blender::ed::animation::greasepencil::layer_channel_color(), paint_2d_bucket_fill(), partial_buffer_update_rect(), rgb_byte_set_hue_float_offset(), and ui_tooltip_region_draw_cb().
| uint rgb_to_cpack | ( | float | r, |
| float | g, | ||
| float | b ) |
Definition at line 374 of file math_color.cc.
References b, floorf, and max_ff().
Referenced by palette_extract_img_exec(), studiolight_irradiance_preview(), studiolight_matcap_preview(), and studiolight_radiance_preview().
| void rgb_to_hsl | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_h, | ||
| float * | r_s, | ||
| float * | r_l ) |
Definition at line 263 of file math_color.cc.
References b, l, max_fff(), min_ff(), and min_fff().
Referenced by blender::nodes::node_fn_separate_color_cc::SeparateHSLAFunction::call(), blender::nodes::node_composite_separate_color_cc::node_build_multi_function(), rgb_to_hsl_compat(), rgb_to_hsl_v(), and svm_separate_color().
| void rgb_to_hsl_compat | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_h, | ||
| float * | r_s, | ||
| float * | r_l ) |
Definition at line 292 of file math_color.cc.
References b, and rgb_to_hsl().
Referenced by rgb_to_hsl_compat_v().
| void rgb_to_hsl_compat_v | ( | const float | rgb[3], |
| float | r_hsl[3] ) |
Definition at line 313 of file math_color.cc.
References rgb_to_hsl_compat().
Referenced by ui_color_picker_rgb_to_hsv_compat(), and ui_rgb_to_color_picker_HSVCUBE_compat_v().
| void rgb_to_hsl_v | ( | const float | rgb[3], |
| float | r_hsl[3] ) |
Definition at line 318 of file math_color.cc.
References rgb_to_hsl().
Referenced by apply_color_space(), BKE_colorband_evaluate(), BKE_icon_geom_invert_lightness(), color_mul_hsl_v3(), TEST(), ui_color_picker_rgb_to_hsv(), ui_draw_but_HSV_v(), and ui_rgb_to_color_picker_HSVCUBE_v().
| void rgb_to_hsv | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_h, | ||
| float * | r_s, | ||
| float * | r_v ) |
Definition at line 234 of file math_color.cc.
References b, fabsf, min_ff(), and SWAP.
Referenced by blender::seq::HueCorrectApplyOp::apply(), BKE_palette_from_hash(), blend_color_color_byte(), blend_color_color_float(), blend_color_hue_byte(), blend_color_hue_float(), blend_color_luminosity_byte(), blend_color_luminosity_float(), blend_color_saturation_byte(), blend_color_saturation_float(), blender::nodes::node_fn_separate_color_cc::SeparateHSVAFunction::call(), Color_channel_hsv_get(), Color_hsv_get(), SeparateHSVNode::constant_fold(), do_hue_sat_fac(), ED_image_draw_info(), blender::color::mix_color(), blender::color::mix_hue(), blender::color::mix_luminosity(), blender::color::mix_saturation(), blender::nodes::node_composite_separate_color_cc::node_build_multi_function(), blender::nodes::node_composite_separate_hsva_cc::node_build_multi_function(), node_mix_color(), node_mix_hue(), node_mix_sat(), node_mix_val(), palette_sort_exec(), ramp_blend(), rgb_float_set_hue_float_offset(), rgb_to_hsv_compat(), rgb_to_hsv_v(), svm_mix_color(), svm_mix_hue(), svm_mix_sat(), svm_mix_val(), svm_node_hsv(), svm_node_separate_hsv(), and svm_separate_color().
| void rgb_to_hsv_compat | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_h, | ||
| float * | r_s, | ||
| float * | r_v ) |
Definition at line 323 of file math_color.cc.
References b, e, and rgb_to_hsv().
Referenced by rgb_to_hsv_compat_v().
| void rgb_to_hsv_compat_v | ( | const float | rgb[3], |
| float | r_hsv[3] ) |
Definition at line 344 of file math_color.cc.
References rgb_to_hsv_compat().
Referenced by ui_color_picker_rgb_to_hsv_compat(), ui_do_but_COLOR(), ui_draw_but_HSVCUBE(), and ui_rgb_to_color_picker_HSVCUBE_compat_v().
| void rgb_to_hsv_v | ( | const float | rgb[3], |
| float | r_hsv[3] ) |
Definition at line 258 of file math_color.cc.
References rgb_to_hsv().
Referenced by blender::apply_color_factor(), apply_color_space(), BKE_colorband_evaluate(), BKE_paint_randomize_color(), blender::nodes::node_composite_channel_matte_cc::channel_key(), Color_channel_hsv_set(), blender::ed::sculpt_paint::color::color_filter_task(), blender::nodes::node_composite_color_matte_cc::color_matte(), ED_scene_draw_fps(), blender::nodes::node_composite_glare_cc::GlareOperation::execute_highlights_cpu(), graph_refresh_fcurve_colors(), blender::ed::greasepencil::grease_pencil_vertex_paint_hsv_exec(), blender::nodes::node_composite_huecorrect_cc::hue_correct(), IMB_saturation(), blender::nodes::node_composite_hue_sat_val_cc::node_build_multi_function(), TEST(), ui_color_picker_rgb_to_hsv(), ui_draw_but_CURVE(), ui_draw_but_HSV_v(), ui_rgb_to_color_picker_HSVCUBE_v(), ui_tooltip_data_from_button_or_extra_icon(), vertex_color_hsv_exec(), weightvg_do_mask(), and blender::nodes::node_composite_glare_cc::GlareOperation::write_glare_output_cpu().
| void rgb_to_ycc | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_y, | ||
| float * | r_cb, | ||
| float * | r_cr, | ||
| int | colorspace ) |
The RGB inputs are supposed gamma corrected and in the range 0 - 1.0f
Output YCC have a range of 16-235 and 16-240 except with JFIF_0_255 where the range is 0-255.
Definition at line 115 of file math_color.cc.
References b, BLI_assert_msg, BLI_YCC_ITU_BT601, BLI_YCC_ITU_BT709, BLI_YCC_JFIF_0_255, and y.
Referenced by blender::nodes::node_composite_channel_matte_cc::channel_key(), blender::nodes::node_composite_chroma_matte_cc::chroma_matte(), blender::nodes::node_composite_distance_matte_cc::distance_key_ycca(), blender::nodes::node_composite_separate_color_cc::node_build_multi_function(), blender::nodes::node_composite_separate_ycca_cc::node_build_multi_function(), scopes_update_cb(), and TEST().
| void rgb_to_yuv | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float * | r_y, | ||
| float * | r_u, | ||
| float * | r_v, | ||
| int | colorspace ) |
Definition at line 67 of file math_color.cc.
References b, BLI_assert, BLI_YUV_ITU_BT601, BLI_YUV_ITU_BT709, v, and y.
Referenced by blender::nodes::node_composite_channel_matte_cc::channel_key(), ED_image_draw_info(), blender::nodes::node_composite_separate_color_cc::node_build_multi_function(), blender::nodes::node_composite_separate_yuva_cc::node_build_multi_function(), blender::ed::vse::rgb_to_uv_scaled(), save_sample_line(), TEST(), and vectorscope_draw_target().
| void rgb_uchar_to_float | ( | float | r_col[3], |
| const uchar | col_ub[3] ) |
Definition at line 396 of file math_color.cc.
Referenced by blender::seq::apply_and_advance_mask(), BKE_icon_geom_invert_lightness(), color_mul_hsl_v3(), display_buffer_apply_get_linear_buffer(), ED_space_clip_color_sample(), ED_space_image_color_sample(), ED_space_node_color_sample(), gl_shaded_color_get_fl(), IMB_colormanagement_get_luminance_byte(), IMB_saturation(), paint_sample_color(), pointdensity_cache_vertex_color(), rgb_byte_set_hue_float_offset(), blender::seq::tonemap_rd_photoreceptor(), blender::seq::tonemap_simple(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), and ui_tooltip_region_draw_cb().
| void rgba_float_to_uchar | ( | uchar | r_col[4], |
| const float | col_f[4] ) |
Definition at line 416 of file math_color.cc.
References unit_float_to_uchar_clamp_v4.
Referenced by BKE_image_buf_fill_color(), BKE_paint_face_set_overlay_color_get(), BLF_color4fv(), blf_draw_buffer__start(), blf_draw_svg_icon(), BLF_shadow(), blender::BLI_color_convert_to_theme4b(), brush_painter_imbuf_update(), dynamic_paint_apply_surface_vpaint_cb(), file_draw_special_image(), blender::ed::sculpt_paint::color::from_float(), IMB_buffer_byte_from_byte(), IMB_buffer_byte_from_float(), IMB_buffer_byte_from_float_mask(), IMB_colormanagement_processor_apply_byte(), blender::io::fbx::import_colors(), mloopcol_from_float(), paint_2d_gradient_fill(), partial_buffer_update_rect(), blender::seq::store_pixel_raw(), ui_block_colorpicker(), UI_but_node_link_set(), ui_draw_widget_back_color(), ui_tooltip_color_string(), ui_update_color_picker_buts_rgba(), uiTemplateNodeSocket(), widget_swatch(), blender::bke::image::ImageBufferAccessor< T, Channels >::write_pixel(), and blender::ed::sculpt_paint::paint::image::ImageBufferByte4::write_pixel().
| void rgba_uchar_to_float | ( | float | r_col[4], |
| const uchar | col_ub[4] ) |
Definition at line 403 of file math_color.cc.
Referenced by accessor_get_ibuf(), blender::BLI_color_convert_to_theme4f(), display_buffer_apply_get_linear_buffer(), draw_columnheader_columns(), draw_disk_shaded(), dynamic_paint_set_init_color_vcol_to_imseq_cb(), eyedropper_draw_cursor_text_region(), icon_draw_size(), image_sample_apply(), image_sample_pixel_color_ubyte(), IMB_buffer_byte_from_byte(), IMB_buffer_float_from_byte(), IMB_colormanagement_imbuf_to_float_texture(), IMB_colormanagement_processor_apply_byte(), IMB_sampleImageAtLocation(), knifetool_draw(), blender::seq::load_pixel_raw(), mask_draw_curve_type(), mloopcol_to_float(), paint_2d_bucket_fill(), paint_2d_fill_add_pixel_byte(), partial_buffer_update_rect(), blender::bke::image::ImageBufferAccessor< T, Channels >::read_pixel(), blender::ed::sculpt_paint::paint::image::ImageBufferByte4::read_pixel(), screen_draw_area_drag_tip(), textview_draw_string(), blender::ed::sculpt_paint::color::to_float(), ui_draw_but_IMAGE(), ui_tooltip_from_vfont(), blender::draw::overlay::Resources::update_theme_settings(), use_bone_color(), widget_draw_node_link_socket(), widget_draw_submenu_tria(), wm_drop_operator_draw(), and wm_drop_redalert_draw().
| float srgb_to_linearrgb | ( | float | c | ) |
Definition at line 423 of file math_color.cc.
References powf.
Referenced by BLI_init_srgb_conversion(), image_buf_fill_checker_slice(), imb_save_openexr_half(), and TEST().
| MALWAYS_INLINE float srgb_to_linearrgb_approx | ( | float | c | ) |
Definition at line 645 of file math_color.cc.
References _bli_math_fastpow24(), and MALWAYS_INLINE.
Referenced by srgb_to_linearrgb_v3_v3().
| void srgb_to_linearrgb_v3_v3 | ( | float | linear[3], |
| const float | srgb[3] ) |
Definition at line 663 of file math_color.cc.
References srgb_to_linearrgb_approx().
Referenced by blo_do_versions_250(), blo_do_versions_280(), blender::ed::greasepencil::boundary_to_curves(), blender::nodes::node_composite_colorbalance_cc::color_balance_lgg(), blender::io::obj::geom_add_vertex(), blender::ed::greasepencil::grease_pencil_primitive_invoke(), blender::ed::greasepencil::grease_pencil_vertex_paint_set_exec(), image_buf_fill_checker_slice(), IMB_buffer_byte_from_float(), IMB_buffer_float_from_float(), IMB_colormanagement_imbuf_to_float_texture(), IMB_colormanagement_srgb_to_scene_linear_v3(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color(), blender::ed::sculpt_paint::greasepencil::TintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::VertexPaintOperation::on_stroke_extended(), blender::ed::sculpt_paint::greasepencil::VertexReplaceOperation::on_stroke_extended(), paint_2d_bucket_fill(), paint_proj_stroke_ps(), blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::PaintOperationExecutor(), srgb_to_linearrgb_predivide_v4(), srgb_to_linearrgb_v4(), TEST(), blender::ed::sculpt_paint::color::to_float(), and ui_but_copy_color().
| void ycc_to_rgb | ( | float | y, |
| float | cb, | ||
| float | cr, | ||
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b, | ||
| int | colorspace ) |
Definition at line 150 of file math_color.cc.
References b, BLI_assert_unreachable, BLI_YCC_ITU_BT601, BLI_YCC_ITU_BT709, BLI_YCC_JFIF_0_255, and y.
Referenced by imb_load_openexr(), blender::nodes::node_composite_combine_color_cc::node_build_multi_function(), blender::nodes::node_composite_combine_ycca_cc::node_build_multi_function(), and TEST().
| void yuv_to_rgb | ( | float | y, |
| float | u, | ||
| float | v, | ||
| float * | r_r, | ||
| float * | r_g, | ||
| float * | r_b, | ||
| int | colorspace ) |
Definition at line 91 of file math_color.cc.
References b, BLI_assert, BLI_YUV_ITU_BT601, BLI_YUV_ITU_BT709, v, and y.
Referenced by blender::ed::vse::draw_vectorscope_graticule(), blender::nodes::node_composite_combine_color_cc::node_build_multi_function(), blender::nodes::node_composite_combine_yuva_cc::node_build_multi_function(), TEST(), and ui_draw_but_VECTORSCOPE().
| float BLI_color_from_srgb_table[256] |
Definition at line 712 of file math_color.cc.
Referenced by BLI_init_srgb_conversion(), blender::draw::AttributeConverter< ColorGeometry4b >::convert(), blender::draw::particle_pack_mcol(), and srgb_to_linearrgb_uchar4().
| ushort BLI_color_to_srgb_table[0x10000] |
Definition at line 713 of file math_color.cc.
Referenced by BLI_init_srgb_conversion(), and to_srgb_table_lookup().