|
Blender V5.0
|
#include <algorithm>#include <cfloat>#include <cmath>#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "DNA_color_types.h"#include "DNA_curve_types.h"#include "BLI_math_base.hh"#include "BLI_math_vector.hh"#include "BLI_rect.h"#include "BLI_string_utf8.h"#include "BLI_task.h"#include "BLI_utildefines.h"#include "BKE_colortools.hh"#include "BKE_curve.hh"#include "BKE_fcurve.hh"#include "IMB_colormanagement.hh"#include "IMB_imbuf_types.hh"#include "BLO_read_write.hh"Go to the source code of this file.
Classes | |
| struct | ScopesUpdateData |
| struct | ScopesUpdateDataChunk |
Macros | |
| #define | p2_h1 ((p2) - 3) |
| #define | p2_h2 ((p2) + 3) |
| #define | INV_255 (1.0f / 255.0f) |
| #define INV_255 (1.0f / 255.0f) |
Definition at line 1439 of file colortools.cc.
Referenced by scopes_update_cb().
| #define p2_h1 ((p2) - 3) |
Referenced by calchandle_curvemap(), and calchandleNurb_intern().
| #define p2_h2 ((p2) + 3) |
Referenced by calchandle_curvemap(), and calchandleNurb_intern().
| void BKE_color_managed_colorspace_settings_copy | ( | ColorManagedColorspaceSettings * | colorspace_settings, |
| const ColorManagedColorspaceSettings * | settings ) |
Definition at line 2010 of file colortools.cc.
References ColorManagedColorspaceSettings::name, and STRNCPY_UTF8.
Referenced by BKE_image_format_color_management_copy(), BKE_image_format_copy(), BKE_image_format_init_for_write(), BKE_image_render_write(), BKE_image_save_options_update(), BKE_scene_duplicate(), image_copy_data(), image_save_post(), movie_clip_copy_data(), and scene_copy_data().
| bool BKE_color_managed_colorspace_settings_equals | ( | const ColorManagedColorspaceSettings * | settings1, |
| const ColorManagedColorspaceSettings * | settings2 ) |
Definition at line 2017 of file colortools.cc.
References ColorManagedColorspaceSettings::name, and STREQ.
Referenced by image_save_post().
| void BKE_color_managed_colorspace_settings_init | ( | ColorManagedColorspaceSettings * | colorspace_settings | ) |
Definition at line 2004 of file colortools.cc.
References ColorManagedColorspaceSettings::name, and STRNCPY_UTF8.
Referenced by BKE_image_format_init(), image_init(), and movie_clip_init_data().
| void BKE_color_managed_display_settings_copy | ( | ColorManagedDisplaySettings * | new_settings, |
| const ColorManagedDisplaySettings * | settings ) |
Definition at line 1920 of file colortools.cc.
References ColorManagedDisplaySettings::display_device, ColorManagedDisplaySettings::emulation, and STRNCPY_UTF8.
Referenced by BKE_image_format_color_management_copy(), BKE_image_format_color_management_copy_from_scene(), BKE_image_format_copy(), BKE_image_format_init_for_write(), BKE_scene_duplicate(), GPU_viewport_colorspace_set(), blender::nodes::node_composite_convert_to_display_cc::node_copy(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), scene_copy_data(), and screen_render_invoke().
| void BKE_color_managed_display_settings_init | ( | ColorManagedDisplaySettings * | settings | ) |
Definition at line 1912 of file colortools.cc.
References COLORMANAGE_DISPLAY_EMULATION_AUTO, ColorManagedDisplaySettings::display_device, ColorManagedDisplaySettings::emulation, IMB_colormanagement_display_get_default_name(), and STRNCPY_UTF8.
Referenced by BKE_image_format_init(), blo_do_versions_280(), blender::nodes::node_composite_convert_to_display_cc::node_init(), and scene_init_data().
| void BKE_color_managed_view_settings_blend_read_data | ( | BlendDataReader * | reader, |
| ColorManagedViewSettings * | settings ) |
Definition at line 1994 of file colortools.cc.
References BKE_curvemapping_blend_read(), BLO_read_struct, and ColorManagedViewSettings::curve_mapping.
Referenced by BKE_image_format_blend_read_data(), blender::nodes::node_composite_convert_to_display_cc::node_blend_read(), and scene_blend_read_data().
| void BKE_color_managed_view_settings_blend_write | ( | BlendWriter * | writer, |
| const ColorManagedViewSettings * | settings ) |
Definition at line 1986 of file colortools.cc.
References BKE_curvemapping_blend_write(), and ColorManagedViewSettings::curve_mapping.
Referenced by BKE_image_format_blend_write(), blender::nodes::node_composite_convert_to_display_cc::node_blend_write(), and scene_blend_write().
| void BKE_color_managed_view_settings_copy | ( | ColorManagedViewSettings * | new_settings, |
| const ColorManagedViewSettings * | settings ) |
Definition at line 1952 of file colortools.cc.
References BKE_color_managed_view_settings_copy_keep_curve_mapping(), BKE_curvemapping_copy(), and ColorManagedViewSettings::curve_mapping.
Referenced by BKE_image_format_color_management_copy(), BKE_image_format_color_management_copy_from_scene(), BKE_image_format_copy(), BKE_image_format_init_for_write(), BKE_scene_duplicate(), blender::nodes::node_composite_convert_to_display_cc::node_copy(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), scene_copy_data(), and screen_render_invoke().
| void BKE_color_managed_view_settings_copy_keep_curve_mapping | ( | ColorManagedViewSettings * | new_settings, |
| const ColorManagedViewSettings * | settings ) |
Copy view settings that are not related to the curve mapping. Keep the curve mapping unchanged in the new_settings.
Definition at line 1965 of file colortools.cc.
References ColorManagedViewSettings::exposure, ColorManagedViewSettings::flag, ColorManagedViewSettings::gamma, ColorManagedViewSettings::look, STRNCPY_UTF8, ColorManagedViewSettings::temperature, ColorManagedViewSettings::tint, and ColorManagedViewSettings::view_transform.
Referenced by BKE_color_managed_view_settings_copy(), and GPU_viewport_colorspace_set().
| void BKE_color_managed_view_settings_free | ( | ColorManagedViewSettings * | settings | ) |
Definition at line 1978 of file colortools.cc.
References BKE_curvemapping_free(), and ColorManagedViewSettings::curve_mapping.
Referenced by BKE_image_format_color_management_copy(), BKE_image_format_color_management_copy_from_scene(), BKE_image_format_free(), GPU_viewport_colorspace_set(), GPU_viewport_free(), blender::nodes::node_composite_convert_to_display_cc::node_free(), blender::ed::space_node::preview_prepare_scene(), preview_prepare_scene(), render_freejob(), and scene_free_data().
| void BKE_color_managed_view_settings_init | ( | ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings, | ||
| const char * | view_transform ) |
Initialize view settings to the default.
Definition at line 1927 of file colortools.cc.
References BLI_assert, ColorManagedViewSettings::curve_mapping, ColorManagedDisplaySettings::display_device, ColorManagedViewSettings::exposure, ColorManagedViewSettings::flag, ColorManagedViewSettings::gamma, IMB_colormanagement_display_get_default_view_transform_name(), IMB_colormanagement_display_get_named(), IMB_colormanagement_validate_settings(), ColorManagedViewSettings::look, STRNCPY_UTF8, and ColorManagedViewSettings::view_transform.
Referenced by BKE_image_format_init(), blo_do_versions_280(), blender::nodes::node_composite_convert_to_display_cc::node_init(), scene_init_data(), and blender::draw::color_management::viewport_settings_apply().
| float BKE_curvemap_evaluateF | ( | const CurveMapping * | cumap, |
| const CurveMap * | cuma, | ||
| float | value ) |
Keep these const CurveMap - to help with thread safety.
Definition at line 1073 of file colortools.cc.
References CM_TABLE, curvemap_calc_extend(), float, i, CurveMap::mintable, CurveMap::range, CurveMap::table, CurveMapPoint::x, and CurveMapPoint::y.
Referenced by BKE_curvemapping_evaluate3F(), BKE_curvemapping_evaluate_premulRGBF_ex(), BKE_curvemapping_evaluateF(), BKE_curvemapping_evaluateRGBF(), BKE_curvemapping_premultiply(), curve_mapping_apply_pixel(), evaluate_film_like(), and blender::seq::sound_equalizermodifier_recreator().
| void BKE_curvemap_handle_set | ( | CurveMap * | cuma, |
| int | type ) |
| type | eBezTriple_Handle |
Definition at line 498 of file colortools.cc.
References CUMA_HANDLE_AUTO_ANIM, CUMA_HANDLE_VECTOR, CUMA_SELECT, CurveMap::curve, CurveMapPoint::flag, HD_AUTO_ANIM, HD_VECT, and CurveMap::totpoint.
Referenced by curvemap_buttons_layout().
| CurveMapPoint * BKE_curvemap_insert | ( | CurveMap * | cuma, |
| float | x, | ||
| float | y ) |
Definition at line 240 of file colortools.cc.
References b, CUMA_SELECT, CurveMap::curve, CurveMap::default_handle_type, CurveMapPoint::flag, MEM_calloc_arrayN(), MEM_freeN(), CurveMapPoint::shorty, CurveMap::totpoint, CurveMapPoint::x, x, CurveMapPoint::y, and y.
Referenced by ui_do_but_CURVE().
| void BKE_curvemap_remove | ( | CurveMap * | cuma, |
| short | flag ) |
Removes with flag set.
Definition at line 217 of file colortools.cc.
References b, CurveMap::curve, CurveMapPoint::flag, flag, MEM_freeN(), MEM_malloc_arrayN(), and CurveMap::totpoint.
Referenced by BKE_curvemapping_changed(), and curvemap_buttons_layout().
| bool BKE_curvemap_remove_point | ( | CurveMap * | cuma, |
| CurveMapPoint * | point ) |
Remove specified point.
Definition at line 188 of file colortools.cc.
References b, CurveMap::curve, MEM_freeN(), MEM_malloc_arrayN(), and CurveMap::totpoint.
| void BKE_curvemap_reset | ( | CurveMap * | cuma, |
| const rctf * | clipr, | ||
| int | preset, | ||
| CurveMapSlopeType | slope ) |
Definition at line 276 of file colortools.cc.
References BLI_assert, CUMA_HANDLE_AUTO_ANIM, CUMA_HANDLE_VECTOR, CurveMap::curve, CURVE_PRESET_BELL, CURVE_PRESET_CONSTANT_MEDIAN, CURVE_PRESET_GAUSS, CURVE_PRESET_LINE, CURVE_PRESET_MAX, CURVE_PRESET_MID8, CURVE_PRESET_ROOT, CURVE_PRESET_ROUND, CURVE_PRESET_SHARP, CURVE_PRESET_SMOOTH, CurveMap::default_handle_type, ELEM, CurveMapPoint::flag, float, i, MEM_calloc_arrayN(), MEM_dupallocN(), MEM_freeN(), MEM_malloc_arrayN(), Positive, PositiveNegative, CurveMap::table, CurveMap::totpoint, CurveMapPoint::x, rctf::xmax, rctf::xmin, CurveMapPoint::y, rctf::ymax, and rctf::ymin.
Referenced by add_preset_button(), BKE_brush_curve_preset(), BKE_paint_cavity_curve_preset(), BKE_paint_default_curve(), BKE_sculpt_default_cavity_curve(), blo_do_versions_270(), blo_do_versions_280(), blo_update_defaults_scene(), curvemap_buttons_layout(), curvemap_tools_func(), blender::seq::hue_correct_init_data(), blender::nodes::node_composite_huecorrect_cc::node_composit_init_huecorrect(), render_shutter_curve_preset_exec(), scene_init_data(), and blender::seq::sound_equalizer_add().
| CurveMapping * BKE_curvemapping_add | ( | int | tot, |
| float | minx, | ||
| float | miny, | ||
| float | maxx, | ||
| float | maxy ) |
Definition at line 89 of file colortools.cc.
References BKE_curvemapping_set_defaults(), HD_AUTO, and MEM_callocN().
Referenced by BKE_brush_curve_preset(), BKE_brush_init_curves_sculpt_settings(), BKE_brush_init_gpencil_settings(), BKE_linestyle_alpha_modifier_add(), BKE_linestyle_thickness_modifier_add(), BKE_paint_cavity_curve_preset(), BKE_paint_default_curve(), BKE_particlesettings_clump_curve_init(), BKE_particlesettings_rough_curve_init(), BKE_particlesettings_twist_curve_init(), BKE_sculpt_default_cavity_curve(), blo_do_versions_280(), blo_do_versions_290(), blo_do_versions_300(), blo_update_defaults_scene(), deformVerts_do(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec(), init_data(), init_data(), init_data(), init_data(), blender::modifier::greasepencil::init_influence_data(), blender::nodes::node_composite_rgb_curves_cc::node_composit_init_curve_rgb(), blender::nodes::node_composite_time_curves_cc::node_composit_init_curves_time(), blender::nodes::node_composite_huecorrect_cc::node_composit_init_huecorrect(), blender::nodes::node_shader_curves_cc::flt::node_shader_init_curve_float(), blender::nodes::node_shader_curves_cc::rgb::node_shader_init_curve_rgb(), blender::nodes::node_shader_curves_cc::vec::node_shader_init_curve_vec(), rgb_init(), scene_init_data(), time_init(), and warpModifier_do().
| void BKE_curvemapping_blend_read | ( | BlendDataReader * | reader, |
| CurveMapping * | cumap ) |
Definition at line 1425 of file colortools.cc.
References BLO_read_struct_array, CurveMapping::cm, CM_TOT, CUMA_PREMULLED, CurveMap::curve, CurveMapping::flag, CurveMap::premultable, CurveMap::table, and CurveMap::totpoint.
Referenced by BKE_color_managed_view_settings_blend_read_data(), BKE_gpencil_modifier_blend_read_data(), BKE_paint_blend_read_data(), blend_read(), blend_read(), blend_read(), blend_read(), brush_blend_read_data(), blender::seq::curves_read(), direct_link_linestyle_alpha_modifier(), direct_link_linestyle_thickness_modifier(), blender::seq::hue_correct_read(), blender::bke::node_blend_read_data_storage(), particle_settings_blend_read_data(), blender::modifier::greasepencil::read_influence_data(), scene_blend_read_data(), and blender::seq::sound_equalizermodifier_read().
| void BKE_curvemapping_blend_write | ( | BlendWriter * | writer, |
| const CurveMapping * | cumap ) |
Definition at line 1412 of file colortools.cc.
References BKE_curvemapping_curves_blend_write(), and BLO_write_struct.
Referenced by BKE_color_managed_view_settings_blend_write(), BKE_paint_blend_write(), blend_write(), blend_write(), blend_write(), blend_write(), brush_blend_write(), blender::seq::curves_write(), blender::seq::hue_correct_write(), particle_settings_blend_write(), scene_blend_write(), blender::seq::sound_equalizermodifier_write(), blender::modifier::greasepencil::write_influence_data(), write_linestyle_alpha_modifiers(), and write_linestyle_thickness_modifiers().
| void BKE_curvemapping_changed | ( | CurveMapping * | cumap, |
| bool | rem_doubles ) |
Definition at line 975 of file colortools.cc.
References b, BKE_curvemap_remove(), BLI_rctf_size_x(), BLI_rctf_size_y(), CurveMapping::changed_timestamp, CurveMapping::clipr, CurveMapping::cm, CUMA_DO_CLIP, CUMA_REMOVE, CUMA_SELECT, CurveMapping::cur, CurveMapping::curr, CurveMap::curve, curvemap_make_table(), CurveMapping::flag, CurveMapPoint::flag, flag, max_ff(), min_ff(), sqrtf, CurveMap::totpoint, CurveMapPoint::x, x, rctf::xmax, rctf::xmin, CurveMapPoint::y, y, rctf::ymax, and rctf::ymin.
Referenced by add_preset_button(), BKE_brush_curve_preset(), BKE_curvemapping_changed_all(), BKE_paint_cavity_curve_preset(), BKE_sculpt_default_cavity_curve(), curvemap_buttons_layout(), curvemap_clipping_func(), curvemap_tools_func(), Freestyle_evaluateCurveMappingF(), blender::eevee::MotionBlurModule::init(), blender::draw::gpencil::render_frame(), render_shutter_curve_preset_exec(), ui_do_but_CURVE(), ui_draw_but_CURVE(), and ui_numedit_but_CURVE().
| void BKE_curvemapping_changed_all | ( | CurveMapping * | cumap | ) |
Definition at line 1054 of file colortools.cc.
References BKE_curvemapping_changed(), CurveMapping::cm, CM_TOT, CurveMapping::cur, and CurveMap::curve.
Referenced by do_guides(), psys_thread_context_init_path(), and vector_curve_node_remap().
| void BKE_curvemapping_compute_range_dividers | ( | const CurveMapping * | curve_mapping, |
| float | dividers[CM_TOT] ) |
Definition at line 1293 of file colortools.cc.
References CurveMapping::cm, CM_TOT, i, max_ff(), CurveMap::maxtable, and CurveMap::mintable.
Referenced by BKE_curvemapping_compute_slopes().
| void BKE_curvemapping_compute_slopes | ( | const CurveMapping * | curve_mapping, |
| float | start_slopes[CM_TOT], | ||
| float | end_slopes[CM_TOT] ) |
Definition at line 1302 of file colortools.cc.
References BKE_curvemapping_compute_range_dividers(), CurveMapping::cm, CM_TOT, CUMA_EXTEND_EXTRAPOLATE, CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, and i.
| CurveMapping * BKE_curvemapping_copy | ( | const CurveMapping * | cumap | ) |
Definition at line 148 of file colortools.cc.
References BKE_curvemapping_copy_data(), and MEM_dupallocN().
Referenced by BKE_color_managed_view_settings_copy(), BKE_linestyle_alpha_modifier_copy(), BKE_linestyle_thickness_modifier_copy(), BKE_paint_copy(), BKE_toolsettings_copy(), brush_copy_data(), copy_data(), copy_data(), copy_data(), copy_data(), blender::modifier::greasepencil::copy_influence_data(), copy_unified_paint_settings(), do_version_convert_gp_jitter_values(), GPU_viewport_colorspace_set(), IMB_colormanagement_display_processor_new(), node_copy_curves(), particle_settings_copy_data(), psys_thread_context_init_path(), update_glsl_curve_mapping(), and version_fix_image_format_copy().
| void BKE_curvemapping_copy_data | ( | CurveMapping * | target, |
| const CurveMapping * | cumap ) |
Definition at line 128 of file colortools.cc.
References CurveMapping::cm, CM_TOT, CurveMap::curve, MEM_dupallocN(), CurveMap::premultable, and CurveMap::table.
Referenced by BKE_curvemapping_copy(), BKE_scene_duplicate(), blender::seq::curves_copy_data(), do_version_convert_gp_jitter_values(), blender::seq::hue_correct_copy_data(), render_copy_renderdata(), scene_copy_data(), blender::seq::sound_equalizermodifier_copy_data(), ui_but_copy_curvemapping(), and ui_but_paste_curvemapping().
| void BKE_curvemapping_curves_blend_write | ( | BlendWriter * | writer, |
| const CurveMapping * | cumap ) |
Definition at line 1418 of file colortools.cc.
References BLO_write_struct_array, CurveMapping::cm, CM_TOT, CurveMap::curve, and CurveMap::totpoint.
Referenced by BKE_curvemapping_blend_write(), blender::bke::node_blend_write_storage(), and scene_blend_write().
| void BKE_curvemapping_evaluate3F | ( | const CurveMapping * | cumap, |
| float | vecout[3], | ||
| const float | vecin[3] ) |
Vector case.
Definition at line 1113 of file colortools.cc.
References BKE_curvemap_evaluateF(), and CurveMapping::cm.
Referenced by blender::nodes::node_shader_curves_cc::vec::CurveVecFunction::call().
| void BKE_curvemapping_evaluate_premulRGB | ( | const CurveMapping * | cumap, |
| unsigned char | vecout_byte[3], | ||
| const unsigned char | vecin_byte[3] ) |
Byte version of BKE_curvemapping_evaluateRGBF.
Definition at line 1225 of file colortools.cc.
References BKE_curvemapping_evaluate_premulRGBF(), float, and unit_float_to_uchar_clamp().
| void BKE_curvemapping_evaluate_premulRGBF | ( | const CurveMapping * | cumap, |
| float | vecout[3], | ||
| const float | vecin[3] ) |
RGB with black/white points and pre-multiply. tables are checked.
Definition at line 1218 of file colortools.cc.
References BKE_curvemapping_evaluate_premulRGBF_ex(), CurveMapping::black, and CurveMapping::bwmul.
Referenced by blender::seq::CurvesApplyOp::apply(), BKE_curvemapping_evaluate_premulRGB(), curve_mapping_apply_pixel(), IMB_colormanagement_processor_apply_v3(), IMB_colormanagement_processor_apply_v4(), and IMB_colormanagement_processor_apply_v4_predivide().
| void BKE_curvemapping_evaluate_premulRGBF_ex | ( | const CurveMapping * | cumap, |
| float | vecout[3], | ||
| const float | vecin[3], | ||
| const float | black[3], | ||
| const float | bwmul[3] ) |
Same as BKE_curvemapping_evaluate_premulRGBF but black/bwmul are passed as args for the compositor where they can change per pixel.
Use in conjunction with BKE_curvemapping_set_black_white_ex
| black | Use instead of cumap->black |
| bwmul | Use instead of cumap->bwmul |
Definition at line 1191 of file colortools.cc.
References b, BKE_curvemap_evaluateF(), CurveMapping::cm, copy_v3_v3(), CURVE_TONE_FILMLIKE, CURVE_TONE_STANDARD, evaluate_film_like(), output, and CurveMapping::tone.
Referenced by BKE_curvemapping_evaluate_premulRGBF(), and blender::nodes::node_composite_rgb_curves_cc::node_build_multi_function().
| float BKE_curvemapping_evaluateF | ( | const CurveMapping * | cumap, |
| int | cur, | ||
| float | value ) |
Single curve, with table check. Works with curve 'cur'.
Definition at line 1095 of file colortools.cc.
References BKE_curvemap_evaluateF(), CurveMapping::clipr, CurveMapping::cm, CUMA_DO_CLIP, CurveMapping::flag, rctf::ymax, and rctf::ymin.
Referenced by blender::ed::sculpt_paint::greasepencil::PaintOperationExecutor::active_jitter(), blender::seq::HueCorrectApplyOp::apply(), BKE_brush_calc_curve_factors(), BKE_brush_curve_strength(), BKE_curvemapping_integrate_clamped(), BKE_paint_randomize_color(), blender::ed::sculpt_paint::brush_dynamic_size_get(), blender::ed::sculpt_paint::greasepencil::brush_radius(), blender::ed::sculpt_paint::brush_radius_factor(), brush_strength(), blender::ed::sculpt_paint::brush_strength_factor(), blender::nodes::node_shader_curves_cc::flt::CurveFloatFunction::call(), blender::draw::gpencil::cdf_from_curvemapping(), blender::eevee::Sampling::cdf_from_curvemapping(), blender::ed::sculpt_paint::CombOperationExecutor::comb_projected(), blender::ed::sculpt_paint::CombOperationExecutor::comb_spherical(), blender::deform_drawing(), blender::deform_drawing(), do_clump_level(), do_rough_curve(), blender::ed::sculpt_paint::greasepencil::EraseOperationExecutor::execute(), blender::nodes::node_composite_time_curves_cc::TimeCurveOperation::execute(), Freestyle_evaluateCurveMappingF(), blender::ed::sculpt_paint::vwpaint::get_brush_alpha_data(), blender::ed::greasepencil::get_frame_falloff(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_easing_calc(), blender::ed::greasepencil::grease_pencil_primitive_update_curves(), blender::hook_falloff(), hook_falloff(), blender::nodes::node_composite_huecorrect_cc::hue_correct(), blender::modify_stroke_color(), blender::modify_stroke_color(), blender::modify_stroke_color(), blender::ed::greasepencil::opacity_from_input_sample(), blender::ed::sculpt_paint::paint_brush_update(), blender::ed::sculpt_paint::paint_space_stroke_spacing_variable(), blender::ed::sculpt_paint::paint_stroke_jitter_pos(), blender::ed::sculpt_paint::image::ops::paint::paint_stroke_update_step(), blender::ed::sculpt_paint::auto_mask::process_cavity_factor(), project_paint_uvpixel_mask(), blender::ed::greasepencil::radius_from_input_sample(), blender::ed::greasepencil::randomize_opacity(), blender::ed::greasepencil::randomize_radius(), blender::ed::greasepencil::randomize_rotation(), blender::ed::greasepencil::randomize_rotation(), time_colorfn(), blender::ed::sculpt_paint::vwpaint::update_cache_variants(), warpModifier_do(), and weightvg_do_map().
| void BKE_curvemapping_evaluateRGBF | ( | const CurveMapping * | cumap, |
| float | vecout[3], | ||
| const float | vecin[3] ) |
RGB case, no black/white points, no pre-multiply.
Definition at line 1120 of file colortools.cc.
References BKE_curvemap_evaluateF(), and CurveMapping::cm.
Referenced by blender::nodes::node_shader_curves_cc::rgb::CurveRGBFunction::call(), and rgb_colorfn().
| void BKE_curvemapping_free | ( | CurveMapping * | cumap | ) |
Definition at line 120 of file colortools.cc.
References BKE_curvemapping_free_data(), and MEM_freeN().
Referenced by BKE_color_managed_view_settings_free(), BKE_linestyle_alpha_modifier_remove(), BKE_linestyle_thickness_modifier_remove(), BKE_paint_free(), BKE_toolsettings_free(), brush_free_data(), free_data(), free_data(), free_data(), free_data(), blender::modifier::greasepencil::free_influence_data(), gpencil_modifier_free_data(), IMB_colormanagement_processor_free(), blender::bke::greasepencil::convert::legacy_object_modifier_influence(), node_free_curves(), particle_settings_free_data(), psys_thread_context_free(), update_glsl_curve_mapping(), version_fix_image_format_copy(), and GlobalGPUState::~GlobalGPUState().
| void BKE_curvemapping_free_data | ( | CurveMapping * | cumap | ) |
Definition at line 100 of file colortools.cc.
References CurveMapping::cm, CM_TOT, CurveMap::curve, MEM_freeN(), CurveMap::premultable, and CurveMap::table.
Referenced by BKE_curvemapping_free(), BKE_scene_duplicate(), blender::seq::curves_free_data(), do_version_convert_gp_jitter_values(), blender::seq::hue_correct_free_data(), render_copy_renderdata(), scene_free_data(), blender::seq::sound_equalizermodifier_free(), ui_but_clipboard_free(), ui_but_copy_curvemapping(), ui_but_paste_curvemapping(), and Render::~Render().
| void BKE_curvemapping_get_range_minimums | ( | const CurveMapping * | curve_mapping, |
| float | minimums[CM_TOT] ) |
Definition at line 1286 of file colortools.cc.
References CurveMapping::cm, CM_TOT, i, and CurveMap::mintable.
| void BKE_curvemapping_init | ( | CurveMapping * | cumap | ) |
Call before all evaluation functions.
Definition at line 1360 of file colortools.cc.
References CurveMapping::cm, CM_TOT, curvemap_make_table(), and CurveMap::table.
Referenced by BKE_brush_gen_radial_control_imbuf(), BKE_gpencil_modifier_blend_read_data(), BKE_paint_blend_read_data(), BKE_paint_default_curve(), BKE_particlesettings_clump_curve_init(), BKE_particlesettings_rough_curve_init(), BKE_particlesettings_twist_curve_init(), BKE_sculpt_default_cavity_curve(), BKE_toolsettings_copy(), blo_do_versions_270(), blo_do_versions_280(), blo_do_versions_290(), blo_update_defaults_scene(), blender::ed::sculpt_paint::auto_mask::cache_init(), blender::ed::sculpt_paint::expand::cache_initial_config_set(), blender::ed::sculpt_paint::pose::calc_twist_deform(), blender::ed::sculpt_paint::CombOperationExecutor::comb_projected(), blender::ed::sculpt_paint::CombOperationExecutor::comb_spherical(), blender::ed::sculpt_paint::greasepencil::create_fill_guide_brush(), blender::seq::curves_apply(), deformVerts_do(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::nodes::node_composite_time_curves_cc::TimeCurveOperation::execute(), Freestyle_evaluateCurveMappingF(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::get_brush_settings(), blender::nodes::node_shader_curves_cc::flt::gpu_shader_curve_float(), blender::nodes::node_shader_curves_cc::rgb::gpu_shader_curve_rgb(), blender::nodes::node_shader_curves_cc::vec::gpu_shader_curve_vec(), blender::ed::sculpt_paint::grease_pencil_fill_init(), blender::ed::sculpt_paint::greasepencil::grease_pencil_interpolate_sequence_exec(), blender::ed::greasepencil::grease_pencil_primitive_invoke(), blender::seq::hue_correct_apply(), blender::ed::sculpt_paint::greasepencil::init_brush(), init_data(), init_data(), blender::ed::sculpt_paint::boundary::init_falloff_bmesh(), blender::ed::sculpt_paint::boundary::init_falloff_grids(), blender::ed::sculpt_paint::boundary::init_falloff_mesh(), blender::modifier::greasepencil::init_influence_data(), blender::ed::sculpt_paint::load_tex_cursor(), blender::nodes::node_composite_huecorrect_cc::node_build_multi_function(), blender::nodes::node_composite_rgb_curves_cc::node_build_multi_function(), blender::nodes::node_composite_huecorrect_cc::node_gpu_material(), blender::nodes::node_composite_rgb_curves_cc::node_gpu_material(), node_initexec_curves(), blender::ed::sculpt_paint::greasepencil::EraseOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::PaintOperation::on_stroke_begin(), blender::ed::sculpt_paint::greasepencil::TintOperation::on_stroke_begin(), blender::ed::sculpt_paint::paint_stroke_modal(), blender::ed::sculpt_paint::paint_stroke_new(), paint_weight_gradient_exec(), psys_sim_data_init(), radial_control_paint_curve(), blender::ocio::internal::GPUCurveMappping::rasterize(), blender::modifier::greasepencil::read_influence_data(), blender::ed::greasepencil::retrieve_editable_drawings_from_layer_with_falloff(), blender::ed::greasepencil::retrieve_editable_drawings_grouped_per_frame(), blender::ed::greasepencil::retrieve_editable_drawings_with_falloff(), scene_blend_read_data(), scene_init_data(), blender::ed::sculpt_paint::pose::sculpt_pose_do_translate_deform(), blender::nodes::node_shader_curves_cc::flt::sh_node_curve_float_build_multi_function(), blender::nodes::node_shader_curves_cc::rgb::sh_node_curve_rgb_build_multi_function(), blender::nodes::node_shader_curves_cc::vec::sh_node_curve_vec_build_multi_function(), blender::ed::sculpt_paint::smooth_brush_toggle_on(), blender::ed::sculpt_paint::vwpaint::smooth_brush_toggle_on(), blender::seq::sound_equalizermodifier_recreator(), time_colorfn(), uv_sculpt_stroke_init(), warpModifier_do(), and weightvg_do_map().
| bool BKE_curvemapping_is_map_identity | ( | const CurveMapping * | curve_mapping, |
| int | index ) |
Check if the curve map at the index is identity, that is, does nothing. A curve map is said to be identity if:
Definition at line 1333 of file colortools.cc.
References CurveMapping::cm, CUMA_EXTEND_EXTRAPOLATE, CurveMap::curve, CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, CurveMap::maxtable, CurveMap::mintable, CurveMap::totpoint, CurveMapPoint::x, and CurveMapPoint::y.
Referenced by blender::nodes::node_shader_curves_cc::rgb::gpu_shader_curve_rgb(), and blender::nodes::node_composite_rgb_curves_cc::node_gpu_material().
| void BKE_curvemapping_premultiply | ( | CurveMapping * | cumap, |
| bool | restore ) |
Call when you do images etc, needs restore too. also verifies tables. non-const (these modify the curve).
Definition at line 915 of file colortools.cc.
References b, BKE_curvemap_evaluateF(), CurveMapping::cm, CM_TABLE, copy_v2_v2(), CUMA_PREMULLED, curvemap_make_table(), CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, MEM_freeN(), MEM_malloc_arrayN(), mul_v2_v2(), CurveMap::premul_ext_in, CurveMap::premul_ext_out, CurveMap::premultable, CurveMap::table, CurveMapPoint::y, and zero_v2().
Referenced by blender::seq::curves_apply(), IMB_colormanagement_display_processor_new(), blender::nodes::node_composite_rgb_curves_cc::node_build_multi_function(), and blender::ocio::internal::GPUCurveMappping::rasterize().
| void BKE_curvemapping_reset_view | ( | CurveMapping * | cumap | ) |
Reset the view for current curve.
Definition at line 1068 of file colortools.cc.
References CurveMapping::clipr, and CurveMapping::curr.
Referenced by curvemap_tools_func().
| bool BKE_curvemapping_RGBA_does_something | ( | const CurveMapping * | cumap | ) |
Definition at line 1242 of file colortools.cc.
References CurveMapping::black, CurveMapping::cm, CM_TOT, CurveMap::curve, CurveMap::totpoint, CurveMapping::white, CurveMapPoint::x, and CurveMapPoint::y.
| void BKE_curvemapping_set_black_white | ( | CurveMapping * | cumap, |
| const float | black[3], | ||
| const float | white[3] ) |
Definition at line 170 of file colortools.cc.
References BKE_curvemapping_set_black_white_ex(), CurveMapping::black, CurveMapping::bwmul, CurveMapping::changed_timestamp, copy_v3_v3(), and CurveMapping::white.
Referenced by curvemap_buttons_layout(), blender::seq::curves_apply(), and image_sample_apply().
| void BKE_curvemapping_set_black_white_ex | ( | const float | black[3], |
| const float | white[3], | ||
| float | r_bwmul[3] ) |
Definition at line 158 of file colortools.cc.
References max_ff().
Referenced by BKE_curvemapping_set_black_white(), and blender::nodes::node_composite_rgb_curves_cc::node_build_multi_function().
| void BKE_curvemapping_set_defaults | ( | CurveMapping * | cumap, |
| int | tot, | ||
| float | minx, | ||
| float | miny, | ||
| float | maxx, | ||
| float | maxy, | ||
| short | default_handle_type ) |
Definition at line 40 of file colortools.cc.
References BLI_rctf_init(), CurveMapping::bwmul, CurveMapping::changed_timestamp, CurveMapping::clipr, CurveMapping::cm, CUMA_DO_CLIP, CUMA_EXTEND_EXTRAPOLATE, CUMA_HANDLE_AUTO_ANIM, CUMA_HANDLE_VECTOR, CurveMapping::cur, CurveMapping::curr, CurveMap::curve, CurveMap::default_handle_type, CurveMapping::flag, CurveMapPoint::flag, HD_AUTO_ANIM, HD_VECT, max_ff(), MEM_calloc_arrayN(), min_ff(), CurveMap::totpoint, CurveMapping::white, CurveMapPoint::x, and CurveMapPoint::y.
Referenced by BKE_curvemapping_add(), blo_do_versions_270(), blender::seq::curves_init_data(), blender::seq::hue_correct_init_data(), scene_init_data(), and blender::seq::sound_equalizer_add().
| void BKE_curvemapping_table_F | ( | const CurveMapping * | cumap, |
| float ** | array, | ||
| int * | size ) |
Definition at line 1375 of file colortools.cc.
References CurveMapping::cm, CM_TABLE, MEM_calloc_arrayN(), size(), CurveMap::table, and CurveMapPoint::y.
| void BKE_curvemapping_table_RGBA | ( | const CurveMapping * | cumap, |
| float ** | array, | ||
| int * | size ) |
Definition at line 1389 of file colortools.cc.
References CurveMapping::cm, CM_TABLE, MEM_calloc_arrayN(), size(), CurveMap::table, and CurveMapPoint::y.
Referenced by blender::nodes::node_shader_curves_cc::flt::gpu_shader_curve_float(), blender::nodes::node_shader_curves_cc::rgb::gpu_shader_curve_rgb(), blender::nodes::node_shader_curves_cc::vec::gpu_shader_curve_vec(), blender::nodes::node_composite_huecorrect_cc::node_gpu_material(), blender::nodes::node_composite_rgb_curves_cc::node_gpu_material(), and blender::ocio::internal::GPUCurveMappping::rasterize().
| void BKE_histogram_update_sample_line | ( | Histogram * | hist, |
| ImBuf * | ibuf, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 1494 of file colortools.cc.
References BLI_assert_unreachable, ImBuf::byte_buffer, Histogram::channels, ImBuf::channels, Histogram::co, copy_v3_fl(), copy_v3_v3(), copy_v4_v4(), ImBufByteBuffer::data, ImBufFloatBuffer::data, Histogram::data_a, Histogram::data_b, Histogram::data_g, Histogram::data_luma, Histogram::data_r, float, ImBuf::float_buffer, i, IMB_colormanagement_display_processor_new(), IMB_colormanagement_get_luminance(), IMB_colormanagement_get_luminance_byte(), IMB_colormanagement_processor_apply_v3(), IMB_colormanagement_processor_apply_v4(), IMB_colormanagement_processor_free(), roundf, ImBuf::x, x, Histogram::x_resolution, Histogram::xmax, ImBuf::y, and y.
Referenced by image_buttons_region_draw(), and image_sample_line_exec().
| void BKE_scopes_free | ( | Scopes * | scopes | ) |
Definition at line 1886 of file colortools.cc.
References MEM_SAFE_FREE, Scopes::vecscope, Scopes::vecscope_rgb, Scopes::waveform_1, Scopes::waveform_2, and Scopes::waveform_3.
Referenced by image_free().
| void BKE_scopes_new | ( | Scopes * | scopes | ) |
Definition at line 1895 of file colortools.cc.
References Scopes::accuracy, Histogram::height, Scopes::hist, HISTO_MODE_RGB, Histogram::mode, Scopes::ok, Scopes::vecscope, Scopes::vecscope_alpha, Scopes::vecscope_height, Scopes::vecscope_rgb, Scopes::waveform_1, Scopes::waveform_2, Scopes::waveform_3, Scopes::wavefrm_alpha, and Scopes::wavefrm_height.
Referenced by blo_do_versions_250(), image_create(), and image_duplicate().
| void BKE_scopes_update | ( | Scopes * | scopes, |
| ImBuf * | ibuf, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 1732 of file colortools.cc.
References Scopes::accuracy, ScopesUpdateDataChunk::bin_a, ScopesUpdateDataChunk::bin_b, ScopesUpdateDataChunk::bin_g, ScopesUpdateDataChunk::bin_lum, ScopesUpdateDataChunk::bin_r, BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), BLI_YCC_ITU_BT601, BLI_YCC_ITU_BT709, BLI_YCC_JFIF_0_255, ImBuf::byte_buffer, Histogram::channels, ImBuf::channels, CLAMP_MIN, data, ImBufByteBuffer::data, ImBufFloatBuffer::data, Histogram::data_a, Histogram::data_b, Histogram::data_g, Histogram::data_luma, Histogram::data_r, ELEM, ImBuf::float_buffer, TaskParallelSettings::func_reduce, Scopes::hist, IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_free(), IMB_display_buffer_acquire(), IMB_display_buffer_release(), INIT_MINMAX, ScopesUpdateDataChunk::max, MEM_calloc_arrayN(), MEM_freeN(), ScopesUpdateDataChunk::min, Scopes::minmax, Scopes::ok, Scopes::sample_full, Scopes::sample_lines, scopes_update_cb(), scopes_update_reduce(), SCOPES_WAVEFRM_LUMA, SCOPES_WAVEFRM_RGB, SCOPES_WAVEFRM_RGB_PARADE, SCOPES_WAVEFRM_YCC_601, SCOPES_WAVEFRM_YCC_709, SCOPES_WAVEFRM_YCC_JPEG, TaskParallelSettings::use_threading, TaskParallelSettings::userdata_chunk, TaskParallelSettings::userdata_chunk_size, Scopes::vecscope, Scopes::vecscope_rgb, Scopes::waveform_1, Scopes::waveform_2, Scopes::waveform_3, Scopes::waveform_tot, Scopes::wavefrm_mode, ImBuf::x, Histogram::x_resolution, ImBuf::y, and Histogram::ymax.
Referenced by ED_space_image_scopes_update().
|
static |
Reduced copy of calchandleNurb_intern code in curve.cc.
Definition at line 523 of file colortools.cc.
References ELEM, BezTriple::h1, BezTriple::h2, HD_AUTO, HD_AUTO_ANIM, HD_VECT, len, len_v2(), madd_v2_v2v2fl(), next, p2_h1, p2_h2, sub_v2_v2v2(), and BezTriple::vec.
Referenced by curvemap_make_table().
Definition at line 673 of file colortools.cc.
References BKE_curve_correct_bezpart(), BKE_curve_forward_diff_bezier(), and CM_RESOL.
Referenced by curvemap_make_table().
|
static |
Definition at line 638 of file colortools.cc.
References CUMA_EXTEND_EXTRAPOLATE, CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, and x.
Referenced by BKE_curvemap_evaluateF(), and curvemap_make_table().
|
static |
Definition at line 683 of file colortools.cc.
References add_v3_v3v3(), b, calchandle_curvemap(), CurveMapping::clipr, CM_RESOL, CM_TABLE, CM_TABLEDIV, compare_ff(), copy_v3_v3(), CUMA_HANDLE_AUTO_ANIM, CUMA_HANDLE_VECTOR, CUMA_USE_WRAPPING, CurveMap::curve, curve_eval_bezier_point(), curvemap_calc_extend(), CurveMap::ext_in, CurveMap::ext_out, CurveMapping::flag, flag, float, BezTriple::h1, BezTriple::h2, HD_AUTO, HD_AUTO_ANIM, HD_VECT, len_v3(), len_v3v3(), max_ff(), max_ii(), CurveMap::maxtable, MEM_calloc_arrayN(), MEM_freeN(), min_ff(), CurveMap::mintable, mul_v3_fl(), CurveMap::range, sqrtf, sub_v3_v3(), sub_v3_v3v3(), CurveMap::table, CurveMap::totpoint, BezTriple::vec, CurveMapPoint::x, rctf::xmax, rctf::xmin, CurveMapPoint::y, and zero_v2().
Referenced by BKE_curvemapping_changed(), BKE_curvemapping_init(), and BKE_curvemapping_premultiply().
|
static |
Definition at line 1163 of file colortools.cc.
References BKE_curvemap_evaluateF(), CurveMapping::cm, input, blender::math::max(), blender::math::min(), blender::math::reduce_max(), and blender::math::reduce_min().
Referenced by BKE_curvemapping_evaluate_premulRGBF_ex().
| BLI_INLINE int get_bin_float | ( | float | f | ) |
Definition at line 1441 of file colortools.cc.
References BLI_INLINE, and CLAMP.
Referenced by scopes_update_cb().
|
static |
Definition at line 1451 of file colortools.cc.
References BLI_YUV_ITU_BT709, rgb_to_yuv(), SCOPES_VEC_U_SCALE, SCOPES_VEC_V_SCALE, SCOPES_WAVEFRM_LUMA, SCOPES_WAVEFRM_RGB, SCOPES_WAVEFRM_RGB_PARADE, SCOPES_WAVEFRM_YCC_601, SCOPES_WAVEFRM_YCC_709, SCOPES_WAVEFRM_YCC_JPEG, Scopes::vecscope, Scopes::vecscope_rgb, Scopes::waveform_1, Scopes::waveform_2, Scopes::waveform_3, and Scopes::wavefrm_mode.
Referenced by scopes_update_cb().
|
static |
Definition at line 1598 of file colortools.cc.
References ScopesUpdateDataChunk::bin_a, ScopesUpdateDataChunk::bin_b, ScopesUpdateDataChunk::bin_g, ScopesUpdateDataChunk::bin_lum, ScopesUpdateDataChunk::bin_r, BLI_assert_unreachable, ImBuf::channels, copy_v3_fl(), copy_v3_v3(), copy_v4_v4(), data, ImBufFloatBuffer::data, float, ImBuf::float_buffer, get_bin_float(), IMB_colormanagement_get_luminance(), IMB_colormanagement_processor_apply_v3(), IMB_colormanagement_processor_apply_v4(), INV_255, max, ScopesUpdateDataChunk::max, min, ScopesUpdateDataChunk::min, minmax_v3v3_v3(), mul_v3_fl(), rgb_to_ycc(), Scopes::sample_lines, save_sample_line(), ImBuf::x, x, ImBuf::y, and y.
Referenced by BKE_scopes_update().
|
static |
Definition at line 1697 of file colortools.cc.
References b, ScopesUpdateDataChunk::bin_a, ScopesUpdateDataChunk::bin_b, ScopesUpdateDataChunk::bin_g, ScopesUpdateDataChunk::bin_lum, ScopesUpdateDataChunk::bin_r, max, ScopesUpdateDataChunk::max, min, and ScopesUpdateDataChunk::min.
Referenced by BKE_scopes_update().