|
Blender V4.5
|
#include "BLI_compiler_compat.h"#include "BLI_math_matrix_types.hh"#include "intern/colormanagement_inline.h"Go to the source code of this file.
Namespaces | |
| namespace | blender |
| namespace | blender::ocio |
Macros | |
| #define | BCM_CONFIG_FILE "config.ocio" |
Typedefs | |
| using | ColorSpace = blender::ocio::ColorSpace |
Functions | |
Generic Functions | |
| void | IMB_colormanagement_check_file_config (Main *bmain) |
| void | IMB_colormanagement_validate_settings (const ColorManagedDisplaySettings *display_settings, ColorManagedViewSettings *view_settings) |
| const char * | IMB_colormanagement_role_colorspace_name_get (int role) |
| const char * | IMB_colormanagement_srgb_colorspace_name_get () |
| void | IMB_colormanagement_check_is_data (ImBuf *ibuf, const char *name) |
| void | IMB_colormanagegent_copy_settings (ImBuf *ibuf_src, ImBuf *ibuf_dst) |
| void | IMB_colormanagement_assign_float_colorspace (ImBuf *ibuf, const char *name) |
| void | IMB_colormanagement_assign_byte_colorspace (ImBuf *ibuf, const char *name) |
| const char * | IMB_colormanagement_get_float_colorspace (ImBuf *ibuf) |
| const char * | IMB_colormanagement_get_rect_colorspace (ImBuf *ibuf) |
| const char * | IMB_colormanagement_space_from_filepath_rules (const char *filepath) |
| const ColorSpace * | IMB_colormanagement_space_get_named (const char *name) |
| bool | IMB_colormanagement_space_is_data (const ColorSpace *colorspace) |
| bool | IMB_colormanagement_space_is_scene_linear (const ColorSpace *colorspace) |
| bool | IMB_colormanagement_space_is_srgb (const ColorSpace *colorspace) |
| bool | IMB_colormanagement_space_name_is_data (const char *name) |
| bool | IMB_colormanagement_space_name_is_scene_linear (const char *name) |
| bool | IMB_colormanagement_space_name_is_srgb (const char *name) |
| BLI_INLINE void | IMB_colormanagement_get_luminance_coefficients (float r_rgb[3]) |
| BLI_INLINE float | IMB_colormanagement_get_luminance (const float rgb[3]) |
| BLI_INLINE unsigned char | IMB_colormanagement_get_luminance_byte (const unsigned char rgb[3]) |
| BLI_INLINE void | IMB_colormanagement_xyz_to_scene_linear (float scene_linear[3], const float xyz[3]) |
| BLI_INLINE void | IMB_colormanagement_scene_linear_to_xyz (float xyz[3], const float scene_linear[3]) |
| BLI_INLINE void | IMB_colormanagement_rec709_to_scene_linear (float scene_linear[3], const float rec709[3]) |
| BLI_INLINE void | IMB_colormanagement_scene_linear_to_rec709 (float rec709[3], const float scene_linear[3]) |
| BLI_INLINE void | IMB_colormanagement_aces_to_scene_linear (float scene_linear[3], const float aces[3]) |
| BLI_INLINE void | IMB_colormanagement_scene_linear_to_aces (float aces[3], const float scene_linear[3]) |
| blender::float3x3 | IMB_colormanagement_get_xyz_to_scene_linear () |
| blender::float3x3 | IMB_colormanagement_get_scene_linear_to_xyz () |
| void | IMB_colormanagement_get_whitepoint (const float temperature, const float tint, float whitepoint[3]) |
| bool | IMB_colormanagement_set_whitepoint (const float whitepoint[3], float &temperature, float &tint) |
Color Space Transformation Functions | |
| void | IMB_colormanagement_transform_float (float *buffer, int width, int height, int channels, const char *from_colorspace, const char *to_colorspace, bool predivide) |
| void | IMB_colormanagement_transform_byte (unsigned char *buffer, int width, int height, int channels, const char *from_colorspace, const char *to_colorspace) |
| void | IMB_colormanagement_transform_byte_to_float (float *float_buffer, unsigned char *byte_buffer, int width, int height, int channels, const char *from_colorspace, const char *to_colorspace) |
| void | IMB_colormanagement_transform_v4 (float pixel[4], const char *from_colorspace, const char *to_colorspace) |
| void | IMB_colormanagement_colorspace_to_scene_linear_v3 (float pixel[3], const ColorSpace *colorspace) |
| void | IMB_colormanagement_colorspace_to_scene_linear_v4 (float pixel[4], bool predivide, const ColorSpace *colorspace) |
| void | IMB_colormanagement_scene_linear_to_colorspace_v3 (float pixel[3], const ColorSpace *colorspace) |
| void | IMB_colormanagement_colorspace_to_scene_linear (float *buffer, int width, int height, int channels, const ColorSpace *colorspace, bool predivide) |
| void | IMB_colormanagement_scene_linear_to_colorspace (float *buffer, int width, int height, int channels, const ColorSpace *colorspace) |
| void | IMB_colormanagement_imbuf_to_byte_texture (unsigned char *out_buffer, int offset_x, int offset_y, int width, int height, const ImBuf *ibuf, bool store_premultiplied) |
| void | IMB_colormanagement_imbuf_to_float_texture (float *out_buffer, int offset_x, int offset_y, int width, int height, const ImBuf *ibuf, bool store_premultiplied) |
| void | IMB_colormanagement_scene_linear_to_color_picking_v3 (float color_picking[3], const float scene_linear[3]) |
| void | IMB_colormanagement_color_picking_to_scene_linear_v3 (float scene_linear[3], const float color_picking[3]) |
| BLI_INLINE void | IMB_colormanagement_scene_linear_to_srgb_v3 (float srgb[3], const float scene_linear[3]) |
| BLI_INLINE void | IMB_colormanagement_srgb_to_scene_linear_v3 (float scene_linear[3], const float srgb[3]) |
| void | IMB_colormanagement_scene_linear_to_display_v3 (float pixel[3], const ColorManagedDisplay *display) |
| void | IMB_colormanagement_display_to_scene_linear_v3 (float pixel[3], const ColorManagedDisplay *display) |
| void | IMB_colormanagement_pixel_to_display_space_v4 (float result[4], const float pixel[4], const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings) |
| void | IMB_colormanagement_pixel_to_display_space_v3 (float result[3], const float pixel[3], const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings) |
| void | IMB_colormanagement_imbuf_make_display_space (ImBuf *ibuf, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings) |
| ImBuf * | IMB_colormanagement_imbuf_for_write (ImBuf *ibuf, bool save_as_render, bool allocate_result, const ImageFormatData *image_format) |
Public Display Buffers Interfaces | |
| void | IMB_colormanagement_display_settings_from_ctx (const bContext *C, ColorManagedViewSettings **r_view_settings, ColorManagedDisplaySettings **r_display_settings) |
| unsigned char * | IMB_display_buffer_acquire (ImBuf *ibuf, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, void **cache_handle) |
| unsigned char * | IMB_display_buffer_acquire_ctx (const bContext *C, ImBuf *ibuf, void **cache_handle) |
| void | IMB_display_buffer_transform_apply (unsigned char *display_buffer, float *linear_buffer, int width, int height, int channels, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, bool predivide) |
| void | IMB_display_buffer_transform_apply_float (float *float_display_buffer, float *linear_buffer, int width, int height, int channels, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, bool predivide) |
| void | IMB_display_buffer_release (void *cache_handle) |
Display Functions | |
| int | IMB_colormanagement_display_get_named_index (const char *name) |
| const char * | IMB_colormanagement_display_get_indexed_name (int index) |
| const char * | IMB_colormanagement_display_get_default_name () |
| const ColorManagedDisplay * | IMB_colormanagement_display_get_named (const char *name) |
| const char * | IMB_colormanagement_display_get_none_name () |
| const char * | IMB_colormanagement_display_get_default_view_transform_name (const ColorManagedDisplay *display) |
View Functions | |
| int | IMB_colormanagement_view_get_id_by_name (const char *name) |
| const char * | IMB_colormanagement_view_get_name_by_id (int index) |
Look Functions | |
| int | IMB_colormanagement_look_get_named_index (const char *name) |
| const char * | IMB_colormanagement_look_get_indexed_name (int index) |
| const char * | IMB_colormanagement_look_get_default_name () |
| const char * | IMB_colormanagement_look_validate_for_view (const char *view_name, const char *look_name) |
Color Space Functions | |
| int | IMB_colormanagement_colorspace_get_named_index (const char *name) |
| const char * | IMB_colormanagement_colorspace_get_indexed_name (int index) |
| const char * | IMB_colormanagement_colorspace_get_name (const ColorSpace *colorspace) |
| const char * | IMB_colormanagement_view_get_default_name (const char *display_name) |
| const char * | IMB_colormanagement_view_get_raw_or_default_name (const char *display_name) |
| void | IMB_colormanagement_colorspace_from_ibuf_ftype (ColorManagedColorspaceSettings *colorspace_settings, ImBuf *ibuf) |
RNA Helper Functions | |
| void | IMB_colormanagement_display_items_add (EnumPropertyItem **items, int *totitem) |
| void | IMB_colormanagement_view_items_add (EnumPropertyItem **items, int *totitem, const char *display_name) |
| void | IMB_colormanagement_look_items_add (EnumPropertyItem **items, int *totitem, const char *view_name) |
| void | IMB_colormanagement_colorspace_items_add (EnumPropertyItem **items, int *totitem) |
Tile-based Buffer Management | |
| void | IMB_partial_display_buffer_update (ImBuf *ibuf, const float *linear_buffer, const unsigned char *byte_buffer, int stride, int offset_x, int offset_y, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, int xmin, int ymin, int xmax, int ymax) |
| void | IMB_partial_display_buffer_update_threaded (ImBuf *ibuf, const float *linear_buffer, const unsigned char *byte_buffer, int stride, int offset_x, int offset_y, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, int xmin, int ymin, int xmax, int ymax) |
| void | IMB_partial_display_buffer_update_delayed (ImBuf *ibuf, int xmin, int ymin, int xmax, int ymax) |
Pixel Processor Functions | |
| ColormanageProcessor * | IMB_colormanagement_display_processor_new (const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings) |
| ColormanageProcessor * | IMB_colormanagement_colorspace_processor_new (const char *from_colorspace, const char *to_colorspace) |
| bool | IMB_colormanagement_processor_is_noop (ColormanageProcessor *cm_processor) |
| void | IMB_colormanagement_processor_apply_v4 (ColormanageProcessor *cm_processor, float pixel[4]) |
| void | IMB_colormanagement_processor_apply_v4_predivide (ColormanageProcessor *cm_processor, float pixel[4]) |
| void | IMB_colormanagement_processor_apply_v3 (ColormanageProcessor *cm_processor, float pixel[3]) |
| void | IMB_colormanagement_processor_apply_pixel (ColormanageProcessor *cm_processor, float *pixel, int channels) |
| void | IMB_colormanagement_processor_apply (ColormanageProcessor *cm_processor, float *buffer, int width, int height, int channels, bool predivide) |
| void | IMB_colormanagement_processor_apply_byte (ColormanageProcessor *cm_processor, unsigned char *buffer, int width, int height, int channels) |
| void | IMB_colormanagement_processor_free (ColormanageProcessor *cm_processor) |
OpenGL Drawing Routines Using GLSL for Color Space Transform | |
| bool | IMB_colormanagement_setup_glsl_draw (const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, float dither, bool predivide) |
| bool | IMB_colormanagement_setup_glsl_draw_from_space (const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, const ColorSpace *from_colorspace, float dither, bool predivide, bool do_overlay_merge) |
| bool | IMB_colormanagement_setup_glsl_draw_ctx (const bContext *C, float dither, bool predivide) |
| bool | IMB_colormanagement_setup_glsl_draw_from_space_ctx (const bContext *C, const ColorSpace *from_colorspace, float dither, bool predivide) |
| bool | IMB_colormanagement_setup_glsl_draw_to_scene_linear (const char *from_colorspace_name, bool predivide) |
| void | IMB_colormanagement_finish_glsl_draw () |
Rendering Tables | |
| void | IMB_colormanagement_blackbody_temperature_to_rgb (float r_dest[4], float value) |
| void | IMB_colormanagement_blackbody_temperature_to_rgb_table (float *r_table, int width, float min, float max) |
| void | IMB_colormanagement_wavelength_to_rgb (float r_dest[4], float value) |
| void | IMB_colormanagement_wavelength_to_rgb_table (float *r_table, int width) |
View Transform | |
| enum | { COLOR_ROLE_SCENE_LINEAR = 0 , COLOR_ROLE_COLOR_PICKING , COLOR_ROLE_TEXTURE_PAINTING , COLOR_ROLE_DEFAULT_SEQUENCER , COLOR_ROLE_DEFAULT_BYTE , COLOR_ROLE_DEFAULT_FLOAT , COLOR_ROLE_ACES_INTERCHANGE , COLOR_ROLE_DATA } |
| void | IMB_colormanagement_init_default_view_settings (ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings) |
| #define BCM_CONFIG_FILE "config.ocio" |
Definition at line 15 of file IMB_colormanagement.hh.
Referenced by colormanagement_init().
| using ColorSpace = blender::ocio::ColorSpace |
Definition at line 31 of file IMB_colormanagement.hh.
| anonymous enum |
Definition at line 523 of file IMB_colormanagement.hh.
Definition at line 1098 of file colormanagement.cc.
References ImBuf::flags, IB_alphamode_channel_packed, IB_alphamode_ignore, IB_alphamode_premul, IMB_colormanagement_assign_byte_colorspace(), IMB_colormanagement_assign_float_colorspace(), IMB_colormanagement_get_float_colorspace(), and IMB_colormanagement_get_rect_colorspace().
Referenced by BKE_tracking_stabilize_frame().
| BLI_INLINE void IMB_colormanagement_aces_to_scene_linear | ( | float | scene_linear[3], |
| const float | aces[3] ) |
Definition at line 70 of file colormanagement_inline.h.
References imbuf_aces_to_scene_linear, and mul_v3_m3v3().
Referenced by Color_from_aces_to_scene_linear().
| void IMB_colormanagement_assign_byte_colorspace | ( | ImBuf * | ibuf, |
| const char * | name ) |
Definition at line 1129 of file colormanagement.cc.
References ImBuf::byte_buffer, ImBuf::colormanage_flag, ImBufByteBuffer::colorspace, g_config, IMB_COLORMANAGE_IS_DATA, and blender::ocio::ColorSpace::is_data().
Referenced by add_ibuf_for_tile(), IMB_colormanagegent_copy_settings(), and blender::seq::seq_imbuf_assign_spaces().
| void IMB_colormanagement_assign_float_colorspace | ( | ImBuf * | ibuf, |
| const char * | name ) |
Definition at line 1115 of file colormanagement.cc.
References ImBuf::colormanage_flag, ImBufFloatBuffer::colorspace, ImBuf::float_buffer, g_config, IMB_COLORMANAGE_IS_DATA, and blender::ocio::ColorSpace::is_data().
Referenced by assign_render_pass_ibuf_colorspace(), IMB_colormanagegent_copy_settings(), blender::seq::prepare_effect_imbufs(), RE_render_result_rect_to_ibuf(), blender::seq::render_imbuf_from_sequencer_space(), render_result_new_from_exr(), and blender::seq::seq_imbuf_assign_spaces().
| void IMB_colormanagement_blackbody_temperature_to_rgb | ( | float | r_dest[4], |
| float | value ) |
Definition at line 3722 of file colormanagement.cc.
References blackbody_temperature_to_rec709(), clamp_v3(), copy_v3_v3(), FLT_MAX, and IMB_colormanagement_rec709_to_scene_linear().
Referenced by BKE_light_color(), IMB_colormanagement_blackbody_temperature_to_rgb_table(), and blender::nodes::node_shader_blackbody_cc::sh_node_blackbody_build_multi_function().
| void IMB_colormanagement_blackbody_temperature_to_rgb_table | ( | float * | r_table, |
| int | width, | ||
| float | min, | ||
| float | max ) |
Definition at line 3735 of file colormanagement.cc.
References i, IMB_colormanagement_blackbody_temperature_to_rgb(), max, and min.
Referenced by blender::nodes::node_shader_blackbody_cc::node_shader_gpu_blackbody(), and blender::nodes::node_shader_volume_principled_cc::node_shader_gpu_volume_principled().
| void IMB_colormanagement_check_file_config | ( | Main * | bmain | ) |
Definition at line 996 of file colormanagement.cc.
References colormanage_check_colorspace_settings(), colormanage_check_display_settings(), colormanage_check_view_settings(), blender::seq::for_each_callback(), g_config, global_role_default_sequencer, Main::images, LISTBASE_FOREACH, Main::movieclips, ColorManagedColorspaceSettings::name, Main::scenes, strip_callback(), and STRNCPY().
Referenced by copybuffer_append(), setup_app_data(), WM_lib_reload(), wm_lib_relocate_exec_do(), and wm_link_append_exec().
| void IMB_colormanagement_check_is_data | ( | ImBuf * | ibuf, |
| const char * | name ) |
Definition at line 1086 of file colormanagement.cc.
References ImBuf::colormanage_flag, g_config, IMB_COLORMANAGE_IS_DATA, and blender::ocio::ColorSpace::is_data().
Referenced by add_ibuf_for_tile().
| void IMB_colormanagement_color_picking_to_scene_linear_v3 | ( | float | scene_linear[3], |
| const float | color_picking[3] ) |
Definition at line 2183 of file colormanagement.cc.
References BLI_mutex_lock(), BLI_mutex_unlock(), copy_v3_v3(), g_config, global_color_picking_state, global_role_color_picking, global_role_scene_linear, and processor_lock.
Referenced by ui_perceptual_to_scene_linear_space().
| void IMB_colormanagement_colorspace_from_ibuf_ftype | ( | ColorManagedColorspaceSettings * | colorspace_settings, |
| ImBuf * | ibuf ) |
Definition at line 2793 of file colormanagement.cc.
References ImFileType::default_save_role, g_config, IMB_colormanagement_role_colorspace_name_get(), IMB_file_type_from_ibuf(), blender::ocio::ColorSpace::is_data(), ColorManagedColorspaceSettings::name, ImFileType::save, and STRNCPY().
| const char * IMB_colormanagement_colorspace_get_indexed_name | ( | int | index | ) |
Definition at line 2779 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, and blender::ocio::ColorSpace::name().
| const char * IMB_colormanagement_colorspace_get_name | ( | const ColorSpace * | colorspace | ) |
Definition at line 2788 of file colormanagement.cc.
References blender::StringRefNull::c_str(), and blender::ocio::ColorSpace::name().
Referenced by blender::ed::vse::get_texture_colorspace_name(), image_colorspace_from_imbuf(), and openexr_header_metadata().
| int IMB_colormanagement_colorspace_get_named_index | ( | const char * | name | ) |
Definition at line 2770 of file colormanagement.cc.
References colormanage_colorspace_get_named(), and blender::ocio::ColorSpace::index.
| void IMB_colormanagement_colorspace_items_add | ( | EnumPropertyItem ** | items, |
| int * | totitem ) |
Definition at line 2945 of file colormanagement.cc.
References blender::StringRefNull::c_str(), blender::ocio::ColorSpace::description(), EnumPropertyItem::description, g_config, EnumPropertyItem::icon, EnumPropertyItem::identifier, blender::ocio::ColorSpace::index, blender::ocio::ColorSpace::is_invertible(), blender::ocio::ColorSpace::name(), EnumPropertyItem::name, RNA_enum_item_add(), and EnumPropertyItem::value.
| ColormanageProcessor * IMB_colormanagement_colorspace_processor_new | ( | const char * | from_colorspace, |
| const char * | to_colorspace ) |
Definition at line 3353 of file colormanagement.cc.
References ColormanageProcessor::cpu_processor, g_config, IMB_colormanagement_space_name_is_data(), and ColormanageProcessor::is_data_result.
Referenced by colormanagement_transform_ex(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_cpu(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_single(), IMB_colormanagement_transform_byte_to_float(), IMB_colormanagement_transform_v4(), and blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color().
| void IMB_colormanagement_colorspace_to_scene_linear | ( | float * | buffer, |
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const ColorSpace * | colorspace, | ||
| bool | predivide ) |
Converts a (width)x(height) block of float pixels from given color space to scene linear space. This is much higher performance than converting pixels one by one.
Definition at line 1960 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply(), blender::ocio::CPUProcessor::apply_predivide(), blender::ocio::BIT_DEPTH_F32, blender::ocio::ColorSpace::get_to_scene_linear_cpu_processor(), and printf.
Referenced by IMB_float_from_byte_ex(), blender::seq::pixels_to_scene_linear_byte(), and blender::seq::pixels_to_scene_linear_float().
| void IMB_colormanagement_colorspace_to_scene_linear_v3 | ( | float | pixel[3], |
| const ColorSpace * | colorspace ) |
Convert pixel from specified color space to scene linear space. For performance, use IMB_colormanagement_colorspace_to_scene_linear when converting an array of pixels.
Definition at line 1912 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgb(), blender::ocio::ColorSpace::get_to_scene_linear_cpu_processor(), and printf.
Referenced by BKE_brush_sample_tex_3d(), ED_space_clip_color_sample(), ED_space_image_color_sample(), ED_space_node_color_sample(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), multitex_nodes_intern(), and partial_buffer_update_rect().
| void IMB_colormanagement_colorspace_to_scene_linear_v4 | ( | float | pixel[4], |
| bool | predivide, | ||
| const ColorSpace * | colorspace ) |
Definition at line 1940 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgba(), blender::ocio::CPUProcessor::apply_rgba_predivide(), blender::ocio::ColorSpace::get_to_scene_linear_cpu_processor(), and printf.
Referenced by image_sample_pixel_color_ubyte(), IMB_sampleImageAtLocation(), blender::ed::space_node::sample_apply(), and sequencer_sample_apply().
| const char * IMB_colormanagement_display_get_default_name | ( | ) |
Definition at line 2660 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, and blender::ocio::Display::name().
Referenced by BKE_color_managed_display_settings_init(), IMB_colormanagement_display_get_none_name(), and UI_block_begin().
| const char * IMB_colormanagement_display_get_default_view_transform_name | ( | const ColorManagedDisplay * | display | ) |
Definition at line 2679 of file colormanagement.cc.
References blender::StringRefNull::c_str(), blender::ocio::Display::get_default_view(), and blender::ocio::View::name().
Referenced by BKE_color_managed_view_settings_init_render(), and blender::seq::strip_add_set_view_transform().
| const char * IMB_colormanagement_display_get_indexed_name | ( | int | index | ) |
Definition at line 2651 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, and blender::ocio::Display::name().
Referenced by py_blf_bind_imbuf().
| const ColorManagedDisplay * IMB_colormanagement_display_get_named | ( | const char * | name | ) |
Used by performance-critical pixel processing areas, such as color widgets.
Definition at line 2666 of file colormanagement.cc.
References g_config.
Referenced by BKE_color_managed_view_settings_init_render(), BKE_image_stamp_buf(), brush_painter_imbuf_new(), brush_painter_imbuf_update(), blender::seq::do_text_effect(), eyedropper_color_sample_fl(), blender::ui::greasepencil::eyedropper_grease_pencil_init(), eyedropper_init(), py_blf_bind_imbuf(), blender::seq::strip_add_set_view_transform(), and ui_block_cm_display_get().
| int IMB_colormanagement_display_get_named_index | ( | const char * | name | ) |
Definition at line 2642 of file colormanagement.cc.
References g_config, and blender::ocio::Display::index.
Referenced by colormanage_display_settings_to_cache().
| const char * IMB_colormanagement_display_get_none_name | ( | ) |
Definition at line 2671 of file colormanagement.cc.
References g_config, and IMB_colormanagement_display_get_default_name().
Referenced by BKE_scene_disable_color_management().
| void IMB_colormanagement_display_items_add | ( | EnumPropertyItem ** | items, |
| int * | totitem ) |
Definition at line 2880 of file colormanagement.cc.
References blender::StringRefNull::c_str(), EnumPropertyItem::description, g_config, EnumPropertyItem::icon, EnumPropertyItem::identifier, blender::ocio::Display::index, blender::ocio::Display::name(), EnumPropertyItem::name, RNA_enum_item_add(), and EnumPropertyItem::value.
| ColormanageProcessor * IMB_colormanagement_display_processor_new | ( | const ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 3310 of file colormanagement.cc.
References BKE_curvemapping_copy(), BKE_curvemapping_premultiply(), COLORMANAGE_VIEW_USE_CURVES, COLORMANAGE_VIEW_USE_WHITE_BALANCE, ColormanageProcessor::cpu_processor, ColorManagedViewSettings::curve_mapping, ColormanageProcessor::curve_mapping, ColorManagedDisplaySettings::display_device, ColorManagedViewSettings::exposure, ColorManagedViewSettings::flag, ColorManagedViewSettings::gamma, get_display_buffer_processor(), get_display_colorspace(), global_role_scene_linear, IMB_colormanagement_init_default_view_settings(), blender::ocio::ColorSpace::is_data(), ColormanageProcessor::is_data_result, ColorManagedViewSettings::look, ColorManagedViewSettings::temperature, ColorManagedViewSettings::tint, and ColorManagedViewSettings::view_transform.
Referenced by BKE_histogram_update_sample_line(), BKE_scopes_update(), colormanage_display_buffer_process_ex(), blender::compositor::compute_preview_cpu(), blender::compositor::compute_preview_gpu(), IMB_colormanagement_pixel_to_display_space_v3(), IMB_colormanagement_pixel_to_display_space_v4(), IMB_display_buffer_transform_apply(), IMB_display_buffer_transform_apply_float(), and imb_partial_display_buffer_update_ex().
| void IMB_colormanagement_display_settings_from_ctx | ( | const bContext * | C, |
| ColorManagedViewSettings ** | r_view_settings, | ||
| ColorManagedDisplaySettings ** | r_display_settings ) |
Definition at line 726 of file colormanagement.cc.
References C, CTX_data_scene(), CTX_wm_space_image(), Scene::display_settings, Image::flag, IMA_VIEW_AS_RENDER, SpaceImage::image, and Scene::view_settings.
Referenced by blender::ed::vse::draw_strip_thumbnails(), ED_draw_imbuf_ctx_clipping(), IMB_colormanagement_setup_glsl_draw_from_space_ctx(), and IMB_display_buffer_acquire_ctx().
| void IMB_colormanagement_display_to_scene_linear_v3 | ( | float | pixel[3], |
| const ColorManagedDisplay * | display ) |
Same as IMB_colormanagement_scene_linear_to_display_v3, but converts color in opposite direction.
Definition at line 2221 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgb(), and blender::ocio::Display::get_to_scene_linear_cpu_processor().
Referenced by blf_draw_buffer__start(), buf_rectfill_area(), eyedropper_color_sample_fl(), eyedropper_init(), and paint_brush_color_get().
| void IMB_colormanagement_finish_glsl_draw | ( | ) |
Finish GLSL-based display space conversion.
Definition at line 3644 of file colormanagement.cc.
References g_config, and global_gpu_state.
Referenced by draw_display_buffer(), ED_draw_imbuf_clipping(), gpu_viewport_draw_colormanaged(), and blender::ed::vse::preview_draw_texture_to_linear().
| const char * IMB_colormanagement_get_float_colorspace | ( | ImBuf * | ibuf | ) |
Definition at line 1143 of file colormanagement.cc.
References blender::StringRefNull::c_str(), COLOR_ROLE_SCENE_LINEAR, ImBufFloatBuffer::colorspace, ImBuf::float_buffer, IMB_colormanagement_role_colorspace_name_get(), and blender::ocio::ColorSpace::name().
Referenced by blender::image_engine::FloatBufferCache::cached_float_buffer(), blender::ed::sculpt_paint::paint::image::ImageBufferFloat4::get_colorspace_name(), IMB_colormanagegent_copy_settings(), blender::seq::seq_imbuf_to_sequencer_space(), and blender::ed::object::write_internal_bake_pixels().
| BLI_INLINE float IMB_colormanagement_get_luminance | ( | const float | rgb[3] | ) |
Convert a float RGB triplet to the correct luminance weighted average.
Gray-scale, or Luma is a distillation of RGB data values down to a weighted average based on the luminance positions of the red, green, and blue primaries. Given that the internal reference space may be arbitrarily set, any effort to glean the luminance coefficients must be aware of the reference space primaries.
See http://wiki.blender.org/index.php/User:Nazg-gul/ColorManagement#Luminance
Definition at line 22 of file colormanagement_inline.h.
References dot_v3v3(), and imbuf_luma_coefficients.
Referenced by BKE_histogram_update_sample_line(), blender::bke::color_to_bool(), blender::bke::color_to_float(), blender::bke::color_to_int(), do_projectpaint_soften(), do_projectpaint_soften_f(), blender::color::get_luminance(), blender::nodes::node_fn_compare_cc::get_multi_function(), image_exr_from_rgb_to_bw(), IMB_color_to_bw(), paint_2d_lift_soften(), RE_texture_evaluate(), rgbtobw_valuefn(), scopes_update_cb(), blender::seq::tonemap_calc_chunk_luminance(), blender::seq::tonemap_rd_photoreceptor(), and ui_draw_but_CURVE().
| BLI_INLINE unsigned char IMB_colormanagement_get_luminance_byte | ( | const unsigned char | rgb[3] | ) |
Byte equivalent of IMB_colormanagement_get_luminance().
Definition at line 27 of file colormanagement_inline.h.
References dot_v3v3(), imbuf_luma_coefficients, rgb_uchar_to_float(), and unit_float_to_uchar_clamp().
Referenced by BKE_histogram_update_sample_line(), blender::color::get_luminance(), and IMB_color_to_bw().
| BLI_INLINE void IMB_colormanagement_get_luminance_coefficients | ( | float | r_rgb[3] | ) |
Definition at line 17 of file colormanagement_inline.h.
References copy_v3_v3(), and imbuf_luma_coefficients.
Referenced by blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_average_log_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_average_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_log_maximum_luminance(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::compute_log_minimum_luminance(), blender::nodes::node_composite_levels_cc::LevelsOperation::compute_sum(), blender::nodes::node_composite_levels_cc::LevelsOperation::compute_sum_squared_difference(), blender::compositor::ConversionOperation::execute(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::execute_photoreceptor_cpu(), blender::nodes::node_composite_tonemap_cc::ToneMapOperation::execute_photoreceptor_gpu(), blender::nodes::node_composite_levels_cc::LevelsOperation::execute_single_value(), blender::compositor::get_luminance_coefficients(), blender::nodes::node_shader_rgb_to_bw_cc::gpu_shader_rgbtobw(), blender::imbuf::imb_oiio_write(), blender::ed::vse::make_waveform_view_from_ibuf(), blender::nodes::node_composite_colorcorrection_cc::node_build_multi_function(), blender::nodes::node_composite_luma_matte_cc::node_build_multi_function(), blender::nodes::node_composite_rgb_to_bw_cc::node_build_multi_function(), blender::nodes::node_composite_colorcorrection_cc::node_gpu_material(), blender::nodes::node_composite_luma_matte_cc::node_gpu_material(), and blender::nodes::node_composite_rgb_to_bw_cc::node_gpu_material().
| const char * IMB_colormanagement_get_rect_colorspace | ( | ImBuf * | ibuf | ) |
Definition at line 1152 of file colormanagement.cc.
References ImBuf::byte_buffer, blender::StringRefNull::c_str(), COLOR_ROLE_DEFAULT_BYTE, ImBufByteBuffer::colorspace, IMB_colormanagement_role_colorspace_name_get(), and blender::ocio::ColorSpace::name().
Referenced by blender::ed::sculpt_paint::paint::image::ImageBufferByte4::get_colorspace_name(), IMB_colormanagegent_copy_settings(), blender::seq::seq_imbuf_to_sequencer_space(), seq_process_render_image(), blender::ed::object::write_external_bake_pixels(), and blender::ed::object::write_internal_bake_pixels().
| blender::float3x3 IMB_colormanagement_get_scene_linear_to_xyz | ( | ) |
Definition at line 1229 of file colormanagement.cc.
References imbuf_scene_linear_to_xyz.
Referenced by blender::nodes::node_composite_colorbalance_cc::ColorBalanceWhitePointFunction::call(), blender::nodes::node_composite_colorbalance_cc::get_white_point_matrix(), and blender::nodes::node_composite_colorbalance_cc::node_gpu_material().
| void IMB_colormanagement_get_whitepoint | ( | const float | temperature, |
| const float | tint, | ||
| float | whitepoint[3] ) |
Functions for converting between color temperature/tint and RGB white points.
Definition at line 1240 of file colormanagement.cc.
References IMB_colormanagement_xyz_to_scene_linear(), and blender::math::whitepoint_from_temp_tint().
| blender::float3x3 IMB_colormanagement_get_xyz_to_scene_linear | ( | ) |
Definition at line 1224 of file colormanagement.cc.
References imbuf_xyz_to_scene_linear.
Referenced by blender::nodes::node_composite_colorbalance_cc::ColorBalanceWhitePointFunction::call(), blender::nodes::node_composite_colorbalance_cc::get_white_point_matrix(), get_XYZ_to_RGB_for_gpu(), and blender::nodes::node_composite_colorbalance_cc::node_gpu_material().
| ImBuf * IMB_colormanagement_imbuf_for_write | ( | ImBuf * | ibuf, |
| bool | save_as_render, | ||
| bool | allocate_result, | ||
| const ImageFormatData * | image_format ) |
Prepare image buffer to be saved on disk, applying color management if needed color management would be applied if image is saving as render result and if file format is not expecting float buffer to be in linear space (currently JPEG2000 and TIFF are such formats – they're storing image as float but file itself stores applied color space).
Both byte and float buffers would contain applied color space, and result's float_colorspace would be set to display color space. This should be checked in image format write callback and if float_colorspace is not NULL, no color space transformation should be applied on this buffer.
Definition at line 2305 of file colormanagement.cc.
References BKE_image_format_is_byte(), BKE_imtype_requires_linear_float(), ImBuf::byte_buffer, blender::StringRefNull::c_str(), ImBuf::channels, colormanage_colorspace_get_named(), colormanagement_imbuf_make_display_space(), ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImageFormatData::display_settings, ImBuf::float_buffer, get_display_colorspace(), global_role_default_byte, global_role_scene_linear, IB_DISPLAY_BUFFER_INVALID, IB_RECT_INVALID, IMB_alpha_under_color_byte(), IMB_alpha_under_color_float(), IMB_byte_from_float(), IMB_colormanagement_transform_byte(), IMB_colormanagement_transform_float(), IMB_float_from_byte(), IMB_free_byte_pixels(), imbuf_ensure_editable(), ImageFormatData::imtype, ImageFormatData::linear_colorspace_settings, blender::ocio::ColorSpace::name(), ColorManagedColorspaceSettings::name, ImageFormatData::planes, R_IMF_PLANES_RGBA, STREQ, ImBuf::userflags, ImageFormatData::view_settings, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_render_write(), image_clipboard_copy_exec(), image_save_single(), and RE_WriteRenderViewsMovie().
| void IMB_colormanagement_imbuf_make_display_space | ( | ImBuf * | ibuf, |
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 2274 of file colormanagement.cc.
References colormanagement_imbuf_make_display_space().
Referenced by blender::ed::vse::sequencer_calc_scopes(), and blender::ed::vse::sequencer_make_scope().
| void IMB_colormanagement_imbuf_to_byte_texture | ( | unsigned char * | out_buffer, |
| int | offset_x, | ||
| int | offset_y, | ||
| int | width, | ||
| int | height, | ||
| const ImBuf * | ibuf, | ||
| bool | store_premultiplied ) |
Definition at line 2017 of file colormanagement.cc.
References BLI_assert, ImBuf::byte_buffer, ImBufByteBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_alpha_affects_rgb(), IMB_colormanagement_space_is_data(), IMB_colormanagement_space_is_scene_linear(), IMB_colormanagement_space_is_srgb(), in, out, ImBuf::x, x, and y.
Referenced by gpu_texture_update_from_ibuf(), and imb_gpu_get_data().
| void IMB_colormanagement_imbuf_to_float_texture | ( | float * | out_buffer, |
| int | offset_x, | ||
| int | offset_y, | ||
| int | width, | ||
| int | height, | ||
| const ImBuf * | ibuf, | ||
| bool | store_premultiplied ) |
Definition at line 2063 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgb(), ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::colorspace, copy_v4_v4(), ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, blender::ocio::ColorSpace::get_to_scene_linear_cpu_processor(), IMB_alpha_affects_rgb(), in, mul_v3_fl(), out, blender::threading::parallel_for(), premul_to_straight_v4_v4(), rgba_uchar_to_float(), srgb_to_linearrgb_v3_v3(), ImBuf::x, x, and y.
Referenced by gpu_texture_update_from_ibuf(), and imb_gpu_get_data().
| void IMB_colormanagement_init_default_view_settings | ( | ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 778 of file colormanagement.cc.
References blender::StringRefNull::c_str(), ColorManagedViewSettings::curve_mapping, ColorManagedDisplaySettings::display_device, ColorManagedViewSettings::exposure, ColorManagedViewSettings::flag, g_config, ColorManagedViewSettings::gamma, blender::ocio::Display::get_default_view(), blender::ocio::Display::get_view_by_name(), ColorManagedViewSettings::look, blender::ocio::View::name(), STRNCPY(), ColorManagedViewSettings::temperature, ColorManagedViewSettings::tint, and ColorManagedViewSettings::view_transform.
Referenced by BKE_color_managed_view_settings_init_default(), IMB_colormanagement_display_processor_new(), IMB_colormanagement_setup_glsl_draw_from_space(), IMB_display_buffer_acquire(), and wm_main_playanim_intern().
| const char * IMB_colormanagement_look_get_default_name | ( | ) |
Definition at line 2838 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, and blender::ocio::Look::name().
Referenced by colormanage_check_view_settings(), and IMB_colormanagement_look_validate_for_view().
| const char * IMB_colormanagement_look_get_indexed_name | ( | int | index | ) |
Definition at line 2829 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, and blender::ocio::Look::name().
| int IMB_colormanagement_look_get_named_index | ( | const char * | name | ) |
Definition at line 2820 of file colormanagement.cc.
References g_config, and blender::ocio::Look::index.
Referenced by colormanage_view_settings_to_cache().
| void IMB_colormanagement_look_items_add | ( | EnumPropertyItem ** | items, |
| int * | totitem, | ||
| const char * | view_name ) |
Definition at line 2921 of file colormanagement.cc.
References blender::StringRefNull::c_str(), colormanage_compatible_look(), EnumPropertyItem::description, g_config, has_explicit_look_for_view(), EnumPropertyItem::icon, EnumPropertyItem::identifier, blender::ocio::Look::index, blender::ocio::Look::name(), EnumPropertyItem::name, RNA_enum_item_add(), blender::ocio::Look::ui_name(), and EnumPropertyItem::value.
| const char * IMB_colormanagement_look_validate_for_view | ( | const char * | view_name, |
| const char * | look_name ) |
Definition at line 2847 of file colormanagement.cc.
References blender::StringRefNull::c_str(), colormanage_compatible_look(), g_config, IMB_colormanagement_look_get_default_name(), blender::ocio::Look::name(), and blender::ocio::Look::ui_name().
| void IMB_colormanagement_pixel_to_display_space_v3 | ( | float | result[3], |
| const float | pixel[3], | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 2245 of file colormanagement.cc.
References copy_v3_v3(), IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_apply_v3(), IMB_colormanagement_processor_free(), and result.
| void IMB_colormanagement_pixel_to_display_space_v4 | ( | float | result[4], |
| const float | pixel[4], | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings ) |
Definition at line 2230 of file colormanagement.cc.
References copy_v4_v4(), IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_apply_v4(), IMB_colormanagement_processor_free(), and result.
Referenced by ED_image_draw_info().
| void IMB_colormanagement_processor_apply | ( | ColormanageProcessor * | cm_processor, |
| float * | buffer, | ||
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| bool | predivide ) |
Definition at line 3447 of file colormanagement.cc.
References blender::ocio::BIT_DEPTH_F32, ColormanageProcessor::cpu_processor, ColormanageProcessor::curve_mapping, curve_mapping_apply_pixel(), x, and y.
Referenced by do_display_buffer_apply_thread(), do_processor_transform_thread(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_cpu(), IMB_display_buffer_transform_apply(), and IMB_display_buffer_transform_apply_float().
| void IMB_colormanagement_processor_apply_byte | ( | ColormanageProcessor * | cm_processor, |
| unsigned char * | buffer, | ||
| int | width, | ||
| int | height, | ||
| int | channels ) |
Definition at line 3487 of file colormanagement.cc.
References BLI_assert, IMB_colormanagement_processor_apply_v4(), rgba_float_to_uchar(), rgba_uchar_to_float(), x, and y.
Referenced by do_processor_transform_thread().
| void IMB_colormanagement_processor_apply_pixel | ( | ColormanageProcessor * | cm_processor, |
| float * | pixel, | ||
| int | channels ) |
Definition at line 3426 of file colormanagement.cc.
References BLI_assert_msg, ColormanageProcessor::curve_mapping, curve_mapping_apply_pixel(), IMB_colormanagement_processor_apply_v3(), and IMB_colormanagement_processor_apply_v4_predivide().
Referenced by blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_single(), and partial_buffer_update_rect().
| void IMB_colormanagement_processor_apply_v3 | ( | ColormanageProcessor * | cm_processor, |
| float | pixel[3] ) |
Definition at line 3415 of file colormanagement.cc.
References BKE_curvemapping_evaluate_premulRGBF(), ColormanageProcessor::cpu_processor, and ColormanageProcessor::curve_mapping.
Referenced by BKE_histogram_update_sample_line(), IMB_colormanagement_pixel_to_display_space_v3(), IMB_colormanagement_processor_apply_pixel(), and scopes_update_cb().
| void IMB_colormanagement_processor_apply_v4 | ( | ColormanageProcessor * | cm_processor, |
| float | pixel[4] ) |
Definition at line 3391 of file colormanagement.cc.
References BKE_curvemapping_evaluate_premulRGBF(), ColormanageProcessor::cpu_processor, and ColormanageProcessor::curve_mapping.
Referenced by BKE_histogram_update_sample_line(), IMB_colormanagement_pixel_to_display_space_v4(), IMB_colormanagement_processor_apply_byte(), IMB_colormanagement_transform_v4(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color(), and scopes_update_cb().
| void IMB_colormanagement_processor_apply_v4_predivide | ( | ColormanageProcessor * | cm_processor, |
| float | pixel[4] ) |
Definition at line 3402 of file colormanagement.cc.
References BKE_curvemapping_evaluate_premulRGBF(), ColormanageProcessor::cpu_processor, and ColormanageProcessor::curve_mapping.
Referenced by IMB_colormanagement_processor_apply_pixel().
| void IMB_colormanagement_processor_free | ( | ColormanageProcessor * | cm_processor | ) |
Definition at line 3505 of file colormanagement.cc.
References BKE_curvemapping_free(), and ColormanageProcessor::curve_mapping.
Referenced by BKE_histogram_update_sample_line(), BKE_scopes_update(), colormanage_display_buffer_process_ex(), colormanagement_transform_ex(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_cpu(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::execute_single(), IMB_colormanagement_pixel_to_display_space_v3(), IMB_colormanagement_pixel_to_display_space_v4(), IMB_colormanagement_transform_byte_to_float(), IMB_colormanagement_transform_v4(), IMB_display_buffer_transform_apply(), IMB_display_buffer_transform_apply_float(), imb_partial_display_buffer_update_ex(), and blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color().
| bool IMB_colormanagement_processor_is_noop | ( | ColormanageProcessor * | cm_processor | ) |
Definition at line 3366 of file colormanagement.cc.
References ColormanageProcessor::cpu_processor, and ColormanageProcessor::curve_mapping.
Referenced by colormanagement_transform_ex().
| BLI_INLINE void IMB_colormanagement_rec709_to_scene_linear | ( | float | scene_linear[3], |
| const float | rec709[3] ) |
Definition at line 48 of file colormanagement_inline.h.
References imbuf_rec709_to_scene_linear, and mul_v3_m3v3().
Referenced by Color_from_rec709_linear_to_scene_linear(), and IMB_colormanagement_blackbody_temperature_to_rgb().
| const char * IMB_colormanagement_role_colorspace_name_get | ( | int | role | ) |
Definition at line 1056 of file colormanagement.cc.
References BLI_assert, COLOR_ROLE_ACES_INTERCHANGE, COLOR_ROLE_COLOR_PICKING, COLOR_ROLE_DATA, COLOR_ROLE_DEFAULT_BYTE, COLOR_ROLE_DEFAULT_FLOAT, COLOR_ROLE_DEFAULT_SEQUENCER, COLOR_ROLE_SCENE_LINEAR, COLOR_ROLE_TEXTURE_PAINTING, G, global_role_aces_interchange, global_role_color_picking, global_role_data, global_role_default_byte, global_role_default_float, global_role_default_sequencer, global_role_scene_linear, global_role_texture_painting, and printf.
Referenced by add_ibuf_for_tile(), blender::io::fbx::add_image_texture(), assign_render_pass_ibuf_colorspace(), BKE_image_add_generated(), BKE_image_format_color_management_copy_from_scene(), BKE_image_format_init_for_write(), BKE_image_format_update_color_space_for_type(), BKE_image_save_options_init(), colormanage_colorspace_get_roled(), blender::ed::vse::get_texture_colorspace_name(), image_colorspace_from_imbuf(), image_exr_from_scene_linear_to_output(), image_node_colorspace(), IMB_byte_from_float(), IMB_colormanagement_colorspace_from_ibuf_ftype(), IMB_colormanagement_get_float_colorspace(), IMB_colormanagement_get_rect_colorspace(), imb_exr_set_known_colorspace(), imb_handle_colorspace_and_alpha(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::init_brush_color(), blender::io::usd::USDMaterialReader::load_tex_image(), MOV_open_file(), blender::nodes::node_composite_convert_color_space_cc::node_composit_init_convert_colorspace(), openexr_header_metadata(), RE_render_result_rect_to_ibuf(), blender::seq::render_imbuf_from_sequencer_space(), blender::seq::render_pixel_from_sequencer_space_v4(), render_result_exr_file_cache_read(), render_result_new_from_exr(), scene_init_data(), seq_process_render_image(), blender::seq::strip_add_set_view_transform(), wm_main_playanim_intern(), blender::ed::object::write_external_bake_pixels(), and blender::ed::object::write_internal_bake_pixels().
| BLI_INLINE void IMB_colormanagement_scene_linear_to_aces | ( | float | aces[3], |
| const float | scene_linear[3] ) |
Definition at line 75 of file colormanagement_inline.h.
References imbuf_scene_linear_to_aces, and mul_v3_m3v3().
Referenced by Color_from_scene_linear_to_aces().
| void IMB_colormanagement_scene_linear_to_color_picking_v3 | ( | float | color_picking[3], |
| const float | scene_linear[3] ) |
Conversion between color picking role. Typically we would expect such a requirements:
Definition at line 2154 of file colormanagement.cc.
References BLI_mutex_lock(), BLI_mutex_unlock(), copy_v3_v3(), g_config, global_color_picking_state, global_role_color_picking, global_role_scene_linear, and processor_lock.
Referenced by ui_scene_linear_to_perceptual_space().
| void IMB_colormanagement_scene_linear_to_colorspace | ( | float * | buffer, |
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const ColorSpace * | colorspace ) |
Converts a (width)x(height) block of float pixels from scene linear space to given color space. This is much higher performance than converting pixels one by one.
Definition at line 1992 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply(), blender::ocio::BIT_DEPTH_F32, blender::ocio::ColorSpace::get_from_scene_linear_cpu_processor(), and printf.
Referenced by blender::seq::scene_linear_to_image_chunk_byte(), and blender::seq::scene_linear_to_image_chunk_float().
| void IMB_colormanagement_scene_linear_to_colorspace_v3 | ( | float | pixel[3], |
| const ColorSpace * | colorspace ) |
Convert pixel from scene linear space to specified color space. For performance, use IMB_colormanagement_scene_linear_to_colorspace when converting an array of pixels.
Definition at line 1926 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgb(), blender::ocio::ColorSpace::get_from_scene_linear_cpu_processor(), and printf.
| void IMB_colormanagement_scene_linear_to_display_v3 | ( | float | pixel[3], |
| const ColorManagedDisplay * | display ) |
Convert pixel from scene linear to display space using default view used by performance-critical areas such as color-related widgets where we want to reduce amount of per-widget allocations.
Definition at line 2212 of file colormanagement.cc.
References blender::ocio::CPUProcessor::apply_rgb(), and blender::ocio::Display::get_from_scene_linear_cpu_processor().
Referenced by brush_painter_imbuf_new(), brush_painter_imbuf_update(), eyedropper_color_set(), blender::ui::greasepencil::eyedropper_grease_pencil_color_set(), ui_block_cm_to_display_space_v3(), ui_draw_but_COLORBAND(), and ui_draw_colorband_handle().
| BLI_INLINE void IMB_colormanagement_scene_linear_to_rec709 | ( | float | rec709[3], |
| const float | scene_linear[3] ) |
Definition at line 53 of file colormanagement_inline.h.
References imbuf_scene_linear_to_rec709, and mul_v3_m3v3().
Referenced by Color_from_scene_linear_to_rec709_linear().
| BLI_INLINE void IMB_colormanagement_scene_linear_to_srgb_v3 | ( | float | srgb[3], |
| const float | scene_linear[3] ) |
Conversion between sRGB, for rare cases like hex color or copy/pasting between UI theme and scene linear colors.
Definition at line 58 of file colormanagement_inline.h.
References imbuf_scene_linear_to_rec709, linearrgb_to_srgb_v3_v3(), and mul_v3_m3v3().
Referenced by Color_from_scene_linear_to_srgb(), drop_color_invoke(), paint_brush_color_get(), blender::ed::sculpt_paint::sample_color_invoke(), ui_block_colorpicker(), ui_do_but_COLOR(), and ui_update_color_picker_buts_rgba().
| BLI_INLINE void IMB_colormanagement_scene_linear_to_xyz | ( | float | xyz[3], |
| const float | scene_linear[3] ) |
Definition at line 43 of file colormanagement_inline.h.
References imbuf_scene_linear_to_xyz, and mul_v3_m3v3().
Referenced by Color_from_scene_linear_to_xyz_d65(), and IMB_colormanagement_set_whitepoint().
| bool IMB_colormanagement_set_whitepoint | ( | const float | whitepoint[3], |
| float & | temperature, | ||
| float & | tint ) |
Definition at line 1248 of file colormanagement.cc.
References IMB_colormanagement_scene_linear_to_xyz(), and blender::math::whitepoint_to_temp_tint().
| bool IMB_colormanagement_setup_glsl_draw | ( | const ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings, | ||
| float | dither, | ||
| bool | predivide ) |
Configures GLSL shader for conversion from scene linear to display space.
Definition at line 3608 of file colormanagement.cc.
References IMB_colormanagement_setup_glsl_draw_from_space().
Referenced by ED_draw_imbuf_clipping(), and ocio_transform_ibuf().
| bool IMB_colormanagement_setup_glsl_draw_ctx | ( | const bContext * | C, |
| float | dither, | ||
| bool | predivide ) |
Same as setup_glsl_draw, but color management settings are guessing from a given context.
Definition at line 3631 of file colormanagement.cc.
References C, and IMB_colormanagement_setup_glsl_draw_from_space_ctx().
| bool IMB_colormanagement_setup_glsl_draw_from_space | ( | const ColorManagedViewSettings * | view_settings, |
| const ColorManagedDisplaySettings * | display_settings, | ||
| const ColorSpace * | from_colorspace, | ||
| float | dither, | ||
| bool | predivide, | ||
| bool | do_overlay_merge ) |
Configures GLSL shader for conversion from specified to display color space
Will create appropriate OCIO processor and setup GLSL shader, so further 2D texture usage will use this conversion.
When there's no need to apply transform on 2D textures, use IMB_colormanagement_finish_glsl_draw().
This is low-level function, use ED_draw_imbuf_ctx if you only need to display given image buffer
Definition at line 3551 of file colormanagement.cc.
References blender::StringRefNull::c_str(), colormanage_use_look(), COLORMANAGE_VIEW_USE_HDR, COLORMANAGE_VIEW_USE_WHITE_BALANCE, blender::ocio::GPUDisplayParameters::curve_mapping, blender::ocio::GPUDisplayParameters::display, ColorManagedDisplaySettings::display_device, blender::ocio::GPUDisplayParameters::dither, blender::ocio::GPUDisplayParameters::do_overlay_merge, blender::ocio::GPUDisplayParameters::exponent, ColorManagedViewSettings::exposure, ColorManagedViewSettings::flag, blender::ocio::GPUDisplayParameters::from_colorspace, g_config, ColorManagedViewSettings::gamma, global_gpu_state, global_role_scene_linear, GPU_hdr_support(), IMB_colormanagement_init_default_view_settings(), blender::ocio::GPUDisplayParameters::look, ColorManagedViewSettings::look, max_ff(), blender::ocio::ColorSpace::name(), powf, blender::ocio::GPUDisplayParameters::scale, blender::ocio::GPUDisplayParameters::temperature, ColorManagedViewSettings::temperature, blender::ocio::GPUDisplayParameters::tint, ColorManagedViewSettings::tint, update_glsl_curve_mapping(), blender::ocio::GPUDisplayParameters::use_hdr, blender::ocio::GPUDisplayParameters::use_predivide, blender::ocio::GPUDisplayParameters::use_white_balance, blender::ocio::GPUDisplayParameters::view, and ColorManagedViewSettings::view_transform.
Referenced by ED_draw_imbuf_clipping(), gpu_viewport_draw_colormanaged(), IMB_colormanagement_setup_glsl_draw(), IMB_colormanagement_setup_glsl_draw_from_space_ctx(), and ocio_transform_ibuf().
| bool IMB_colormanagement_setup_glsl_draw_from_space_ctx | ( | const bContext * | C, |
| const ColorSpace * | from_colorspace, | ||
| float | dither, | ||
| bool | predivide ) |
Same as setup_glsl_draw_from_space, but color management settings are guessing from a given context.
Definition at line 3617 of file colormanagement.cc.
References C, IMB_colormanagement_display_settings_from_ctx(), and IMB_colormanagement_setup_glsl_draw_from_space().
Referenced by IMB_colormanagement_setup_glsl_draw_ctx().
| bool IMB_colormanagement_setup_glsl_draw_to_scene_linear | ( | const char * | from_colorspace_name, |
| bool | predivide ) |
Configures GPU shader for conversion from the given space to scene linear. Drawing happens in the same immediate mode as when GPU_SHADER_3D_IMAGE_COLOR shader is used.
Returns true if the GPU shader was successfully bound.
Definition at line 3636 of file colormanagement.cc.
References g_config, and global_gpu_state.
Referenced by blender::ed::vse::preview_draw_texture_to_linear().
| const char * IMB_colormanagement_space_from_filepath_rules | ( | const char * | filepath | ) |
Definition at line 1161 of file colormanagement.cc.
References g_config.
Referenced by imb_handle_colorspace_and_alpha().
| const ColorSpace * IMB_colormanagement_space_get_named | ( | const char * | name | ) |
Definition at line 1166 of file colormanagement.cc.
References g_config.
| bool IMB_colormanagement_space_is_data | ( | const ColorSpace * | colorspace | ) |
Definition at line 1171 of file colormanagement.cc.
References blender::ocio::ColorSpace::is_data().
Referenced by blender::compositor::compute_linear_buffer(), gpu_texture_update_from_ibuf(), IMB_colormanagement_imbuf_to_byte_texture(), IMB_gpu_get_compressed_format(), imb_gpu_get_data(), imb_gpu_get_format(), and imb_is_grayscale_texture_format_compatible().
| bool IMB_colormanagement_space_is_scene_linear | ( | const ColorSpace * | colorspace | ) |
Definition at line 1176 of file colormanagement.cc.
References blender::ocio::ColorSpace::is_scene_linear().
Referenced by blender::compositor::compute_linear_buffer(), gpu_texture_update_from_ibuf(), IMB_colormanagement_imbuf_to_byte_texture(), IMB_colormanagement_space_name_is_scene_linear(), IMB_gpu_get_compressed_format(), imb_gpu_get_data(), imb_gpu_get_format(), and imb_is_grayscale_texture_format_compatible().
| bool IMB_colormanagement_space_is_srgb | ( | const ColorSpace * | colorspace | ) |
Definition at line 1181 of file colormanagement.cc.
References blender::ocio::ColorSpace::is_srgb().
Referenced by gpu_texture_update_from_ibuf(), IMB_colormanagement_imbuf_to_byte_texture(), IMB_colormanagement_space_name_is_srgb(), imb_gpu_get_data(), imb_gpu_get_format(), and imb_is_grayscale_texture_format_compatible().
| bool IMB_colormanagement_space_name_is_data | ( | const char * | name | ) |
Definition at line 1186 of file colormanagement.cc.
References g_config, and blender::ocio::ColorSpace::is_data().
Referenced by add_ibuf_for_tile(), BKE_image_format_update_color_space_for_type(), BKE_image_save_options_init(), blender::image_engine::FloatBufferCache::cached_float_buffer(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::call(), blender::io::usd::get_node_tex_image_color_space(), IMB_colormanagement_colorspace_processor_new(), imb_handle_colorspace_and_alpha(), blender::nodes::node_composite_convert_color_space_cc::ConvertColorSpaceOperation::is_identity(), blender::ed::space_node::node_buts_image_user(), blender::nodes::node_shader_tex_environment_cc::node_shader_gpu_tex_environment(), blender::nodes::node_shader_tex_image_cc::node_shader_gpu_tex_image(), and uiTemplateImage().
| bool IMB_colormanagement_space_name_is_scene_linear | ( | const char * | name | ) |
Definition at line 1192 of file colormanagement.cc.
References g_config, and IMB_colormanagement_space_is_scene_linear().
Referenced by BKE_image_format_update_color_space_for_type(), blender::image_engine::FloatBufferCache::cached_float_buffer(), and image_exr_from_scene_linear_to_output().
| bool IMB_colormanagement_space_name_is_srgb | ( | const char * | name | ) |
Definition at line 1198 of file colormanagement.cc.
References g_config, and IMB_colormanagement_space_is_srgb().
Referenced by blender::io::usd::get_node_tex_image_color_space().
| const char * IMB_colormanagement_srgb_colorspace_name_get | ( | ) |
Definition at line 1204 of file colormanagement.cc.
References blender::StringRefNull::c_str(), g_config, global_role_default_byte, i, and blender::ocio::ColorSpace::name().
Referenced by blender::io::usd::USDMaterialReader::load_tex_image().
| BLI_INLINE void IMB_colormanagement_srgb_to_scene_linear_v3 | ( | float | scene_linear[3], |
| const float | srgb[3] ) |
Definition at line 64 of file colormanagement_inline.h.
References imbuf_rec709_to_scene_linear, mul_m3_v3(), and srgb_to_linearrgb_v3_v3().
Referenced by blender::ed::sculpt_paint::expand::cache_initial_config_set(), Color_from_srgb_to_scene_linear(), blender::ed::sculpt_paint::color::do_paint_brush_task(), drop_color_invoke(), eyedropper_color_sample_fl(), blender::ed::space_node::node_add_color_exec(), blender::ed::sculpt_paint::color::sculpt_color_filter_apply(), ui_colorpicker_hex_rna_cb(), ui_do_but_COLOR(), and vpaint_get_current_col().
| void IMB_colormanagement_transform_byte | ( | unsigned char * | buffer, |
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const char * | from_colorspace, | ||
| const char * | to_colorspace ) |
Convert a byte image buffer from one color space to another.
Definition at line 1836 of file colormanagement.cc.
References colormanagement_transform_ex().
Referenced by IMB_colormanagement_imbuf_for_write().
| void IMB_colormanagement_transform_byte_to_float | ( | float * | float_buffer, |
| unsigned char * | byte_buffer, | ||
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const char * | from_colorspace, | ||
| const char * | to_colorspace ) |
Convert a byte image buffer into a float buffer, changing the color spaces too.
Definition at line 1847 of file colormanagement.cc.
References IndexRange::first(), i, IMB_colormanagement_colorspace_processor_new(), IMB_colormanagement_processor_free(), blender::threading::parallel_for(), processor_transform_apply_threaded(), and STREQ.
Referenced by blender::seq::do_glow_effect_byte(), blender::seq::seq_imbuf_to_sequencer_space(), and seq_process_render_image().
| void IMB_colormanagement_transform_float | ( | float * | buffer, |
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const char * | from_colorspace, | ||
| const char * | to_colorspace, | ||
| bool | predivide ) |
Convert a float image buffer from one color space to another.
Definition at line 1824 of file colormanagement.cc.
References colormanagement_transform_ex().
Referenced by colormanage_imbuf_make_linear(), display_buffer_apply_get_linear_buffer(), image_exr_from_scene_linear_to_output(), IMB_byte_from_float(), IMB_colormanagement_imbuf_for_write(), blender::seq::render_imbuf_from_sequencer_space(), render_result_new_from_exr(), blender::seq::seq_imbuf_to_sequencer_space(), blender::ed::object::write_external_bake_pixels(), and blender::ed::object::write_internal_bake_pixels().
| void IMB_colormanagement_transform_v4 | ( | float | pixel[4], |
| const char * | from_colorspace, | ||
| const char * | to_colorspace ) |
Definition at line 1888 of file colormanagement.cc.
References IMB_colormanagement_colorspace_processor_new(), IMB_colormanagement_processor_apply_v4(), IMB_colormanagement_processor_free(), and STREQ.
Referenced by blender::seq::render_pixel_from_sequencer_space_v4().
| void IMB_colormanagement_validate_settings | ( | const ColorManagedDisplaySettings * | display_settings, |
| ColorManagedViewSettings * | view_settings ) |
Definition at line 1036 of file colormanagement.cc.
References blender::StringRefNull::c_str(), ColorManagedDisplaySettings::display_device, g_config, blender::ocio::Display::get_default_view(), blender::ocio::Display::get_num_views(), blender::ocio::Display::get_view_by_index(), blender::ocio::View::name(), STRNCPY(), view, and ColorManagedViewSettings::view_transform.
Referenced by BKE_color_managed_view_settings_init_render().
| const char * IMB_colormanagement_view_get_default_name | ( | const char * | display_name | ) |
Definition at line 2713 of file colormanagement.cc.
References g_config, blender::ocio::Display::get_default_view(), and view.
| int IMB_colormanagement_view_get_id_by_name | ( | const char * | name | ) |
Definition at line 2695 of file colormanagement.cc.
References g_all_view_names.
Referenced by colormanage_view_settings_to_cache(), and IMB_colormanagement_view_items_add().
| const char * IMB_colormanagement_view_get_name_by_id | ( | int | index | ) |
Definition at line 2700 of file colormanagement.cc.
References BLI_assert, and g_all_view_names.
| const char * IMB_colormanagement_view_get_raw_or_default_name | ( | const char * | display_name | ) |
Definition at line 2728 of file colormanagement.cc.
References g_config, blender::ocio::Display::get_default_view(), blender::ocio::Display::get_view_by_name(), and view.
Referenced by BKE_scene_disable_color_management().
| void IMB_colormanagement_view_items_add | ( | EnumPropertyItem ** | items, |
| int * | totitem, | ||
| const char * | display_name ) |
Definition at line 2897 of file colormanagement.cc.
References EnumPropertyItem::description, g_config, blender::ocio::Display::get_num_views(), blender::ocio::Display::get_view_by_index(), EnumPropertyItem::icon, EnumPropertyItem::identifier, IMB_colormanagement_view_get_id_by_name(), EnumPropertyItem::name, RNA_enum_item_add(), EnumPropertyItem::value, and view.
| void IMB_colormanagement_wavelength_to_rgb | ( | float | r_dest[4], |
| float | value ) |
Definition at line 3806 of file colormanagement.cc.
References clamp_v3(), copy_v3_v3(), FLT_MAX, IMB_colormanagement_xyz_to_scene_linear(), and wavelength_to_xyz().
Referenced by IMB_colormanagement_wavelength_to_rgb_table().
| void IMB_colormanagement_wavelength_to_rgb_table | ( | float * | r_table, |
| int | width ) |
Definition at line 3819 of file colormanagement.cc.
References i, and IMB_colormanagement_wavelength_to_rgb().
Referenced by blender::nodes::node_shader_wavelength_cc::node_shader_gpu_wavelength().
| BLI_INLINE void IMB_colormanagement_xyz_to_scene_linear | ( | float | scene_linear[3], |
| const float | xyz[3] ) |
Conversion between scene linear and other color spaces.
Definition at line 38 of file colormanagement_inline.h.
References imbuf_xyz_to_scene_linear, and mul_v3_m3v3().
Referenced by Color_from_xyz_d65_to_scene_linear(), IMB_colormanagement_get_whitepoint(), and IMB_colormanagement_wavelength_to_rgb().
| unsigned char * IMB_display_buffer_acquire | ( | ImBuf * | ibuf, |
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| void ** | cache_handle ) |
Acquire display buffer for given image buffer using specified view and display settings.
Definition at line 2458 of file colormanagement.cc.
References BLI_rcti_init(), BLI_thread_lock(), BLI_thread_unlock(), ImBuf::byte_buffer, ImBuf::channels, colormanage_cache_get(), colormanage_cache_put(), colormanage_display_buffer_process(), colormanage_display_settings_to_cache(), colormanage_view_settings_to_cache(), ImBufByteBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, DISPLAY_BUFFER_CHANNELS, ImBuf::display_buffer_flags, ImBuf::float_buffer, g_config, IB_DISPLAY_BUFFER_INVALID, IMB_colormanagement_init_default_view_settings(), IMB_partial_display_buffer_update_threaded(), ImBuf::invalid_rect, is_colorspace_same_as_display(), LOCK_COLORMANAGE, MEM_calloc_arrayN(), MEM_malloc_arrayN(), ImBuf::userflags, ImBuf::x, rcti::xmax, rcti::xmin, ImBuf::y, rcti::ymax, and rcti::ymin.
Referenced by BKE_scopes_update(), draw_plane_marker_image(), blender::ed::vse::draw_strip_thumbnails(), ED_draw_imbuf_clipping(), IMB_display_buffer_acquire_ctx(), and ocio_transform_ibuf().
| unsigned char * IMB_display_buffer_acquire_ctx | ( | const bContext * | C, |
| ImBuf * | ibuf, | ||
| void ** | cache_handle ) |
Same as IMB_display_buffer_acquire but gets view and display settings from context.
Definition at line 2554 of file colormanagement.cc.
References C, IMB_colormanagement_display_settings_from_ctx(), and IMB_display_buffer_acquire().
| void IMB_display_buffer_release | ( | void * | cache_handle | ) |
Definition at line 2625 of file colormanagement.cc.
References BLI_thread_lock(), BLI_thread_unlock(), colormanage_cache_handle_release(), and LOCK_COLORMANAGE.
Referenced by BKE_scopes_update(), draw_display_buffer(), draw_plane_marker_image(), blender::ed::vse::draw_strip_thumbnails(), ED_draw_imbuf_clipping(), and imb_partial_display_buffer_update_ex().
| void IMB_display_buffer_transform_apply | ( | unsigned char * | display_buffer, |
| float * | linear_buffer, | ||
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| bool | predivide ) |
Definition at line 2564 of file colormanagement.cc.
References IB_PROFILE_SRGB, IMB_buffer_byte_from_float(), IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_apply(), IMB_colormanagement_processor_free(), MEM_freeN(), and MEM_malloc_arrayN().
Referenced by render_result_rect_get_pixels().
| void IMB_display_buffer_transform_apply_float | ( | float * | float_display_buffer, |
| float * | linear_buffer, | ||
| int | width, | ||
| int | height, | ||
| int | channels, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| bool | predivide ) |
Definition at line 2600 of file colormanagement.cc.
References IMB_colormanagement_display_processor_new(), IMB_colormanagement_processor_apply(), IMB_colormanagement_processor_free(), MEM_freeN(), and MEM_malloc_arrayN().
| void IMB_partial_display_buffer_update | ( | ImBuf * | ibuf, |
| const float * | linear_buffer, | ||
| const unsigned char * | byte_buffer, | ||
| int | stride, | ||
| int | offset_x, | ||
| int | offset_y, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| int | xmin, | ||
| int | ymin, | ||
| int | xmax, | ||
| int | ymax ) |
Definition at line 3232 of file colormanagement.cc.
References imb_partial_display_buffer_update_ex().
Referenced by image_buffer_rect_update().
| void IMB_partial_display_buffer_update_delayed | ( | ImBuf * | ibuf, |
| int | xmin, | ||
| int | ymin, | ||
| int | xmax, | ||
| int | ymax ) |
Definition at line 3292 of file colormanagement.cc.
References BLI_rcti_init(), BLI_rcti_union(), ImBuf::invalid_rect, rcti::xmax, and rcti::xmin.
Referenced by imapaint_image_update().
| void IMB_partial_display_buffer_update_threaded | ( | ImBuf * | ibuf, |
| const float * | linear_buffer, | ||
| const unsigned char * | byte_buffer, | ||
| int | stride, | ||
| int | offset_x, | ||
| int | offset_y, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| int | xmin, | ||
| int | ymin, | ||
| int | xmax, | ||
| int | ymax ) |
Definition at line 3260 of file colormanagement.cc.
References imb_partial_display_buffer_update_ex().
Referenced by IMB_display_buffer_acquire().