|
Blender V4.5
|
#include <algorithm>#include <cctype>#include <cmath>#include <cstdio>#include <cstring>#include <ctime>#include <fcntl.h>#include <optional>#include <unistd.h>#include <regex>#include <string>#include "BLI_array.hh"#include "BLI_fileops.h"#include "BLI_listbase.h"#include "BLI_path_utils.hh"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_string_utils.hh"#include "CLG_log.h"#include "MEM_guardedalloc.h"#include "IMB_colormanagement.hh"#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "IMB_metadata.hh"#include "IMB_moviecache.hh"#include "IMB_openexr.hh"#include "MOV_read.hh"#include "DNA_brush_types.h"#include "DNA_camera_types.h"#include "DNA_defaults.h"#include "DNA_image_types.h"#include "DNA_light_types.h"#include "DNA_material_types.h"#include "DNA_object_types.h"#include "DNA_packedFile_types.h"#include "DNA_scene_types.h"#include "DNA_sequence_types.h"#include "DNA_userdef_types.h"#include "DNA_world_types.h"#include "BLI_math_vector.h"#include "BLI_mempool.h"#include "BLI_string_utf8.h"#include "BLI_system.h"#include "BLI_task.h"#include "BLI_threads.h"#include "BLI_time.h"#include "BLI_timecode.h"#include "BLI_utildefines.h"#include "BLT_translation.hh"#include "BKE_bpath.hh"#include "BKE_colortools.hh"#include "BKE_global.hh"#include "BKE_icons.h"#include "BKE_idtype.hh"#include "BKE_image.hh"#include "BKE_image_format.hh"#include "BKE_lib_id.hh"#include "BKE_library.hh"#include "BKE_main.hh"#include "BKE_node.hh"#include "BKE_node_legacy_types.hh"#include "BKE_node_runtime.hh"#include "BKE_node_tree_update.hh"#include "BKE_packedFile.hh"#include "BKE_preview_image.hh"#include "BKE_report.hh"#include "BKE_scene.hh"#include "BKE_workspace.hh"#include "BLF_api.hh"#include "RE_pipeline.h"#include "SEQ_utils.hh"#include "GPU_material.hh"#include "GPU_texture.hh"#include "BLI_sys_types.h"#include "DEG_depsgraph.hh"#include "DEG_depsgraph_query.hh"#include "DRW_engine.hh"#include "BLO_read_write.hh"#include "DNA_node_types.h"#include "DNA_screen_types.h"#include "DNA_space_types.h"Go to the source code of this file.
Classes | |
| struct | ImageCacheKey |
| struct | ImageFillData |
| struct | StampDataCustomField |
| struct | StampData |
| struct | ImagePoolItem |
| struct | ImagePool |
Macros | |
| #define | DNA_DEPRECATED_ALLOW |
| #define | TEXT_SIZE_CHECK(str, w, h) |
| #define | TEXT_SIZE_CHECK_WORD_WRAP(str, w, h) |
| #define | BUFF_MARGIN_X 2 |
| #define | BUFF_MARGIN_Y 1 |
| #define | CALL(member, value_str) |
Functions | |
Allocate & Free, Data Managing | |
| static void | image_init (Image *ima, short source, short type) |
| static void | image_free_packedfiles (Image *ima) |
| static void | copy_image_packedfiles (ListBase *lb_dst, const ListBase *lb_src) |
| static void | image_free_cached_frames (Image *image) |
| void | BKE_image_free_packedfiles (Image *ima) |
| void | BKE_image_free_views (Image *image) |
| static void | image_free_anims (Image *ima) |
| void | BKE_image_free_buffers_ex (Image *ima, bool do_lock) |
| void | BKE_image_free_buffers (Image *ima) |
| void | BKE_image_free_data (Image *ima) |
| static ImageTile * | imagetile_alloc (int tile_number) |
| static Image * | image_alloc (Main *bmain, std::optional< Library * > owner_library, const char *name, short source, short type) |
| static ImBuf * | image_get_cached_ibuf_for_index_entry (Image *ima, int index, int entry, bool *r_is_cached_empty) |
| static void | image_assign_ibuf (Image *ima, ImBuf *ibuf, int index, int entry) |
| static void | image_remove_ibuf (Image *ima, int index, int entry) |
| void | BKE_image_merge (Main *bmain, Image *dest, Image *source) |
| bool | BKE_image_scale (Image *image, int width, int height, ImageUser *iuser) |
| bool | BKE_image_has_opengl_texture (Image *ima) |
| static int | image_get_tile_number_from_iuser (const Image *ima, const ImageUser *iuser) |
| ImageTile * | BKE_image_get_tile (Image *ima, int tile_number) |
| ImageTile * | BKE_image_get_tile_from_iuser (Image *ima, const ImageUser *iuser) |
| int | BKE_image_get_tile_from_pos (Image *ima, const float uv[2], float r_uv[2], float r_ofs[2]) |
| void | BKE_image_get_tile_uv (const Image *ima, const int tile_number, float r_uv[2]) |
| static float | distance_to_unit_interval (float x) |
| static float | distance_squared_to_udim (const float co[2], const float udim[2]) |
| static bool | nearest_udim_tile_tie_break (const float best_dist_sq, const float best_uv[2], const float dist_sq, const float uv[2]) |
| int | BKE_image_find_nearest_tile_with_offset (const Image *image, const float co[2], float r_uv_offset[2]) |
| int | BKE_image_find_nearest_tile (const Image *image, const float co[2]) |
| static void | image_init_color_management (Image *ima) |
| char | BKE_image_alpha_mode_from_extension_ex (const char *filepath) |
| void | BKE_image_alpha_mode_from_extension (Image *image) |
| static void | image_abs_path (Main *bmain, Library *owner_library, const char *filepath, char *r_filepath_abs) |
| Image * | BKE_image_load (Main *bmain, const char *filepath) |
| Image * | BKE_image_load_in_lib (Main *bmain, std::optional< Library * > owner_library, const char *filepath) |
| Image * | BKE_image_load_exists (Main *bmain, const char *filepath, bool *r_exists) |
| Image * | BKE_image_load_exists_in_lib (Main *bmain, std::optional< Library * > owner_library, const char *filepath, bool *r_exists) |
| static void | image_buf_fill_isolated (void *usersata_v) |
| static ImBuf * | add_ibuf_for_tile (Image *ima, ImageTile *tile) |
| Image * | BKE_image_add_generated (Main *bmain, uint width, uint height, const char *name, int depth, int floatbuf, short gen_type, const float color[4], const bool stereo3d, const bool is_data, const bool tiled) |
| static void | image_colorspace_from_imbuf (Image *image, const ImBuf *ibuf) |
| Image * | BKE_image_add_from_imbuf (Main *bmain, ImBuf *ibuf, const char *name) |
| void | BKE_image_replace_imbuf (Image *image, ImBuf *ibuf) |
| static bool | image_memorypack_imbuf (Image *ima, ImBuf *ibuf, int view, int tile_number, const char *filepath) |
| bool | BKE_image_memorypack (Image *ima) |
| void | BKE_image_packfiles (ReportList *reports, Image *ima, const char *basepath) |
| void | BKE_image_packfiles_from_mem (ReportList *reports, Image *ima, char *data, const size_t data_len) |
| void | BKE_image_tag_time (Image *ima) |
| static uintptr_t | image_mem_size (Image *image) |
| void | BKE_image_print_memlist (Main *bmain) |
| static bool | imagecache_check_dirty (ImBuf *ibuf, void *, void *) |
| void | BKE_image_free_all_textures (Main *bmain) |
| static bool | imagecache_check_free_anim (ImBuf *ibuf, void *, void *userdata) |
| void | BKE_image_free_anim_ibufs (Image *ima, int except_frame) |
| void | BKE_image_all_free_anim_ibufs (Main *bmain, int cfra) |
Image Cache | |
| static uint | imagecache_hashhash (const void *key_v) |
| static bool | imagecache_hashcmp (const void *a_v, const void *b_v) |
| static void | imagecache_keydata (void *userkey, int *framenr, int *proxy, int *render_flags) |
| static void | imagecache_put (Image *image, int index, ImBuf *ibuf) |
| static void | imagecache_remove (Image *image, int index) |
| static ImBuf * | imagecache_get (Image *image, int index, bool *r_is_cached_empty) |
New Image API | |
| Image * | BKE_image_ensure_viewer (Main *bmain, int type, const char *name) |
| static void | image_viewer_create_views (const RenderData *rd, Image *ima) |
| static bool | image_views_match_render_views (const Image *image, const RenderData *render_data) |
| void | BKE_image_ensure_viewer_views (const RenderData *rd, Image *ima, ImageUser *iuser) |
| static void | image_walk_ntree_all_users (bNodeTree *ntree, ID *id, void *customdata, void callback(Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata)) |
| static void | image_walk_gpu_materials (ID *id, ListBase *gpu_materials, void *customdata, void callback(Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata)) |
| static void | image_walk_id_all_users (ID *id, bool skip_nested_nodes, void *customdata, void callback(Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata)) |
| void | BKE_image_walk_all_users (const Main *mainp, void *customdata, void callback(Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata)) |
| static void | image_tag_frame_recalc (Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata) |
| static void | image_tag_reload (Image *ima, ID *iuser_id, ImageUser *iuser, void *customdata) |
| void | BKE_imageuser_default (ImageUser *iuser) |
| void | BKE_image_init_imageuser (Image *ima, ImageUser *iuser) |
| static void | image_free_tile (Image *ima, ImageTile *tile) |
| static bool | image_remove_tile (Image *ima, ImageTile *tile) |
| static void | image_remove_all_tiles (Image *ima) |
| void | BKE_image_signal (Main *bmain, Image *ima, ImageUser *iuser, int signal) |
| static RenderPass * | image_render_pass_get (RenderLayer *rl, const int pass, const int view, int *r_passindex) |
| int | BKE_image_get_tile_label (const Image *ima, const ImageTile *tile, char *label, const int label_maxncpy) |
| bool | BKE_image_get_tile_info (char *filepath, ListBase *tiles, int *r_tile_start, int *r_tile_range) |
| ImageTile * | BKE_image_add_tile (Image *ima, int tile_number, const char *label) |
| bool | BKE_image_remove_tile (Image *ima, ImageTile *tile) |
| void | BKE_image_reassign_tile (Image *ima, ImageTile *tile, int new_tile_number) |
| static int | tile_sort_cb (const void *a, const void *b) |
| void | BKE_image_sort_tiles (Image *ima) |
| bool | BKE_image_fill_tile (Image *ima, ImageTile *tile) |
| bool | BKE_image_is_filename_tokenized (char *filepath) |
| void | BKE_image_ensure_tile_token_filename_only (char *filename, size_t filename_maxncpy) |
| void | BKE_image_ensure_tile_token (char *filepath, size_t filepath_maxncpy) |
| bool | BKE_image_tile_filepath_exists (const char *filepath) |
| char * | BKE_image_get_tile_strformat (const char *filepath, eUDIM_TILE_FORMAT *r_tile_format) |
| bool | BKE_image_get_tile_number_from_filepath (const char *filepath, const char *pattern, eUDIM_TILE_FORMAT tile_format, int *r_tile_number) |
| void | BKE_image_set_filepath_from_tile_number (char *filepath, const char *pattern, eUDIM_TILE_FORMAT tile_format, int tile_number) |
| RenderPass * | BKE_image_multilayer_index (RenderResult *rr, ImageUser *iuser) |
| void | BKE_image_multiview_index (const Image *ima, ImageUser *iuser) |
| bool | BKE_image_is_multilayer (const Image *ima) |
| bool | BKE_image_is_multiview (const Image *ima) |
| bool | BKE_image_is_stereo (const Image *ima) |
| static void | image_init_multilayer_multiview (Image *ima, RenderResult *rr) |
| RenderResult * | BKE_image_acquire_renderresult (Scene *scene, Image *ima) |
| void | BKE_image_release_renderresult (Scene *scene, Image *ima, RenderResult *render_result) |
| bool | BKE_image_is_openexr (Image *ima) |
| void | BKE_image_backup_render (Scene *scene, Image *ima, bool free_current_slot) |
Multiview Load OpenEXR | |
| static void | image_init_after_load (Image *ima, ImageUser *iuser, ImBuf *) |
| static int | imbuf_alpha_flags_for_image (Image *ima) |
| static ImBuf * | image_load_sequence_multilayer (Image *ima, ImageUser *iuser, int entry, int frame) |
| static ImBuf * | load_movie_single (Image *ima, ImageUser *iuser, int frame, const int view_id) |
| static ImBuf * | image_load_movie_file (Image *ima, ImageUser *iuser, int frame) |
| static ImBuf * | load_image_single (Image *ima, ImageUser *iuser, int cfra, const int view_id, const bool has_packed, const bool is_sequence, bool *r_cache_ibuf) |
| static ImBuf * | image_get_ibuf_multilayer (Image *ima, ImageUser *iuser) |
| static ImBuf * | image_get_render_result (Image *ima, ImageUser *iuser, void **r_lock) |
| static int | image_get_multiview_index (Image *ima, ImageUser *iuser) |
| static void | image_get_entry_and_index (Image *ima, ImageUser *iuser, int *r_entry, int *r_index) |
| static ImBuf * | image_get_cached_ibuf (Image *ima, ImageUser *iuser, int *r_entry, int *r_index, bool *r_is_cached_empty) |
| BLI_INLINE bool | image_quick_test (Image *ima, const ImageUser *iuser) |
| ImBuf * | BKE_image_acquire_ibuf (Image *ima, ImageUser *iuser, void **r_lock) |
| static int | get_multilayer_view_index (const Image &image, const ImageUser &image_user, const char *view_name) |
| ImBuf * | BKE_image_acquire_multilayer_view_ibuf (const RenderData &render_data, Image &image, const ImageUser &image_user, const char *pass_name, const char *view_name) |
| void | BKE_image_release_ibuf (Image *ima, ImBuf *ibuf, void *lock) |
| bool | BKE_image_has_ibuf (Image *ima, ImageUser *iuser) |
| ImBuf * | BKE_image_preview (Image *ima, const short max_size, short *r_width, short *r_height) |
Pool for Image Buffers | |
| ImagePool * | BKE_image_pool_new () |
| void | BKE_image_pool_free (ImagePool *pool) |
| BLI_INLINE ImBuf * | image_pool_find_item (ImagePool *pool, Image *image, int entry, int index, bool *r_found) |
| ImBuf * | BKE_image_pool_acquire_ibuf (Image *ima, ImageUser *iuser, ImagePool *pool) |
| void | BKE_image_pool_release_ibuf (Image *ima, ImBuf *ibuf, ImagePool *pool) |
| int | BKE_image_user_frame_get (const ImageUser *iuser, int cfra, bool *r_is_in_range) |
| void | BKE_image_user_frame_calc (Image *ima, ImageUser *iuser, int cfra) |
| static void | image_editors_update_frame (Image *ima, ID *, ImageUser *iuser, void *customdata) |
| void | BKE_image_editors_update_frame (const Main *bmain, int cfra) |
| static void | image_user_id_has_animation (Image *ima, ID *, ImageUser *, void *customdata) |
| bool | BKE_image_user_id_has_animation (ID *id) |
| static void | image_user_id_eval_animation (Image *ima, ID *, ImageUser *iuser, void *customdata) |
| void | BKE_image_user_id_eval_animation (Depsgraph *depsgraph, ID *id) |
| void | BKE_image_user_file_path (const ImageUser *iuser, const Image *ima, char *filepath) |
| void | BKE_image_user_file_path_ex (const Main *bmain, const ImageUser *iuser, const Image *ima, char *filepath, const bool resolve_udim, const bool resolve_multiview) |
| bool | BKE_image_has_alpha (Image *image) |
| void | BKE_image_get_size (Image *image, ImageUser *iuser, int *r_width, int *r_height) |
| void | BKE_image_get_size_fl (Image *image, ImageUser *iuser, float r_size[2]) |
| void | BKE_image_get_aspect (Image *image, float *r_aspx, float *r_aspy) |
| uchar * | BKE_image_get_pixels_for_frame (Image *image, int frame, int tile) |
| float * | BKE_image_get_float_pixels_for_frame (Image *image, int frame, int tile) |
| int | BKE_image_sequence_guess_offset (Image *image) |
| bool | BKE_image_has_anim (Image *ima) |
| bool | BKE_image_has_packedfile (const Image *ima) |
| bool | BKE_image_has_filepath (const Image *ima) |
| bool | BKE_image_is_animated (Image *image) |
| bool | BKE_image_has_multiple_ibufs (Image *image) |
| bool | BKE_image_is_dirty_writable (Image *image, bool *r_is_writable) |
| bool | BKE_image_is_dirty (Image *image) |
| void | BKE_image_mark_dirty (Image *, ImBuf *ibuf) |
| bool | BKE_image_buffer_format_writable (ImBuf *ibuf) |
| void | BKE_image_file_format_set (Image *image, int ftype, const ImbFormatOptions *options) |
| bool | BKE_image_has_loaded_ibuf (Image *image) |
| ImBuf * | BKE_image_get_ibuf_with_name (Image *image, const char *filepath) |
| ImBuf * | BKE_image_get_first_ibuf (Image *image) |
Render Slots | |
| RenderSlot * | BKE_image_add_renderslot (Image *ima, const char *name) |
| bool | BKE_image_remove_renderslot (Image *ima, ImageUser *iuser, int slot) |
| bool | BKE_image_clear_renderslot (Image *ima, ImageUser *iuser, int slot) |
| RenderSlot * | BKE_image_get_renderslot (Image *ima, int index) |
Variables | |
| static CLG_LogRef | LOG = {"bke.image"} |
Image #IDTypeInfo API | |
| #define | IMA_NO_INDEX 0x7FEFEFEF |
| #define | IMA_MAKE_INDEX(entry, index) |
| #define | IMA_INDEX_ENTRY(index) |
| IDTypeInfo | IDType_ID_IM = get_type_info() |
| static void | image_runtime_free_data (Image *image) |
| static void | image_gpu_runtime_reset (Image *ima) |
| static void | image_init_data (ID *id) |
| static void | image_copy_data (Main *, std::optional< Library * >, ID *id_dst, const ID *id_src, const int flag) |
| static void | image_free_data (ID *id) |
| static void | image_foreach_cache (ID *id, IDTypeForeachCacheFunctionCallback function_callback, void *user_data) |
| static void | image_foreach_path (ID *id, BPathForeachPathData *bpath_data) |
| static void | image_blend_write (BlendWriter *writer, ID *id, const void *id_address) |
| static void | image_blend_read_data (BlendDataReader *reader, ID *id) |
| static void | image_blend_read_after_liblink (BlendLibReader *, ID *id) |
| constexpr IDTypeInfo | get_type_info () |
| static int | image_num_viewfiles (Image *ima) |
| static ImBuf * | image_load_image_file (Image *ima, ImageUser *iuser, int entry, int cfra, bool is_sequence) |
| static ImBuf * | image_acquire_ibuf (Image *ima, ImageUser *iuser, void **r_lock) |
| static void | image_update_views_format (Image *ima, ImageUser *iuser) |
| static void | image_add_view (Image *ima, const char *viewname, const char *filepath) |
Read and Write | |
| #define | STAMP_NAME_SIZE ((MAX_ID_NAME - 2) + 16) |
| static const char * | stamp_metadata_fields [] |
| static void | stampdata (const Scene *scene, Object *camera, StampData *stamp_data, int do_prefix, bool use_dynamic) |
| static void | stampdata_from_template (StampData *stamp_data, const Scene *scene, const StampData *stamp_data_template, bool do_prefix) |
| void | BKE_image_stamp_buf (Scene *scene, Object *camera, const StampData *stamp_data_template, uchar *rect, float *rectf, int width, int height) |
| void | BKE_render_result_stamp_info (Scene *scene, Object *camera, RenderResult *rr, bool allocate_only) |
| StampData * | BKE_stamp_info_from_scene_static (const Scene *scene) |
| bool | BKE_stamp_is_known_field (const char *field_name) |
| void | BKE_stamp_info_callback (void *data, StampData *stamp_data, StampCallback callback, bool noskip) |
| void | BKE_image_multilayer_stamp_info_callback (void *data, const Image &image, StampCallback callback, bool noskip) |
| void | BKE_render_result_stamp_data (RenderResult *rr, const char *key, const char *value) |
| StampData * | BKE_stamp_data_copy (const StampData *stamp_data) |
| void | BKE_stamp_data_free (StampData *stamp_data) |
| static void | metadata_set_field (void *data, const char *propname, char *propvalue, int) |
| static void | metadata_get_field (void *data, const char *propname, char *propvalue, int propvalue_maxncpy) |
| void | BKE_imbuf_stamp_info (const RenderResult *rr, ImBuf *ibuf) |
| static void | metadata_copy_custom_fields (const char *field, const char *value, void *rr_v) |
| void | BKE_stamp_info_from_imbuf (RenderResult *rr, ImBuf *ibuf) |
| bool | BKE_imbuf_alpha_test (ImBuf *ibuf) |
| bool | BKE_imbuf_write (ImBuf *ibuf, const char *filepath, const ImageFormatData *imf) |
| bool | BKE_imbuf_write_as (ImBuf *ibuf, const char *filepath, const ImageFormatData *imf, const bool save_copy) |
| bool | BKE_imbuf_write_stamp (const Scene *scene, const RenderResult *rr, ImBuf *ibuf, const char *filepath, const ImageFormatData *imf) |
| MovieReader * | openanim_noload (const char *filepath, int flags, int streamindex, char colorspace[IMA_MAX_SPACE]) |
| MovieReader * | openanim (const char *filepath, int flags, int streamindex, char colorspace[IMA_MAX_SPACE]) |
| #define BUFF_MARGIN_X 2 |
Referenced by BKE_image_stamp_buf().
| #define BUFF_MARGIN_Y 1 |
Referenced by BKE_image_stamp_buf().
| #define CALL | ( | member, | |
| value_str ) |
Referenced by BKE_stamp_info_callback(), and is_opcode_secure().
| #define DNA_DEPRECATED_ALLOW |
Definition at line 48 of file source/blender/blenkernel/intern/image.cc.
| #define IMA_INDEX_ENTRY | ( | index | ) |
Definition at line 486 of file source/blender/blenkernel/intern/image.cc.
Referenced by imagecache_check_free_anim(), and imagecache_keydata().
| #define IMA_MAKE_INDEX | ( | entry, | |
| index ) |
Definition at line 485 of file source/blender/blenkernel/intern/image.cc.
Referenced by image_assign_ibuf(), image_get_cached_ibuf_for_index_entry(), and image_remove_ibuf().
| #define IMA_NO_INDEX 0x7FEFEFEF |
Definition at line 482 of file source/blender/blenkernel/intern/image.cc.
Referenced by BKE_image_add_generated(), BKE_image_memorypack(), BKE_image_replace_imbuf(), BKE_image_signal(), image_assign_ibuf(), image_get_cached_ibuf_for_index_entry(), image_get_ibuf_multilayer(), image_get_multiview_index(), image_get_render_result(), image_load_image_file(), image_remove_ibuf(), and imagecache_check_free_anim().
| #define STAMP_NAME_SIZE ((MAX_ID_NAME - 2) + 16) |
Definition at line 1688 of file source/blender/blenkernel/intern/image.cc.
Referenced by BKE_image_stamp_buf().
Referenced by BKE_image_stamp_buf().
Definition at line 1167 of file source/blender/blenkernel/intern/image.cc.
References BLI_path_abs(), BLI_task_isolate(), ImBuf::byte_buffer, COLOR_ROLE_DEFAULT_BYTE, COLOR_ROLE_DEFAULT_FLOAT, Image::colorspace_settings, copy_v4_v4(), data, ImBufByteBuffer::data, ImBufFloatBuffer::data, Image::filepath, ImBuf::filepath, ImBuf::float_buffer, IB_byte_data, IB_float_data, Image::id, ID_BLEND_PATH_FROM_GLOBAL, IMA_GEN_FLOAT, IMA_GEN_TILE, image_buf_fill_isolated(), IMB_allocImBuf(), IMB_colormanagement_assign_byte_colorspace(), IMB_colormanagement_check_is_data(), IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_space_name_is_data(), ColorManagedColorspaceSettings::name, srgb_to_linearrgb_v4(), STRNCPY(), and tile.
Referenced by BKE_image_add_generated(), BKE_image_fill_tile(), and image_acquire_ibuf().
Return image buffer for given image and user:
References the result, BKE_image_release_ibuf should be used to de-reference.
Definition at line 4823 of file source/blender/blenkernel/intern/image.cc.
References image_acquire_ibuf(), lock, and Image::runtime.
Referenced by blender::ed::greasepencil::ImageBufferAccessor::acquire(), blender::image_engine::SpaceNodeAccessor::acquire_image_buffer(), blender::io::fbx::add_image_texture(), blender::bke::pbvh::pixels::apply_watertight_check(), blender::ed::space_node::backimage_fit_exec(), bake_images(), blender::ed::object::bake_object_check(), blender::ed::object::bake_targets_init_internal(), BKE_image_get_float_pixels_for_frame(), BKE_image_get_pixels_for_frame(), BKE_image_get_size(), BKE_image_has_alpha(), BKE_image_pool_acquire_ibuf(), BKE_image_preview(), BKE_image_save_options_init(), BKE_image_scale(), BKE_image_update_gputexture(), BKE_paint_canvas_key_get(), blender::compositor::CachedImage::CachedImage(), blender::ed::object::clear_single_image(), cmp_node_image_create_outputs(), colorfn(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::compute_image_domain(), blender::bke::pbvh::pixels::copy_pixels(), blender::bke::pbvh::pixels::copy_update(), cryptomatte_init_from_node_image(), blender::bke::pbvh::pixels::do_encode_pixels(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), blender::ed::sculpt_paint::paint::image::do_push_undo_tile(), blender::ed::space_node::draw_nodespace_back_pix(), draw_plane_marker_image(), ED_image_undo_push_begin_with_image_all_udims(), ED_space_image_acquire_buffer(), ED_space_node_color_sample(), ED_space_node_get_position(), blender::io::usd::export_in_memory_texture(), eyedropper_cryptomatte_sample_image_fl(), finish_images(), blender::io::usd::get_in_memory_texture_filename(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_layers_from_image(), gpu_texture_create_tile_array(), icon_preview_startjob(), image_clipboard_copy_exec(), image_file_format_writable(), image_flip_exec(), image_from_context_has_data_poll(), image_get_gpu_texture(), image_invert_exec(), image_rect_update(), image_rotate_orthogonal_exec(), image_save_single(), image_scale_exec(), image_scale_invoke(), image_undosys_step_encode(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::ImageFieldsFunction(), blender::bke::image::partial_update::ImageTileData::init_data(), BlenderImageLoader::load_metadata(), BlenderImageLoader::load_pixels(), blender::bke::pbvh::pixels::mark_image_dirty(), metadata_panel_context_draw(), blender::ed::object::multiresbake_check(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), paint_2d_bucket_fill(), paint_2d_canvas_set(), paint_2d_ensure_tile_canvas(), paint_2d_gradient_fill(), paint_2d_new_stroke(), paint_2d_redraw(), paint_sample_color(), palette_extract_img_exec(), project_paint_build_proj_ima(), project_paint_PickColor(), project_paint_uvpixel_init(), project_paint_uvpixel_mask(), ptile_restore_runtime_map(), RE_bake_ibuf_clear(), render_endjob(), blender::ed::space_node::sample_apply(), screen_opengl_render_apply(), blender::bke::image::partial_update::ImagePartialUpdateTest::SetUp(), blender::ed::space_node::snode_bg_viewmove_invoke(), texture_paint_camera_project_exec(), tile_fill_init(), uhandle_restore_list(), uiTemplateImage(), uiTemplateImageInfo(), blender::bke::pbvh::pixels::update_pixels(), blender::ed::space_node::viewer_border_exec(), blender::render::Context::viewer_output_to_viewer_image(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_refresh(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_mask_refresh(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), blender::ed::space_node::WIDGETGROUP_node_split_refresh(), blender::ed::space_node::WIDGETGROUP_node_transform_refresh(), and blender::ed::object::write_internal_bake_pixels().
| ImBuf * BKE_image_acquire_multilayer_view_ibuf | ( | const RenderData & | render_data, |
| Image & | image, | ||
| const ImageUser & | image_user, | ||
| const char * | pass_name, | ||
| const char * | view_name ) |
Return image buffer for given image, user, pass, and view. Is thread-safe, so another thread can be changing image while this function is executed.
If the image is single-layer then the pass name is completely ignored.
If the image is multi-layer then this function does all needed internal configurations to read the pass. There is no need to acquire a temporary ImBuf prior to this call (which is what some legacy code had to do to ensure proper type and RenderResult).
References the result, BKE_image_release_ibuf should be used to de-reference.
Definition at line 4860 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multilayer(), BKE_image_multilayer_index(), BKE_scene_multiview_view_id_get(), BLI_assert, BLI_findlink(), BLI_findstringindex(), get_multilayer_view_index(), image_acquire_ibuf(), IMB_freeImBuf(), ImageUser::layer, RenderResult::layers, lock, ImageUser::multi_index, offsetof, ImageUser::pass, RenderLayer::passes, Image::rr, Image::runtime, and ImageUser::view.
| RenderResult * BKE_image_acquire_renderresult | ( | Scene * | scene, |
| Image * | ima ) |
Acquire render result associated with the give image.
The returned render result is user-counted It is then required to call * BKE_image_release_renderresult with the non-null render result returned by this function.
It is possible to use ibuf acquire/release API while a render result is held.
It is allowed to call BKE_image_release_renderresult with render_result of nullptr, but it is not required.
Definition at line 3883 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_renderslot(), BKE_image_partial_update_mark_full_update(), IMA_TYPE_R_RESULT, image_init_multilayer_multiview(), Image::last_render_slot, lock, RE_AcquireResultRead(), RE_GetSceneRender(), RE_ReferenceRenderResult(), RenderSlot::render, Image::render_slot, Image::rr, Image::runtime, and Image::type.
Referenced by blender::compositor::CachedImage::CachedImage(), draw_render_info(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_layers_from_image(), image_save_single(), ui_imageuser_layer_menu(), ui_imageuser_layer_menu_step(), ui_imageuser_pass_menu(), ui_imageuser_pass_menu_step(), ui_imageuser_view_menu_rr(), uiTemplateImage(), and uiTemplateImageLayers().
Create an image from ibuf. The reference-count of ibuf is increased, caller should take care to drop its reference by calling IMB_freeImBuf if needed.
Definition at line 1332 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_replace_imbuf(), BLI_path_basename(), ImBuf::filepath, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_TYPE_IMAGE, and image_alloc().
Referenced by image_clipboard_paste_exec(), blender::ed::greasepencil::image_render::image_render_end(), new_image_from_plane_marker_exec(), and texture_paint_image_from_view_exec().
| Image * BKE_image_add_generated | ( | Main * | bmain, |
| unsigned int | width, | ||
| unsigned int | height, | ||
| const char * | name, | ||
| int | depth, | ||
| int | floatbuf, | ||
| short | gen_type, | ||
| const float | color[4], | ||
| bool | stereo3d, | ||
| bool | is_data, | ||
| bool | tiled ) |
Adds new image block, creates ImBuf and initializes color.
Definition at line 1241 of file source/blender/blenkernel/intern/image.cc.
References add_ibuf_for_tile(), COLOR_ROLE_DATA, Image::colorspace_settings, copy_v4_v4(), ListBase::first, IMA_GEN_FLOAT, IMA_NO_INDEX, IMA_SRC_GENERATED, IMA_SRC_TILED, IMA_TYPE_IMAGE, IMA_TYPE_UV_TEST, image_add_view(), image_alloc(), image_assign_ibuf(), IMB_colormanagement_role_colorspace_name_get(), IMB_freeImBuf(), ColorManagedColorspaceSettings::name, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, STRNCPY(), tile, and Image::tiles.
Referenced by blender::io::fbx::create_placeholder_image(), blender::io::obj::create_placeholder_image(), image_new_exec(), and proj_paint_image_create().
| RenderSlot * BKE_image_add_renderslot | ( | Image * | ima, |
| const char * | name ) |
Definition at line 5675 of file source/blender/blenkernel/intern/image.cc.
References BLI_addtail(), BLI_listbase_count(), DATA_, MEM_callocN(), RenderSlot::name, Image::renderslots, SNPRINTF, and STRNCPY_UTF8.
Referenced by BKE_image_backup_render(), image_add_render_slot_exec(), and image_init().
Definition at line 3484 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_partial_update_mark_full_update(), BLI_addtail(), BLI_insertlinkbefore(), ListBase::first, GPU_texture_free(), Image::gputexture, IMA_SRC_TILED, IMA_UDIM_MAX, imagetile_alloc(), ImageTile::next, Image::source, STRNCPY(), TEXTARGET_2D_ARRAY, TEXTARGET_TILE_MAPPING, tile, ImageTile::tile_number, and Image::tiles.
Referenced by add_udim_tiles(), BKE_image_signal(), image_open_single(), and tile_add_exec().
| void BKE_image_all_free_anim_ibufs | ( | Main * | bmain, |
| int | cfra ) |
Does all images with type MOVIE or SEQUENCE.
Definition at line 1669 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_anim_ibufs(), BKE_image_is_animated(), ListBase::first, Image::id, Main::images, and ID::next.
Referenced by do_render_full_pipeline().
| void BKE_image_alpha_mode_from_extension | ( | Image * | image | ) |
Definition at line 1021 of file source/blender/blenkernel/intern/image.cc.
References Image::alpha_mode, BKE_image_alpha_mode_from_extension_ex(), and Image::filepath.
Referenced by blo_do_versions_260().
| char BKE_image_alpha_mode_from_extension_ex | ( | const char * | filepath | ) |
Set an alpha mode based on file extension.
Definition at line 1012 of file source/blender/blenkernel/intern/image.cc.
References BLI_path_extension_check_n(), IMA_ALPHA_PREMUL, and IMA_ALPHA_STRAIGHT.
Referenced by blender::seq::alpha_mode_from_file_extension(), and BKE_image_alpha_mode_from_extension().
For multiple slot render, call this before render.
Definition at line 3942 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_add_renderslot(), BKE_image_clear_renderslot(), BKE_image_get_renderslot(), BLI_listbase_count(), ListBase::first, Image::last_render_slot, RE_GetSceneRender(), RE_SwapResult(), RenderSlot::render, Image::render_slot, and Image::renderslots.
Referenced by ED_node_composite_job(), screen_opengl_render_init(), screen_render_exec(), and screen_render_invoke().
| bool BKE_image_buffer_format_writable | ( | ImBuf * | ibuf | ) |
Definition at line 5503 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_format_from_imbuf(), BKE_imtype_to_ftype(), ImBuf::ftype, and ImageFormatData::imtype.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_is_dirty_writable(), and image_file_format_writable().
Definition at line 5757 of file source/blender/blenkernel/intern/image.cc.
References BLI_findlink(), G, Image::last_render_slot, RE_ClearResult(), RE_FreeRenderResult(), RE_GetSceneRender(), RenderSlot::render, Image::renderslots, and ImageUser::scene.
Referenced by BKE_image_backup_render(), and image_clear_render_slot_exec().
| void BKE_image_editors_update_frame | ( | const Main * | bmain, |
| int | cfra ) |
Definition at line 5204 of file source/blender/blenkernel/intern/image.cc.
References ListBase::first, wmWindowManager::id, image_editors_update_frame(), image_walk_id_all_users(), and Main::wm.
Referenced by BKE_scene_graph_update_for_newframe_ex().
| void BKE_image_ensure_tile_token | ( | char * | filepath, |
| size_t | filepath_maxncpy ) |
Ensures that filename contains a UDIM token if we find a supported format pattern.
Definition at line 3659 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_ensure_tile_token_filename_only(), and BLI_path_basename().
Referenced by BKE_image_signal(), BKE_packedfile_unpack_image(), do_versions_after_linking_300(), and image_file_browse_exec().
| void BKE_image_ensure_tile_token_filename_only | ( | char * | filename, |
| size_t | filename_maxncpy ) |
Definition at line 3630 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_filename_tokenized(), BLI_assert_msg, BLI_path_slash_find(), and BLI_strncpy().
Referenced by BKE_image_ensure_tile_token(), BKE_image_get_tile_info(), and blender::bke::tests::TEST().
Ensures an Image exists for viewing nodes or render forces existence of 1 Image for render-output or nodes, returns Image.
| name | Only for default, when making new one. |
Definition at line 2754 of file source/blender/blenkernel/intern/image.cc.
References ListBase::first, Image::id, id_us_ensure_real(), IMA_SRC_VIEWER, image_alloc(), Main::images, ID::next, Image::source, Image::type, and ID::us.
Referenced by blender::ed::space_node::backimage_fit_exec(), blender::ed::space_node::draw_nodespace_back_pix(), blender::draw::color_management::drw_color_management_type_for_space_node(), ED_node_composite_job(), ED_node_set_active(), ED_space_node_color_sample(), ED_space_node_get_position(), blender::image_engine::SpaceNodeAccessor::get_image(), image_read_viewlayers_exec(), blender::nodes::node_composite_viewer_cc::node_composit_init_viewer(), blender::render::Context::output_to_render_result(), render_view_open(), blender::ed::space_node::sample_apply(), screen_opengl_render_init(), screen_render_exec(), screen_render_invoke(), blender::ed::space_node::snode_bg_viewmove_invoke(), blender::ed::space_node::viewer_border_exec(), blender::render::Context::viewer_output_to_viewer_image(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_refresh(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_mask_refresh(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), blender::ed::space_node::WIDGETGROUP_node_split_refresh(), blender::ed::space_node::WIDGETGROUP_node_transform_refresh(), and wm_draw_region_stereo_set().
| void BKE_image_ensure_viewer_views | ( | const RenderData * | rd, |
| Image * | ima, | ||
| ImageUser * | iuser ) |
Ensures the view node cache is compatible with the scene views. Reset the image cache and views when the Viewer Nodes views don't match the scene views.
Definition at line 2838 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_views(), BKE_scene_multiview_is_stereo3d(), BLI_thread_lock(), BLI_thread_unlock(), ImageUser::flag, IMA_SHOW_STEREO, image_free_cached_frames(), image_viewer_create_views(), image_views_match_render_views(), lock, LOCK_DRAW_IMAGE, and Image::runtime.
Referenced by blender::render::Context::viewer_output_to_viewer_image().
| void BKE_image_file_format_set | ( | Image * | image, |
| int | ftype, | ||
| const ImbFormatOptions * | options ) |
Definition at line 5511 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, ImBuf::foptions, ImBuf::ftype, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), lock, options, and Image::runtime.
Referenced by BKE_image_find_nearest_tile_with_offset().
Definition at line 3606 of file source/blender/blenkernel/intern/image.cc.
References add_ibuf_for_tile(), BKE_image_release_ibuf(), IMA_SRC_TILED, image_assign_ibuf(), image_free_tile(), Image::source, and tile.
Referenced by do_fill_tile().
| int BKE_image_find_nearest_tile | ( | const Image * | image, |
| const float | co[2] ) |
Definition at line 977 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_find_nearest_tile_with_offset().
| int BKE_image_find_nearest_tile_with_offset | ( | const Image * | image, |
| const float | co[2], | ||
| float | r_uv_offset[2] ) |
Definition at line 936 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile_uv(), copy_v2_v2(), distance_squared_to_udim(), floorf, FLT_MAX, IMA_SRC_TILED, LISTBASE_FOREACH, nearest_udim_tile_tie_break(), Image::source, tile, Image::tiles, and zero_v2().
Referenced by BKE_image_find_nearest_tile().
| void BKE_image_free_all_textures | ( | Main * | bmain | ) |
Goes over all textures that use images.
Definition at line 1607 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, ListBase::first, Image::id, Tex::id, ID_TAG_DOIT, Tex::ima, image_mem_size(), imagecache_check_dirty(), Main::images, IMB_moviecache_cleanup(), ID::next, printf, ID::tag, and Main::textures.
| void BKE_image_free_anim_ibufs | ( | Image * | ima, |
| int | except_frame ) |
Operates on one image only!
| except_frame | This is weak, only works for sequences without offset. |
Definition at line 1661 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, imagecache_check_free_anim(), IMB_moviecache_cleanup(), lock, and Image::runtime.
Referenced by BKE_image_all_free_anim_ibufs().
| void BKE_image_free_buffers | ( | Image * | ima | ) |
Definition at line 634 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_buffers_ex().
| void BKE_image_free_buffers_ex | ( | Image * | image, |
| bool | do_lock ) |
Simply free the image data from memory, on display the image can load again (except for render buffers).
Definition at line 613 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_gputextures(), image_free_anims(), image_free_cached_frames(), RE_FreeRenderResult(), Image::rr, and Image::runtime.
Referenced by BKE_image_free_buffers(), and BlenderImageLoader::load_pixels().
| void BKE_image_free_data | ( | Image * | image | ) |
Free (or release) any data used by this image (does not free the image itself).
Definition at line 639 of file source/blender/blenkernel/intern/image.cc.
References Image::id, and image_free_data().
| void BKE_image_free_packedfiles | ( | Image * | ima | ) |
Definition at line 590 of file source/blender/blenkernel/intern/image.cc.
References image_free_packedfiles().
Referenced by image_save_as_exec().
| void BKE_image_free_views | ( | Image * | image | ) |
Definition at line 595 of file source/blender/blenkernel/intern/image.cc.
References BLI_freelistN(), and Image::views.
Referenced by BKE_image_ensure_viewer_views(), image_free_data(), image_init_multilayer_multiview(), image_open_single(), and image_update_views_format().
| void BKE_image_get_aspect | ( | Image * | image, |
| float * | r_aspx, | ||
| float * | r_aspy ) |
Definition at line 5360 of file source/blender/blenkernel/intern/image.cc.
References Image::aspx, and Image::aspy.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_mask_coord_from_image(), BKE_mask_coord_to_image(), ED_image_get_uv_aspect(), and ED_space_image_get_aspect().
References the result, BKE_image_release_ibuf is to be called to de-reference. Use lock=NULL when calling BKE_image_release_ibuf().
TODO(sergey): This is actually "get first item from the cache", which is not so much predictable. But using first loaded image buffer was also malicious logic and all the areas which uses this function are to be re-considered.
Definition at line 5575 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_refImBuf(), lock, and Image::runtime.
Referenced by BKE_image_find_nearest_tile_with_offset().
| float * BKE_image_get_float_pixels_for_frame | ( | Image * | image, |
| int | frame, | ||
| int | tile ) |
Definition at line 5403 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_imageuser_default(), ImBufFloatBuffer::data, ImBuf::float_buffer, ImageUser::framenr, lock, MEM_dupallocN(), ImageUser::tile, and tile.
Referenced by BKE_image_find_nearest_tile_with_offset().
References the result, BKE_image_release_ibuf is to be called to de-reference. Use lock=NULL when calling BKE_image_release_ibuf().
Definition at line 5551 of file source/blender/blenkernel/intern/image.cc.
References BLI_assert, BLI_path_is_rel(), Image::cache, ImBuf::filepath, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), IMB_refImBuf(), lock, Image::runtime, and STREQ.
Referenced by BKE_image_find_nearest_tile_with_offset().
Definition at line 5373 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_imageuser_default(), ImBuf::byte_buffer, ImBufByteBuffer::data, ImageUser::framenr, lock, MEM_dupallocN(), ImageUser::tile, and tile.
Referenced by BKE_image_find_nearest_tile_with_offset().
| RenderSlot * BKE_image_get_renderslot | ( | Image * | ima, |
| int | index ) |
Definition at line 5785 of file source/blender/blenkernel/intern/image.cc.
References BLI_findlink(), and Image::renderslots.
Referenced by BKE_image_acquire_renderresult(), BKE_image_backup_render(), ED_image_slot_cycle(), image_cycle_render_slot_exec(), image_get_render_result(), and uiblock_layer_pass_buttons().
Definition at line 5323 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_render_resolution(), IMA_TYPE_R_RESULT, IMG_SIZE_FALLBACK, lock, Scene::r, ImageUser::scene, Image::type, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_get_size_fl(), ED_image_get_uv_aspect(), and blender::io::usd::process_usdz_textures().
Definition at line 5351 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_size().
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_mask_coord_from_image(), BKE_mask_coord_to_image(), blender::draw::overlay::MeshUVs::end_sync(), and WIDGETGROUP_empty_image_refresh().
Definition at line 820 of file source/blender/blenkernel/intern/image.cc.
References ELEM, ListBase::first, IMA_SRC_TILED, IMA_UDIM_MAX, LISTBASE_FOREACH, Image::source, tile, and Image::tiles.
Definition at line 846 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile, and image_get_tile_number_from_iuser().
| int BKE_image_get_tile_from_pos | ( | Image * | ima, |
| const float | uv[2], | ||
| float | r_uv[2], | ||
| float | r_ofs[2] ) |
Definition at line 851 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile, copy_v2_v2(), IMA_SRC_TILED, Image::source, sub_v2_v2(), and zero_v2().
Referenced by ED_space_image_color_sample(), image_sample_apply(), image_sample_line_exec(), imagewrap(), paint_2d_bucket_fill(), paint_2d_gradient_fill(), and paint_sample_color().
| bool BKE_image_get_tile_info | ( | char * | filepath, |
| ListBase * | tiles, | ||
| int * | r_tile_start, | ||
| int * | r_tile_range ) |
Checks whether the given filepath refers to a UDIM tiled texture. If yes, the range from the lowest to the highest tile is returned.
| filepath | may be modified to ensure a UDIM token is present. |
| tiles | may be filled even if the result ultimately is false! |
Definition at line 3433 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_ensure_tile_token_filename_only(), BKE_image_get_tile_number_from_filepath(), BKE_image_get_tile_strformat(), BKE_image_is_filename_tokenized(), BLI_addtail(), BLI_filelist_dir_contents(), BLI_filelist_free(), BLI_genericNodeN(), BLI_path_join, BLI_path_split_dir_file(), dirname(), FILE_MAX, FILE_MAXDIR, FILE_MAXFILE, i, IMA_UDIM_MAX, max_ii(), MEM_SAFE_FREE, min_ii(), POINTER_FROM_INT, and tiles.
Referenced by BKE_image_signal(), get_udim_tiles(), and image_detect_frame_range().
| int BKE_image_get_tile_label | ( | const Image * | ima, |
| const ImageTile * | tile, | ||
| char * | label, | ||
| int | label_maxncpy ) |
Get tile index for tiled images.
Definition at line 3417 of file source/blender/blenkernel/intern/image.cc.
References BLI_snprintf_rlen(), BLI_strncpy_rlen(), and tile.
| bool BKE_image_get_tile_number_from_filepath | ( | const char * | filepath, |
| const char * | pattern, | ||
| eUDIM_TILE_FORMAT | tile_format, | ||
| int * | r_tile_number ) |
Definition at line 3720 of file source/blender/blenkernel/intern/image.cc.
References result, UDIM_TILE_FORMAT_UDIM, UDIM_TILE_FORMAT_UVTILE, and v.
Referenced by BKE_image_get_tile_info(), BKE_image_tile_filepath_exists(), and blender::bke::tests::TEST().
| char * BKE_image_get_tile_strformat | ( | const char * | filepath, |
| eUDIM_TILE_FORMAT * | r_tile_format ) |
Retrieves the UDIM token format and returns the pattern from the provided filepath. The returned pattern is typically passed to either BKE_image_get_tile_number_from_filepath or BKE_image_set_filepath_from_tile_number.
Definition at line 3701 of file source/blender/blenkernel/intern/image.cc.
References BLI_string_replaceN(), UDIM_TILE_FORMAT_NONE, UDIM_TILE_FORMAT_UDIM, and UDIM_TILE_FORMAT_UVTILE.
Referenced by BKE_image_get_tile_info(), BKE_image_save(), BKE_image_signal(), BKE_image_tile_filepath_exists(), BKE_image_user_file_path_ex(), blender::io::usd::copy_tiled_textures(), blender::io::usd::export_in_memory_texture(), image_foreach_path(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), and blender::bke::tests::TEST().
| void BKE_image_get_tile_uv | ( | const Image * | ima, |
| const int | tile_number, | ||
| float | r_uv[2] ) |
Definition at line 879 of file source/blender/blenkernel/intern/image.cc.
References IMA_SRC_TILED, Image::source, tile_index, and zero_v2().
Referenced by blender::ed::object::bake_targets_init_internal(), BKE_image_find_nearest_tile_with_offset(), do_multires_bake(), and finish_images().
| bool BKE_image_has_alpha | ( | Image * | image | ) |
Check if texture has alpha planes == 32 || planes == 16.
Definition at line 5309 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), ELEM, lock, and ImBuf::planes.
Referenced by uiTemplateImage().
| bool BKE_image_has_anim | ( | Image * | ima | ) |
Definition at line 5438 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, and BLI_listbase_is_empty().
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_load_exists_in_lib(), image_match_len_exec(), ui_tooltip_from_image(), and uiTemplateImageInfo().
| bool BKE_image_has_filepath | ( | const Image * | ima | ) |
Definition at line 5448 of file source/blender/blenkernel/intern/image.cc.
References Image::filepath.
Referenced by BKE_image_find_nearest_tile_with_offset(), blender::io::obj::get_image_filepath(), image_save_invoke(), image_should_pack_during_save_all(), and uiTemplateImage().
Checks whether there's an image buffer for given image and user.
Definition at line 4920 of file source/blender/blenkernel/intern/image.cc.
References image_acquire_ibuf(), image_get_cached_ibuf(), image_quick_test(), IMB_freeImBuf(), lock, and Image::runtime.
Referenced by draw_plane_marker_ex(), image_from_context_editable_has_data_poll_active_tile(), palette_extract_img_poll(), project_paint_prepare_all_faces(), tile_add_poll(), and tile_fill_poll().
| bool BKE_image_has_loaded_ibuf | ( | Image * | image | ) |
Definition at line 5529 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), lock, and Image::runtime.
Referenced by BKE_image_find_nearest_tile_with_offset(), BlenderImageLoader::BlenderImageLoader(), imagewrap(), imagewraposa(), and imagewraposa_aniso().
| bool BKE_image_has_multiple_ibufs | ( | Image * | image | ) |
Checks whether the image consists of multiple buffers.
Definition at line 5460 of file source/blender/blenkernel/intern/image.cc.
References ELEM, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, and Image::source.
Referenced by BKE_image_find_nearest_tile_with_offset(), and image_get_multiview_index().
| bool BKE_image_has_opengl_texture | ( | Image * | ima | ) |
Check if texture has GPU texture code.
Definition at line 801 of file source/blender/blenkernel/intern/image.cc.
References Image::gputexture, i, and TEXTARGET_COUNT.
Referenced by BKE_image_free_old_gputextures(), and BKE_image_paint_set_mipmap().
| bool BKE_image_has_packedfile | ( | const Image * | ima | ) |
Definition at line 5443 of file source/blender/blenkernel/intern/image.cc.
References BLI_listbase_is_empty(), and Image::packedfiles.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_signal(), BKE_packedfile_count_all(), BKE_packedfile_id_check(), BKE_packedfile_id_unpack(), BKE_packedfile_pack_all(), BKE_packedfile_unpack_all(), blender::io::hydra::cache_or_get_image_file(), ED_image_save_all_modified(), ED_image_save_all_modified_info(), blender::io::obj::get_image_filepath(), blender::io::usd::get_in_memory_texture_filename(), image_foreach_path(), image_load_image_file(), image_save_exec(), image_save_invoke(), image_unpack_exec(), image_unpack_invoke(), blender::io::usd::is_packed_texture(), blender::io::usd::load_image(), blender::io::usd::USDMaterialReader::load_tex_image(), blender::io::fbx::load_texture_image(), paint_2d_new_stroke(), and uiTemplateImage().
Definition at line 3110 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_multilayer_index(), ImageUser::layer, ImageUser::multi_index, ImageUser::pass, Image::rr, and ImageUser::view.
Referenced by BKE_image_signal(), and image_open_exec().
| bool BKE_image_is_animated | ( | Image * | image | ) |
Checks the image buffer changes with time (not keyframed values).
Definition at line 5455 of file source/blender/blenkernel/intern/image.cc.
References ELEM, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, and Image::source.
Referenced by BKE_image_all_free_anim_ibufs(), BKE_image_find_nearest_tile_with_offset(), BKE_image_free_anim_gputextures(), BKE_image_user_frame_calc(), BKE_texture_dependsOnTime(), image_editors_update_frame(), image_tag_frame_recalc(), image_user_id_eval_animation(), image_user_id_has_animation(), MOD_init_texture(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), blender::nodes::node_geo_image_texture_cc::node_geo_exec(), and uiTemplateImage().
| bool BKE_image_is_dirty | ( | Image * | image | ) |
Definition at line 5493 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_dirty_writable().
Referenced by BKE_image_find_nearest_tile_with_offset(), blender::io::usd::get_in_memory_texture_filename(), image_foreach_path(), image_pack_exec(), blender::io::usd::is_in_memory_texture(), blender::ed::space_node::node_buts_image_user(), pack_all_invoke(), and uiTemplateImage().
| bool BKE_image_is_dirty_writable | ( | Image * | image, |
| bool * | r_is_writable ) |
Definition at line 5465 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_buffer_format_writable(), Image::cache, IB_BITMAPDIRTY, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), lock, Image::runtime, and ImBuf::userflags.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_is_dirty(), and image_should_be_saved().
| bool BKE_image_is_filename_tokenized | ( | char * | filepath | ) |
Checks if the filename portion of the path contains a UDIM token.
Definition at line 3624 of file source/blender/blenkernel/intern/image.cc.
References BLI_path_basename().
Referenced by BKE_image_ensure_tile_token_filename_only(), BKE_image_get_tile_info(), BKE_image_signal(), and blender::io::usd::get_in_memory_texture_filename().
| bool BKE_image_is_multilayer | ( | const Image * | ima | ) |
For multi-layer images as well as for render-viewer and because rendered results use fake layer/passes, don't correct for wrong indices here.
Definition at line 3823 of file source/blender/blenkernel/intern/image.cc.
References ELEM, IMA_SRC_FILE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, IMA_SRC_VIEWER, IMA_TYPE_MULTILAYER, IMA_TYPE_R_RESULT, Image::source, and Image::type.
Referenced by BKE_image_acquire_multilayer_view_ibuf(), blender::compositor::compute_image_user_for_pass(), and image_get_multiview_index().
| bool BKE_image_is_multiview | ( | const Image * | ima | ) |
Definition at line 3841 of file source/blender/blenkernel/intern/image.cc.
References ListBase::first, view, and Image::views.
Referenced by BKE_image_is_stereo(), BKE_image_memorypack(), BKE_image_reassign_tile(), BKE_image_save_options_init(), BKE_image_user_file_path_ex(), image_free_tile(), image_get_multiview_index(), image_load_image_file(), image_load_movie_file(), image_num_viewfiles(), image_save_as_init(), image_save_single(), image_update_views_format(), and uiblock_layer_pass_buttons().
| bool BKE_image_is_openexr | ( | Image * | ima | ) |
For multi-layer images as well as for single-layer.
Definition at line 3930 of file source/blender/blenkernel/intern/image.cc.
References BLI_path_extension_check(), ELEM, Image::filepath, IMA_SRC_FILE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, Image::source, and UNUSED_VARS.
| bool BKE_image_is_stereo | ( | const Image * | ima | ) |
Definition at line 3847 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multiview(), BLI_findstring(), offsetof, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, and Image::views.
Referenced by BKE_image_multiview_index(), ED_screen_stereo3d_required(), image_get_multiview_index(), image_get_render_result(), image_load_image_file(), image_load_movie_file(), image_save_single(), blender::draw::overlay::Images::stereo_setup(), and uiblock_layer_pass_buttons().
Returns a new image or NULL if it can't load.
Definition at line 1040 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_load_in_lib().
Referenced by blender::bke::tests::ImageTest::load_image(), and blender::io::usd::process_usdz_textures().
Returns existing Image when filename/type is same.
Checks if image was already loaded, then returns same image otherwise creates new (does not load ibuf itself).
Definition at line 1082 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_load_exists_in_lib().
Referenced by blender::io::usd::load_image(), blender::io::obj::load_image_at_path(), blender::io::usd::USDMaterialReader::load_tex_image(), blender::io::fbx::load_texture_image(), WM_operator_drop_load_path(), and DocumentImporter::writeImage().
| Image * BKE_image_load_exists_in_lib | ( | Main * | bmain, |
| std::optional< Library * > | owner_library, | ||
| const char * | filepath, | ||
| bool * | r_exists ) |
Definition at line 1087 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_has_anim(), BKE_image_load_in_lib(), BLI_path_abs(), BLI_path_cmp, Main::curlib, ELEM, FILE_MAX, Image::filepath, ListBase::first, Image::id, ID_BLEND_PATH, id_us_plus(), IMA_SRC_GENERATED, IMA_SRC_VIEWER, image_abs_path(), Main::images, ID::lib, ID::next, Image::source, STRNCPY(), and ID::us.
Referenced by BKE_image_load_exists(), and image_open_single().
| Image * BKE_image_load_in_lib | ( | Main * | bmain, |
| std::optional< Library * > | owner_library, | ||
| const char * | filepath ) |
Definition at line 1045 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_tile_filepath_exists(), BLI_open(), BLI_path_basename(), BLI_path_extension_check_array(), Main::curlib, FILE_MAX, Image::filepath, IMA_SRC_FILE, IMA_SRC_MOVIE, IMA_TYPE_IMAGE, image_abs_path(), image_alloc(), image_init_color_management(), imb_ext_movie, O_BINARY, Image::source, and STRNCPY().
Referenced by BKE_image_load(), and BKE_image_load_exists_in_lib().
Definition at line 5498 of file source/blender/blenkernel/intern/image.cc.
References IB_BITMAPDIRTY, and ImBuf::userflags.
Referenced by BKE_image_find_nearest_tile_with_offset(), BKE_image_replace_imbuf(), BKE_image_scale(), ED_imapaint_dirty_region(), finish_images(), image_flip_exec(), image_invert_exec(), image_rotate_orthogonal_exec(), image_scale_exec(), project_paint_undo_subtiles(), uhandle_restore_list(), and blender::ed::object::write_internal_bake_pixels().
| bool BKE_image_memorypack | ( | Image * | ima | ) |
Pack image to memory.
Definition at line 1413 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multiview(), BKE_image_user_file_path(), BKE_imageuser_default(), BLI_findlink(), BLI_path_suffix(), FILE_MAX, ImageView::filepath, ImBuf::filepath, IMA_GEN_TILE, IMA_NO_INDEX, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_SRC_TILED, IMA_TYPE_IMAGE, image_free_packedfiles(), image_get_cached_ibuf_for_index_entry(), image_memorypack_imbuf(), image_num_viewfiles(), IMB_freeImBuf(), LISTBASE_FOREACH, R_IMF_VIEWS_INDIVIDUAL, R_IMF_VIEWS_STEREO_3D, Image::source, STEREO_LEFT_SUFFIX, STEREO_RIGHT_SUFFIX, ImageUser::tile, tile, Image::tiles, Image::type, view, Image::views, and Image::views_format.
Referenced by ED_image_save_all_modified(), image_pack_exec(), and image_save_exec().
Merge source into dest, and free source.
Definition at line 757 of file source/blender/blenkernel/intern/image.cc.
References BKE_id_free(), Image::cache, imagecache_put(), IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_getUserKey(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), ImageCacheKey::index, and Image::runtime.
Referenced by local_merge().
| RenderPass * BKE_image_multilayer_index | ( | RenderResult * | rr, |
| ImageUser * | iuser ) |
Sets index offset for multi-layer files and because rendered results use fake layer/passes, don't correct for wrong indices here.
Definition at line 3767 of file source/blender/blenkernel/intern/image.cc.
References BLI_listbase_count(), ListBase::first, ImageUser::flag, IMA_SHOW_STEREO, image_render_pass_get(), ImageUser::layer, RenderResult::layers, ImageUser::multi_index, ImageUser::multiview_eye, RenderLayer::next, ImageUser::pass, RenderLayer::passes, RE_HasCombinedLayer(), RE_RenderResult_is_stereo(), and ImageUser::view.
Referenced by BKE_image_acquire_multilayer_view_ibuf(), BKE_image_init_imageuser(), blender::compositor::compute_image_user_for_pass(), image_get_ibuf_multilayer(), image_load_sequence_multilayer(), image_multi_cb(), image_save_single(), blender::image_engine::Instance::image_sync(), ui_imageuser_layer_menu_step(), and ui_imageuser_pass_menu_step().
| void BKE_image_multilayer_stamp_info_callback | ( | void * | data, |
| const Image & | image, | ||
| StampCallback | callback, | ||
| bool | noskip ) |
Definition at line 2512 of file source/blender/blenkernel/intern/image.cc.
References BKE_stamp_info_callback(), data, lock, Image::rr, Image::runtime, and RenderResult::stamp_data.
Sets index offset for multi-view files.
Definition at line 3803 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_stereo(), BLI_listbase_count_at_most(), ImageUser::flag, IMA_SHOW_STEREO, ImageUser::multi_index, ImageUser::multiview_eye, ImageUser::view, and Image::views.
Referenced by blender::compositor::compute_image_user_for_pass(), image_multiview_cb(), image_save_single(), blender::image_engine::Instance::image_sync(), and blender::draw::overlay::Images::stereo_setup().
| void BKE_image_packfiles | ( | ReportList * | reports, |
| Image * | ima, | ||
| const char * | basepath ) |
Definition at line 1480 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_user_file_path(), BKE_imageuser_default(), BKE_packedfile_new(), BLI_addtail(), BLI_freelinkN(), FILE_MAX, ImagePackedFile::filepath, image_num_viewfiles(), LISTBASE_FOREACH, MEM_mallocN(), ImagePackedFile::packedfile, Image::packedfiles, reports, STRNCPY(), ImageUser::tile, tile, ImagePackedFile::tile_number, Image::tiles, ImagePackedFile::view, ImageUser::view, and view.
Referenced by BKE_image_signal(), BKE_packedfile_pack_all(), image_pack_exec(), blender::io::usd::load_image(), and blender::io::usd::USDMaterialReader::load_tex_image().
| void BKE_image_packfiles_from_mem | ( | ReportList * | reports, |
| Image * | ima, | ||
| char * | data, | ||
| const size_t | data_len ) |
Definition at line 1509 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile, BKE_packedfile_new_from_memory(), BKE_report(), BLI_addtail(), data, Image::filepath, ImagePackedFile::filepath, ImageTile::gen_flag, IMA_GEN_TILE, IMA_SRC_TILED, image_num_viewfiles(), MEM_mallocN(), ImagePackedFile::packedfile, Image::packedfiles, reports, RPT_ERROR, Image::source, STRNCPY(), ImagePackedFile::tile_number, and ImagePackedFile::view.
Referenced by blender::io::fbx::load_texture_image().
Definition at line 5028 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BLI_addtail(), BLI_mempool_alloc(), ImagePoolItem::entry, ImagePoolItem::ibuf, ImagePoolItem::image, ImagePool::image_buffers, image_get_entry_and_index(), image_pool_find_item(), image_quick_test(), ImagePoolItem::index, lock, ImagePool::memory_pool, and ImagePool::mutex.
Referenced by BKE_texture_fetch_images_for_pool(), image_sample(), imagewrap(), imagewraposa(), imagewraposa_aniso(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), multitex_nodes_intern(), blender::ed::sculpt_paint::paint_stroke_new(), and texture_nodes_fetch_images_for_pool().
| void BKE_image_pool_free | ( | ImagePool * | pool | ) |
Definition at line 4994 of file source/blender/blenkernel/intern/image.cc.
References BLI_mempool_destroy(), ListBase::first, ImagePool::image_buffers, IMB_freeImBuf(), lock, ImagePool::memory_pool, ImagePool::mutex, and ImagePoolItem::next.
Referenced by brush_painter_2d_refresh_cache(), displaceModifier_do(), dynamicPaint_setInitialColor(), blender::ed::sculpt_paint::load_tex(), project_paint_op(), shader_preview_texture(), and SculptSession::~SculptSession().
| ImagePool * BKE_image_pool_new | ( | ) |
Definition at line 4987 of file source/blender/blenkernel/intern/image.cc.
References BLI_mempool_create(), BLI_MEMPOOL_NOP, and ImagePool::memory_pool.
Referenced by brush_init_tex(), brush_painter_2d_refresh_cache(), blender::compositor::CachedTexture::CachedTexture(), displaceModifier_do(), blender::ed::sculpt_paint::expand::ensure_sculptsession_data(), blender::ed::sculpt_paint::load_tex(), project_paint_op(), and shader_preview_texture().
Definition at line 5080 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_release_ibuf().
Referenced by image_sample(), imagewrap(), imagewraposa(), imagewraposa_aniso(), blender::ed::sculpt_paint::load_tex_task_cb_ex(), multitex_nodes_intern(), and blender::ed::sculpt_paint::paint_stroke_new().
Return image buffer of preview for given image r_width & r_height are optional and return the original size of the image.
Definition at line 4942 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), Box, IMB_byte_from_float(), IMB_dupImBuf(), IMB_scale(), lock, ImBuf::x, and ImBuf::y.
Referenced by ui_tooltip_from_image().
| void BKE_image_print_memlist | ( | Main * | bmain | ) |
Prints memory statistics for images.
Definition at line 1575 of file source/blender/blenkernel/intern/image.cc.
References ListBase::first, Image::id, image_mem_size(), Main::images, ID::name, ID::next, printf, and size().
Definition at line 3547 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multiview(), BKE_image_partial_update_mark_full_update(), BLI_listbase_count(), GPU_texture_free(), Image::gputexture, i, IMA_SRC_TILED, IMA_UDIM_MAX, image_assign_ibuf(), image_get_cached_ibuf_for_index_entry(), image_remove_ibuf(), IMB_freeImBuf(), Image::source, TEXTARGET_2D_ARRAY, TEXTARGET_TILE_MAPPING, tile, and Image::views.
Definition at line 4901 of file source/blender/blenkernel/intern/image.cc.
References BLI_thread_unlock(), IMB_freeImBuf(), lock, LOCK_VIEWER, RE_ReleaseResultImage(), and Image::runtime.
Referenced by blender::io::fbx::add_image_texture(), blender::bke::pbvh::pixels::apply_watertight_check(), blender::ed::space_node::backimage_fit_exec(), bake_images(), blender::ed::object::bake_object_check(), blender::ed::object::bake_targets_init_internal(), BKE_image_fill_tile(), BKE_image_get_float_pixels_for_frame(), BKE_image_get_pixels_for_frame(), BKE_image_get_size(), BKE_image_has_alpha(), BKE_image_pool_release_ibuf(), BKE_image_preview(), BKE_image_save_options_init(), BKE_image_scale(), BKE_image_update_gputexture(), BKE_paint_canvas_key_get(), blender::compositor::CachedImage::CachedImage(), blender::ed::object::clear_single_image(), cmp_node_image_create_outputs(), colorfn(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::compute_image_domain(), blender::bke::pbvh::pixels::copy_pixels(), blender::bke::pbvh::pixels::copy_update(), cryptomatte_init_from_node_image(), blender::bke::pbvh::pixels::do_encode_pixels(), blender::ed::sculpt_paint::paint::image::do_paint_pixels(), blender::ed::sculpt_paint::paint::image::do_push_undo_tile(), blender::ed::space_node::draw_nodespace_back_pix(), draw_plane_marker_image(), ED_image_undo_push_begin_with_image_all_udims(), ED_space_image_acquire_buffer(), ED_space_image_release_buffer(), ED_space_node_color_sample(), ED_space_node_get_position(), blender::io::usd::export_in_memory_texture(), eyedropper_cryptomatte_sample_image_fl(), finish_images(), blender::bke::image::partial_update::ImageTileData::free_data(), blender::io::usd::get_in_memory_texture_filename(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_layers_from_image(), gpu_texture_create_tile_array(), icon_preview_startjob(), image_clipboard_copy_exec(), image_file_format_writable(), image_flip_exec(), image_from_context_has_data_poll(), image_get_gpu_texture(), image_invert_exec(), image_rect_update(), blender::ed::greasepencil::image_render::image_render_end(), image_rotate_orthogonal_exec(), image_save_single(), image_scale_exec(), image_scale_invoke(), image_undosys_step_encode(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::ImageFieldsFunction(), BlenderImageLoader::load_metadata(), BlenderImageLoader::load_pixels(), blender::bke::pbvh::pixels::mark_image_dirty(), metadata_panel_context_draw(), blender::ed::object::multiresbake_check(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), paint_2d_bucket_fill(), paint_2d_canvas_free(), paint_2d_canvas_set(), paint_2d_ensure_tile_canvas(), paint_2d_gradient_fill(), paint_2d_new_stroke(), paint_2d_redraw(), paint_sample_color(), palette_extract_img_exec(), project_paint_end(), project_paint_PickColor(), project_paint_uvpixel_init(), project_paint_uvpixel_mask(), ptile_restore_runtime_map(), RE_bake_ibuf_clear(), blender::ed::greasepencil::ImageBufferAccessor::release(), blender::image_engine::SpaceNodeAccessor::release_buffer(), render_endjob(), blender::ed::space_node::sample_apply(), screen_opengl_render_apply(), blender::ed::space_node::snode_bg_viewmove_invoke(), blender::bke::image::partial_update::ImagePartialUpdateTest::TearDown(), tile_fill_init(), uhandle_restore_list(), uiTemplateImage(), uiTemplateImageInfo(), blender::bke::pbvh::pixels::update_pixels(), blender::ed::space_node::viewer_border_exec(), blender::render::Context::viewer_output_to_viewer_image(), blender::ed::space_node::WIDGETGROUP_node_corner_pin_refresh(), blender::ed::space_node::WIDGETGROUP_node_crop_refresh(), blender::ed::space_node::WIDGETGROUP_node_mask_refresh(), blender::ed::space_node::WIDGETGROUP_node_sbeam_refresh(), blender::ed::space_node::WIDGETGROUP_node_split_refresh(), blender::ed::space_node::WIDGETGROUP_node_transform_refresh(), blender::ed::object::write_internal_bake_pixels(), and blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::~ImageFieldsFunction().
| void BKE_image_release_renderresult | ( | Scene * | scene, |
| Image * | ima, | ||
| RenderResult * | render_result ) |
Definition at line 3912 of file source/blender/blenkernel/intern/image.cc.
References IMA_TYPE_R_RESULT, Image::last_render_slot, lock, RE_FreeRenderResult(), RE_GetSceneRender(), RE_ReleaseResult(), Image::render_slot, Image::rr, Image::runtime, and Image::type.
Referenced by blender::compositor::CachedImage::CachedImage(), draw_render_info(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_layers_from_image(), image_save_single(), ui_imageuser_layer_menu(), ui_imageuser_layer_menu_step(), ui_imageuser_pass_menu(), ui_imageuser_pass_menu_step(), ui_imageuser_view_menu_rr(), uiTemplateImage(), and uiTemplateImageLayers().
Definition at line 5689 of file source/blender/blenkernel/intern/image.cc.
References BLI_findindex(), BLI_findlink(), BLI_listbase_count(), BLI_remlink(), G, Image::last_render_slot, MEM_freeN(), RE_FreeRenderResult(), RE_GetSceneRender(), RE_SwapResult(), RenderSlot::render, Image::render_slot, Image::renderslots, and ImageUser::scene.
Referenced by image_remove_render_slot_exec().
Definition at line 3538 of file source/blender/blenkernel/intern/image.cc.
References IMA_SRC_TILED, image_remove_tile(), Image::source, and tile.
Referenced by BKE_image_signal(), and tile_remove_exec().
For a non-viewer single-buffer image (single frame file, or generated image) replace its image buffer with the given one. If an unsupported image type (multi-layer, image sequence, ...) the function will assert in the debug mode and will have an undefined behavior in the release mode.
Definition at line 1354 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_buffers, BKE_image_mark_dirty(), BLI_assert, ImBufFloatBuffer::data, ELEM, ImBuf::float_buffer, IMA_GEN_FLOAT, IMA_NO_INDEX, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_TYPE_IMAGE, image_assign_ibuf(), image_colorspace_from_imbuf(), Image::source, Image::type, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_add_from_imbuf(), and update_image_from_plane_marker_exec().
Scale the image.
Definition at line 781 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_acquire_ibuf(), BKE_image_mark_dirty(), BKE_image_release_ibuf(), Box, IMB_scale(), and lock.
Referenced by blender::io::usd::process_usdz_textures().
| int BKE_image_sequence_guess_offset | ( | Image * | image | ) |
Guess offset for the first frame in the sequence.
Definition at line 5433 of file source/blender/blenkernel/intern/image.cc.
References BLI_path_sequence_decode(), and Image::filepath.
Referenced by BKE_image_find_nearest_tile_with_offset(), cmp_node_image_create_outputs(), and cryptomatte_init_from_node_image().
| void BKE_image_set_filepath_from_tile_number | ( | char * | filepath, |
| const char * | pattern, | ||
| eUDIM_TILE_FORMAT | tile_format, | ||
| int | tile_number ) |
Definition at line 3748 of file source/blender/blenkernel/intern/image.cc.
References BLI_snprintf(), FILE_MAX, UDIM_TILE_FORMAT_UDIM, UDIM_TILE_FORMAT_UVTILE, and v.
Referenced by BKE_image_save(), BKE_image_signal(), BKE_image_user_file_path_ex(), blender::io::usd::copy_tiled_textures(), blender::io::usd::export_in_memory_texture(), image_foreach_path(), and blender::bke::tests::TEST().
Definition at line 3173 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_add_tile(), BKE_image_ensure_tile_token(), BKE_image_free_buffers, BKE_image_get_tile, BKE_image_get_tile_info(), BKE_image_get_tile_strformat(), BKE_image_has_packedfile(), BKE_image_init_imageuser(), BKE_image_is_filename_tokenized(), BKE_image_packfiles(), BKE_image_partial_update_mark_full_update(), BKE_image_remove_tile(), BKE_image_set_filepath_from_tile_number(), BKE_image_walk_all_users(), BKE_ntree_update(), BKE_ntree_update_tag_id_changed(), BKE_packedfile_free(), BKE_packedfile_new(), BLI_freelistN(), BLI_listbase_count(), BLI_listbase_count_is_equal_to(), BLI_path_abs(), BLI_path_is_rel(), BLI_path_rel(), ELEM, FILE_MAX, Image::filepath, ImageTile::gen_flag, ImageTile::gen_x, ImageTile::gen_y, Image::id, ID_BLEND_PATH, ID_BLEND_PATH_FROM_GLOBAL, IMA_GEN_TILE, IMA_NO_INDEX, IMA_SIGNAL_COLORMANAGE, IMA_SIGNAL_FREE, IMA_SIGNAL_RELOAD, IMA_SIGNAL_SRC_CHANGE, IMA_SIGNAL_USER_NEW_IMAGE, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_SRC_SEQUENCE, IMA_SRC_TILED, IMA_TYPE_IMAGE, IMA_TYPE_MULTILAYER, IMA_TYPE_UV_TEST, image_free_packedfiles(), image_get_cached_ibuf_for_index_entry(), image_num_viewfiles(), image_remove_all_tiles(), image_tag_frame_recalc(), image_tag_reload(), image_update_views_format(), IMB_freeImBuf(), LISTBASE_FOREACH, MEM_freeN(), Image::packedfiles, pf, POINTER_AS_INT, printf, result, Image::runtime, ImageUser::scene, Image::source, STRNCPY(), ImageTile::tile_number, Image::tiles, Image::type, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_save(), BKE_packedfile_unpack_image(), ED_space_image_auto_set(), ED_space_image_set(), image_clipboard_paste_exec(), image_foreach_path(), image_new_exec(), image_open_exec(), image_reload_exec(), image_replace_exec(), blender::ed::space_node::node_add_image_exec(), blender::render::Context::output_to_render_result(), proj_paint_add_slot(), screen_opengl_render_init(), screen_render_exec(), and screen_render_invoke().
| void BKE_image_sort_tiles | ( | Image * | ima | ) |
Definition at line 3597 of file source/blender/blenkernel/intern/image.cc.
References BLI_listbase_sort(), IMA_SRC_TILED, Image::source, tile_sort_cb(), and Image::tiles.
Referenced by gpu_texture_create_tile_mapping(), and tile_add_exec().
| void BKE_image_stamp_buf | ( | Scene * | scene, |
| Object * | camera, | ||
| const StampData * | stamp_data_template, | ||
| uchar * | rect, | ||
| float * | rectf, | ||
| int | width, | ||
| int | height ) |
Definition at line 2004 of file source/blender/blenkernel/intern/image.cc.
References RenderData::bg_stamp, BLF_buffer(), BLF_buffer_col(), BLF_descender(), BLF_disable(), BLF_draw_buffer(), BLF_enable(), BLF_height_max(), blf_mono_font_render, BLF_position(), BLF_size(), BLF_width_max(), BLF_WORD_WRAP, BLF_wordwrap(), buf_rectfill_area(), BUFF_MARGIN_X, BUFF_MARGIN_Y, StampData::camera, StampData::cameralens, StampData::date, ColorManagedDisplaySettings::display_device, Scene::display_settings, RenderData::fg_stamp, StampData::file, StampData::frame, StampData::frame_range, StampData::hostname, IMB_colormanagement_display_get_named(), StampData::marker, StampData::memory, StampData::note, pad, Scene::r, R_STAMP_HIDE_LABELS, StampData::rendertime, StampData::scene, RenderData::stamp, RenderData::stamp_font_id, stampdata(), stampdata_from_template(), StampData::strip, TEXT_SIZE_CHECK, TEXT_SIZE_CHECK_WORD_WRAP, StampData::time, w(), wrap(), x, and y.
Referenced by renderresult_stampinfo(), and screen_opengl_render_doit().
| void BKE_image_tag_time | ( | Image * | ima | ) |
Definition at line 1536 of file source/blender/blenkernel/intern/image.cc.
References BLI_time_now_seconds_i(), and Image::lastused.
Referenced by image_acquire_ibuf(), image_get_gpu_texture(), image_init_after_load(), and multitex().
| bool BKE_image_tile_filepath_exists | ( | const char * | filepath | ) |
When provided with an absolute virtual filepath, check to see if at least one concrete file exists. NOTE: This function requires directory traversal and may be inefficient in time-critical, or iterative, code paths.
Definition at line 3665 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile_number_from_filepath(), BKE_image_get_tile_strformat(), BLI_assert, BLI_filelist_dir_contents(), BLI_filelist_free(), BLI_path_is_rel(), BLI_path_split_dir_part(), dirname(), FILE_MAXDIR, i, IMA_UDIM_MAX, and MEM_SAFE_FREE.
Referenced by BKE_image_load_in_lib().
Definition at line 5261 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_user_file_path_ex(), and G_MAIN.
Referenced by BKE_image_memorypack(), BKE_image_packfiles(), image_file_browse_invoke(), image_init_color_management(), load_image_single(), and load_movie_single().
| void BKE_image_user_file_path_ex | ( | const Main * | bmain, |
| const ImageUser * | iuser, | ||
| const Image * | ima, | ||
| char * | filepath, | ||
| const bool | resolve_udim, | ||
| const bool | resolve_multiview ) |
Definition at line 5266 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile_strformat(), BKE_image_is_multiview(), BKE_image_set_filepath_from_tile_number(), BLI_findlink(), BLI_path_abs(), BLI_path_sequence_decode(), BLI_path_sequence_encode(), BLI_strncpy(), ELEM, FILE_MAX, Image::filepath, ImageView::filepath, ImageUser::framenr, Image::id, ID_BLEND_PATH, IMA_SRC_SEQUENCE, IMA_SRC_TILED, image_get_tile_number_from_iuser(), Image::lastframe, MEM_SAFE_FREE, Image::source, ImageUser::view, and Image::views.
Referenced by BKE_image_save_options_init(), BKE_image_user_file_path(), blender::io::hydra::cache_or_get_image_file(), and image_user_file_path().
Called on frame change or before render.
Definition at line 5152 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_animated(), BKE_image_partial_update_mark_full_update(), BKE_image_user_frame_get(), ImageUser::flag, ImageUser::framenr, Image::gpuframenr, IMA_NEED_FRAME_RECALC, IMA_USER_FRAME_IN_RANGE, and IMAGE_GPU_FRAME_NONE.
Referenced by eyedropper_cryptomatte_sample_image_fl(), blender::compositor::CachedImageContainer::get(), blender::nodes::node_composite_cryptomatte_cc::CryptoMatteOperation::get_image_user(), image_editors_update_frame(), image_match_len_exec(), image_refresh(), image_user_file_path(), image_user_frame_number(), image_user_id_eval_animation(), load_image_single(), MOD_init_texture(), and uiTemplateImage().
| int BKE_image_user_frame_get | ( | const ImageUser * | iuser, |
| int | cfra, | ||
| bool * | r_is_in_range ) |
Definition at line 5090 of file source/blender/blenkernel/intern/image.cc.
References ImageUser::cycl, ImageUser::frames, len, ImageUser::offset, and ImageUser::sfra.
Referenced by BKE_image_user_frame_calc(), blender::ed::space_node::node_buts_image_user(), and uiTemplateImageInfo().
| void BKE_image_user_id_eval_animation | ( | Depsgraph * | depsgraph, |
| ID * | id ) |
Definition at line 5250 of file source/blender/blenkernel/intern/image.cc.
References depsgraph, image_user_id_eval_animation(), and image_walk_id_all_users().
Referenced by blender::deg::DepsgraphNodeBuilder::build_animation_images().
| bool BKE_image_user_id_has_animation | ( | ID * | id | ) |
Dependency graph update for image user users.
Definition at line 5222 of file source/blender/blenkernel/intern/image.cc.
References image_user_id_has_animation(), and image_walk_id_all_users().
Referenced by blender::deg::DepsgraphNodeBuilder::build_animation_images(), blender::deg::DepsgraphRelationBuilder::build_animation_images(), and blender::deg::DepsgraphRelationBuilder::build_texture().
| void BKE_image_walk_all_users | ( | const Main * | mainp, |
| void * | customdata, | ||
| void | callbackImage *ima, ID *iuser_id, ImageUser *iuser, void *customdata ) |
Definition at line 3013 of file source/blender/blenkernel/intern/image.cc.
References Main::cameras, ListBase::first, bNodeTree::id, image_walk_id_all_users(), Main::materials, ID::next, Main::nodetrees, Main::objects, Main::scenes, Main::textures, and Main::wm.
Referenced by BKE_image_signal().
| void BKE_imageuser_default | ( | ImageUser * | iuser | ) |
For reload, refresh, pack.
Definition at line 3103 of file source/blender/blenkernel/intern/image.cc.
References ImageUser::frames, and ImageUser::sfra.
Referenced by bake_images(), blender::ed::object::bake_object_check(), blender::ed::object::bake_targets_init_internal(), BKE_image_get_float_pixels_for_frame(), BKE_image_get_pixels_for_frame(), BKE_image_memorypack(), BKE_image_packfiles(), BKE_image_save(), BKE_image_save_options_init(), blender::ed::object::clear_single_image(), finish_images(), gpu_texture_create_tile_array(), icon_preview_startjob(), image_create(), image_save_single(), image_user_from_context_and_active_tile(), blender::ed::object::multiresbake_check(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), blender::nodes::node_geo_image_texture_cc::node_geo_exec(), blender::nodes::node_shader_tex_environment_cc::node_shader_init_tex_environment(), blender::nodes::node_shader_tex_image_cc::node_shader_init_tex_image(), paint_2d_bucket_fill(), paint_sample_color(), project_paint_PickColor(), project_paint_prepare_all_faces(), pygpu_texture_from_image(), texture_init_data(), tile_fill_init(), and blender::ed::object::write_internal_bake_pixels().
| bool BKE_imbuf_alpha_test | ( | ImBuf * | ibuf | ) |
Definition at line 2616 of file source/blender/blenkernel/intern/image.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, and IMB_get_pixel_count().
Referenced by bake_ibuf_filter(), and image_save_single().
| void BKE_imbuf_stamp_info | ( | const RenderResult * | rr, |
| ImBuf * | ibuf ) |
Definition at line 2588 of file source/blender/blenkernel/intern/image.cc.
References BKE_stamp_info_callback(), IMB_metadata_ensure(), ImBuf::metadata, metadata_set_field(), and RenderResult::stamp_data.
Referenced by BKE_imbuf_write_stamp(), image_get_ibuf_multilayer(), image_load_sequence_multilayer(), image_save_single(), and renderresult_set_passes_metadata().
| bool BKE_imbuf_write | ( | ImBuf * | ibuf, |
| const char * | filepath, | ||
| const ImageFormatData * | imf ) |
Definition at line 2638 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_format_to_imbuf(), BLI_file_ensure_parent_dir_exists(), IB_byte_data, and IMB_save_image().
Referenced by BKE_imbuf_write_as(), BKE_imbuf_write_stamp(), image_render_write_stamp_test(), screenshot_exec(), and blender::ed::object::write_external_bake_pixels().
| bool BKE_imbuf_write_as | ( | ImBuf * | ibuf, |
| const char * | filepath, | ||
| const ImageFormatData * | imf, | ||
| bool | save_copy ) |
Same as BKE_imbuf_write() but crappy workaround not to permanently modify some, values in the imbuf.
Definition at line 2652 of file source/blender/blenkernel/intern/image.cc.
References BKE_imbuf_write(), ImBuf::foptions, ImBuf::ftype, ImageFormatData::planes, and ImBuf::planes.
Referenced by blender::io::usd::export_in_memory_imbuf(), and image_save_single().
| bool BKE_imbuf_write_stamp | ( | const Scene * | scene, |
| const RenderResult * | rr, | ||
| ImBuf * | ibuf, | ||
| const char * | filepath, | ||
| const ImageFormatData * | imf ) |
Definition at line 2675 of file source/blender/blenkernel/intern/image.cc.
References BKE_imbuf_stamp_info(), BKE_imbuf_write(), Scene::r, R_STAMP_ALL, and RenderData::stamp.
Referenced by image_render_write_stamp_test().
| void BKE_render_result_stamp_data | ( | RenderResult * | rr, |
| const char * | key, | ||
| const char * | value ) |
Definition at line 2526 of file source/blender/blenkernel/intern/image.cc.
References BLI_addtail(), BLI_strdup(), StampData::custom_fields, StampDataCustomField::key, MEM_callocN(), MEM_mallocN(), RenderResult::stamp_data, STRNCPY(), and StampDataCustomField::value.
Referenced by add_render_result_meta_data(), metadata_copy_custom_fields(), blender::compositor::FileOutput::save(), and blender::bke::cryptomatte::tests::TEST().
| void BKE_render_result_stamp_info | ( | Scene * | scene, |
| Object * | camera, | ||
| RenderResult * | rr, | ||
| bool | allocate_only ) |
Definition at line 2398 of file source/blender/blenkernel/intern/image.cc.
References MEM_callocN(), Scene::r, R_STAMP_ALL, RenderData::stamp, RenderResult::stamp_data, and stampdata().
Referenced by do_render_full_pipeline(), do_render_sequencer(), blender::compositor::FileOutput::save(), screen_opengl_render_write(), screen_opengl_views_setup(), and write_result().
Definition at line 2539 of file source/blender/blenkernel/intern/image.cc.
References BLI_duplicatelist(), StampData::custom_fields, LISTBASE_FOREACH, and MEM_dupallocN().
Referenced by RE_DuplicateRenderResult(), and render_result_uncrop().
| void BKE_stamp_data_free | ( | StampData * | stamp_data | ) |
Definition at line 2555 of file source/blender/blenkernel/intern/image.cc.
References BLI_freelistN(), StampData::custom_fields, LISTBASE_FOREACH, and MEM_freeN().
Referenced by render_result_free().
| void BKE_stamp_info_callback | ( | void * | data, |
| StampData * | stamp_data, | ||
| StampCallback | callback, | ||
| bool | noskip ) |
Definition at line 2471 of file source/blender/blenkernel/intern/image.cc.
References CALL, StampData::custom_fields, data, and LISTBASE_FOREACH.
Referenced by BKE_image_multilayer_stamp_info_callback(), BKE_imbuf_stamp_info(), BKE_stamp_info_from_imbuf(), CryptomatteSession::CryptomatteSession(), IMB_exr_begin_write(), blender::render::Context::populate_meta_data_for_pass(), and blender::bke::cryptomatte::tests::TEST().
| void BKE_stamp_info_from_imbuf | ( | RenderResult * | rr, |
| ImBuf * | ibuf ) |
Definition at line 2604 of file source/blender/blenkernel/intern/image.cc.
References BKE_stamp_info_callback(), IMB_metadata_ensure(), IMB_metadata_foreach(), MEM_callocN(), ImBuf::metadata, metadata_copy_custom_fields(), metadata_get_field(), and RenderResult::stamp_data.
Referenced by do_render_sequencer().
Fills in the static stamp data (i.e. everything except things that can change per frame). The caller is responsible for freeing the allocated memory.
Definition at line 2425 of file source/blender/blenkernel/intern/image.cc.
References MEM_callocN(), Scene::r, R_STAMP_ALL, RenderData::stamp, and stampdata().
| bool BKE_stamp_is_known_field | ( | const char * | field_name | ) |
Check whether the given metadata field name translates to a known field of a stamp.
Definition at line 2459 of file source/blender/blenkernel/intern/image.cc.
References i, stamp_metadata_fields, and STREQ.
Referenced by metadata_copy_custom_fields(), and metadata_is_custom_drawable().
Definition at line 735 of file source/blender/blenkernel/intern/image.cc.
References BKE_packedfile_duplicate(), BLI_addtail(), BLI_listbase_clear(), ImagePackedFile::filepath, ListBase::first, MEM_mallocN(), ImagePackedFile::next, ImagePackedFile::packedfile, STRNCPY(), ImagePackedFile::tile_number, and ImagePackedFile::view.
Referenced by image_copy_data().
|
static |
Distance squared between #co and the unit square with lower-left starting at #udim.
Definition at line 913 of file source/blender/blenkernel/intern/image.cc.
References distance_to_unit_interval(), len_squared_v2(), and sub_v2_v2v2().
Referenced by BKE_image_find_nearest_tile_with_offset().
|
static |
Linear distance between x and the unit interval.
Definition at line 892 of file source/blender/blenkernel/intern/image.cc.
References x.
Referenced by distance_squared_to_udim().
|
static |
Definition at line 4836 of file source/blender/blenkernel/intern/image.cc.
References BLI_findstringindex(), BLI_listbase_count_at_most(), offsetof, Image::rr, ImageUser::view, view, and RenderResult::views.
Referenced by BKE_image_acquire_multilayer_view_ibuf().
|
constexpr |
Definition at line 439 of file source/blender/blenkernel/intern/image.cc.
References IDTypeInfo::asset_type_info, IDTypeInfo::blend_read_after_liblink, IDTypeInfo::blend_read_data, IDTypeInfo::blend_read_undo_preserve, IDTypeInfo::blend_write, BLT_I18NCONTEXT_ID_IMAGE, IDTypeInfo::copy_data, IDTypeInfo::dependencies_id_types, FILTER_ID_IM, IDTypeInfo::flags, IDTypeInfo::foreach_cache, IDTypeInfo::foreach_id, IDTypeInfo::foreach_path, IDTypeInfo::free_data, IDTypeInfo::id_code, IDTypeInfo::id_filter, ID_IM, IDTYPE_FLAGS_APPEND_IS_REUSABLE, IDTYPE_FLAGS_NO_ANIMDATA, image_blend_read_after_liblink(), image_blend_read_data(), image_blend_write(), image_copy_data(), image_foreach_cache(), image_foreach_path(), image_free_data(), image_init_data(), INDEX_ID_IM, IDTypeInfo::init_data, IDTypeInfo::lib_override_apply_post, IDTypeInfo::main_listbase_index, IDTypeInfo::make_local, IDTypeInfo::name, IDTypeInfo::name_plural, IDTypeInfo::owner_pointer_get, IDTypeInfo::struct_size, and IDTypeInfo::translation_context.
|
static |
Definition at line 1026 of file source/blender/blenkernel/intern/image.cc.
References BKE_main_blendfile_path(), BLI_path_abs(), BLI_strncpy(), FILE_MAX, and Library::runtime.
Referenced by BKE_image_load_exists_in_lib(), BKE_image_load_in_lib(), blender::io::usd::export_in_memory_imbuf(), blender::io::usd::export_in_memory_texture(), and blender::io::usd::export_packed_texture().
Checks optional ImageUser and verifies/creates ImBuf.
Definition at line 4701 of file source/blender/blenkernel/intern/image.cc.
References add_ibuf_for_tile(), BKE_image_get_tile, BKE_image_tag_time(), BLI_thread_lock(), ELEM, ImageTile::gen_depth, ImageTile::gen_x, ImageTile::gen_y, IB_byte_data, IB_float_data, IB_PERSISTENT, IMA_GEN_TILE, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, IMA_TYPE_IMAGE, IMA_TYPE_MULTILAYER, IMA_TYPE_R_RESULT, image_assign_ibuf(), image_get_cached_ibuf(), image_get_cached_ibuf_for_index_entry(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_image_file(), image_load_movie_file(), image_load_sequence_multilayer(), image_quick_test(), IMB_allocImBuf(), LOCK_VIEWER, Image::source, tile, Image::type, and ImBuf::userflags.
Referenced by BKE_image_acquire_ibuf(), BKE_image_acquire_multilayer_view_ibuf(), and BKE_image_has_ibuf().
|
static |
Definition at line 3985 of file source/blender/blenkernel/intern/image.cc.
References BLI_addhead(), BLI_addtail(), BLI_findstring(), BLI_insertlinkafter(), ImageView::filepath, MEM_mallocN(), ImageView::name, offsetof, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, STREQ, STRNCPY(), and Image::views.
Referenced by BKE_image_add_generated(), image_update_views_format(), and image_viewer_create_views().
|
static |
Definition at line 683 of file source/blender/blenkernel/intern/image.cc.
References BKE_libblock_alloc_in_lib(), ID_IM, and image_init().
Referenced by BKE_image_add_from_imbuf(), BKE_image_add_generated(), BKE_image_ensure_viewer(), and BKE_image_load_in_lib().
Definition at line 718 of file source/blender/blenkernel/intern/image.cc.
References IMA_MAKE_INDEX, IMA_NO_INDEX, and imagecache_put().
Referenced by BKE_image_add_generated(), BKE_image_fill_tile(), BKE_image_reassign_tile(), BKE_image_replace_imbuf(), image_acquire_ibuf(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_image_file(), image_load_movie_file(), and image_load_sequence_multilayer().
|
static |
Definition at line 426 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_buffers, and Image::cache.
Referenced by get_type_info().
|
static |
Definition at line 389 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, BKE_packedfile_blend_read(), BKE_previewimg_blend_read(), BLI_listbase_clear(), BLI_remlink(), BLO_read_data_is_undo(), BLO_read_struct, BLO_read_struct_list, Image::filepath, ListBase::first, image_gpu_runtime_reset(), Image::last_render_slot, LISTBASE_FOREACH_MUTABLE, MEM_freeN(), Image::packedfiles, Image::preview, Image::render_slot, Image::renderslots, Image::runtime, Image::stereo3d_format, Image::tiles, and Image::views.
Referenced by get_type_info().
|
static |
Definition at line 333 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, BKE_id_blend_write(), BKE_packedfile_blend_write(), BKE_previewimg_blend_write(), BLI_assert, BLI_listbase_clear(), BLO_write_id_struct, BLO_write_is_undo(), BLO_write_struct, BLO_write_struct_list, Image::cache, ListBase::first, Image::gputexture, i, Image::id, ID_IS_OVERRIDE_LIBRARY, image_gpu_runtime_reset(), LISTBASE_FOREACH, ImagePackedFile::packedfile, Image::packedfiles, Image::preview, Image::renderslots, Image::stereo3d_format, Image::tiles, and Image::views.
Referenced by get_type_info().
|
static |
Definition at line 1143 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_buf_fill_checker(), BKE_image_buf_fill_checker_color(), BKE_image_buf_fill_color(), ImageFillData::fill_color, ImageFillData::gen_type, ImageFillData::height, IMA_GENTYPE_GRID, IMA_GENTYPE_GRID_COLOR, ImageFillData::rect, ImageFillData::rect_float, and ImageFillData::width.
Referenced by add_ibuf_for_tile().
Definition at line 1305 of file source/blender/blenkernel/intern/image.cc.
References ImBuf::byte_buffer, COLOR_ROLE_DEFAULT_BYTE, COLOR_ROLE_DEFAULT_FLOAT, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, Image::colorspace_settings, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_colormanagement_colorspace_get_name(), IMB_colormanagement_role_colorspace_name_get(), ColorManagedColorspaceSettings::name, and STRNCPY().
Referenced by BKE_image_replace_imbuf().
|
static |
Definition at line 158 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, BKE_color_managed_colorspace_settings_copy(), BKE_previewimg_id_copy(), BLI_duplicatelist(), BLI_listbase_clear(), Image::cache, Image::colorspace_settings, copy_image_packedfiles(), flag, Image::gputexture, i, Image::id, LIB_ID_COPY_NO_PREVIEW, LISTBASE_FOREACH, MEM_dupallocN(), Image::packedfiles, Image::preview, Image::renderslots, Image::rr, Image::runtime, Image::stereo3d_format, TEXTARGET_COUNT, Image::tiles, and Image::views.
Referenced by get_type_info().
Definition at line 5190 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_animated(), BKE_image_user_frame_calc(), ImageUser::flag, IMA_ANIM_ALWAYS, and IMA_NEED_FRAME_RECALC.
Referenced by BKE_image_editors_update_frame().
|
static |
Definition at line 234 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, BLI_ghashutil_strhash_p(), Image::cache, ListBase::first, Image::gputexture, IDCacheKey::id_session_uid, IDCacheKey::identifier, ListBase::last, LISTBASE_FOREACH, offsetof, Image::renderslots, Image::rr, TEXTARGET_COUNT, and texture().
Referenced by get_type_info().
|
static |
Definition at line 276 of file source/blender/blenkernel/intern/image.cc.
References BKE_bpath_foreach_path_fixed_process(), BKE_BPATH_FOREACH_PATH_RELOAD_EDITED, BKE_BPATH_FOREACH_PATH_RESOLVE_TOKEN, BKE_BPATH_FOREACH_PATH_SKIP_PACKED, BKE_image_get_tile_strformat(), BKE_image_has_packedfile(), BKE_image_is_dirty(), BKE_image_set_filepath_from_tile_number(), BKE_image_signal(), BLI_path_join, BLI_path_split_dir_part(), BLI_path_split_file_part(), BPathForeachPathData::bmain, ELEM, FILE_MAX, FILE_MAXDIR, FILE_MAXFILE, Image::filepath, ListBase::first, BPathForeachPathData::flag, flag, IMA_SIGNAL_RELOAD, IMA_SRC_FILE, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, MEM_SAFE_FREE, result, Image::source, STRNCPY(), and Image::tiles.
Referenced by get_type_info().
|
static |
Definition at line 600 of file source/blender/blenkernel/intern/image.cc.
References ImageAnim::anim, Image::anims, BLI_remlink(), ListBase::last, MEM_freeN(), and MOV_close().
Referenced by BKE_image_free_buffers_ex(), and image_load_movie_file().
|
static |
Definition at line 570 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, and IMB_moviecache_free().
Referenced by BKE_image_ensure_viewer_views(), BKE_image_free_buffers_ex(), and image_load_sequence_multilayer().
|
static |
Definition at line 205 of file source/blender/blenkernel/intern/image.cc.
References BKE_icon_id_delete(), BKE_image_free_buffers, BKE_image_free_views(), BKE_previewimg_free(), BLI_freelistN(), Image::id, image_free_packedfiles(), image_runtime_free_data(), LISTBASE_FOREACH, MEM_SAFE_FREE, Image::preview, RE_FreeRenderResult(), Image::renderslots, Image::runtime, Image::stereo3d_format, and Image::tiles.
Referenced by BKE_image_free_data(), and get_type_info().
|
static |
Definition at line 578 of file source/blender/blenkernel/intern/image.cc.
References BKE_packedfile_free(), BLI_remlink(), ListBase::last, MEM_freeN(), ImagePackedFile::packedfile, and Image::packedfiles.
Referenced by BKE_image_free_packedfiles(), BKE_image_memorypack(), BKE_image_signal(), image_free_data(), image_load_image_file(), and image_memorypack_imbuf().
Definition at line 3122 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multiview(), BKE_image_partial_update_mark_full_update(), BLI_listbase_count(), ELEM, ListBase::first, GPU_texture_free(), Image::gputexture, i, image_remove_ibuf(), TEXTARGET_2D_ARRAY, TEXTARGET_COUNT, TEXTARGET_TILE_MAPPING, tile, Image::tiles, and Image::views.
Referenced by BKE_image_fill_tile(), and image_remove_tile().
|
static |
Definition at line 4625 of file source/blender/blenkernel/intern/image.cc.
References ELEM, ImageUser::framenr, IMA_SRC_FILE, IMA_SRC_GENERATED, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, IMA_SRC_VIEWER, IMA_TYPE_IMAGE, IMA_TYPE_MULTILAYER, image_get_cached_ibuf_for_index_entry(), image_get_multiview_index(), image_get_tile_number_from_iuser(), Image::lastframe, Image::source, and Image::type.
Referenced by BKE_image_has_ibuf(), and image_acquire_ibuf().
|
static |
Get the ibuf from an image cache by its index and entry. Local use here only.
Definition at line 706 of file source/blender/blenkernel/intern/image.cc.
References IMA_MAKE_INDEX, IMA_NO_INDEX, and imagecache_get().
Referenced by BKE_image_memorypack(), BKE_image_reassign_tile(), BKE_image_signal(), image_acquire_ibuf(), image_get_cached_ibuf(), and image_get_render_result().
|
static |
Definition at line 4595 of file source/blender/blenkernel/intern/image.cc.
References ImageUser::framenr, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, IMA_SRC_TILED, IMA_TYPE_IMAGE, IMA_TYPE_MULTILAYER, image_get_multiview_index(), image_get_tile_number_from_iuser(), Image::lastframe, Image::source, and Image::type.
Referenced by BKE_image_pool_acquire_ibuf().
Definition at line 4408 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_multilayer_index(), BKE_imbuf_stamp_info(), copy_v2_v2_db(), RenderPass::ibuf, IMA_NO_INDEX, IMA_TYPE_IMAGE, image_assign_ibuf(), image_init_after_load(), image_load_image_file(), IMB_refImBuf(), ImageUser::multi_index, ImBuf::ppm, RenderResult::ppm, Image::rr, and Image::type.
Referenced by image_acquire_ibuf().
Definition at line 4572 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_has_multiple_ibufs(), BKE_image_is_multilayer(), BKE_image_is_multiview(), BKE_image_is_stereo(), Image::eye, IMA_NO_INDEX, IMA_SRC_VIEWER, IMA_TYPE_COMPOSITE, ImageUser::multi_index, Image::source, and Image::type.
Referenced by image_get_cached_ibuf(), and image_get_entry_and_index().
Definition at line 4441 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_renderslot(), BKE_image_is_stereo(), BLI_findlink(), BLI_thread_lock(), ImBuf::byte_buffer, Image::cache, ImBufByteBuffer::data, ImBuf::dither, RenderData::dither_intensity, ListBase::first, ImageUser::flag, RenderResult::have_combined, RenderPass::ibuf, RenderResult::ibuf, RenderView::ibuf, IMA_NO_INDEX, IMA_SHOW_STEREO, image_assign_ibuf(), image_get_cached_ibuf_for_index_entry(), image_render_pass_get(), IMB_allocImBuf(), IMB_freeImBuf(), IMB_refImBuf(), Image::last_render_slot, ImageUser::layer, RenderResult::layers, LOCK_VIEWER, ImageUser::multiview_eye, ImageUser::pass, Scene::r, RE_AcquireResultImage(), RE_GetSceneRender(), RE_ReleaseResultImage(), RenderResult::rectx, RenderResult::recty, RenderSlot::render, Image::render_slot, ImageUser::scene, ImageUser::view, RenderResult::views, ImBuf::x, and ImBuf::y.
Referenced by image_acquire_ibuf().
Definition at line 813 of file source/blender/blenkernel/intern/image.cc.
References BLI_assert, ListBase::first, ImageUser::tile, tile, and Image::tiles.
Referenced by BKE_image_get_tile_from_iuser(), BKE_image_user_file_path_ex(), image_get_cached_ibuf(), image_get_entry_and_index(), and load_image_single().
|
static |
Definition at line 139 of file source/blender/blenkernel/intern/image.cc.
References Image::gpu_layer, Image::gpu_pass, Image::gpu_view, Image::gpuflag, Image::gpuframenr, IMAGE_GPU_FRAME_NONE, IMAGE_GPU_LAYER_NONE, IMAGE_GPU_PASS_NONE, IMAGE_GPU_VIEW_NONE, and Image::lastused.
Referenced by image_blend_read_data(), and image_blend_write().
|
static |
Definition at line 655 of file source/blender/blenkernel/intern/image.cc.
References BKE_color_managed_colorspace_settings_init(), BKE_image_add_renderslot(), BLI_addtail(), BLI_assert, Image::colorspace_settings, DNA_struct_default_get, Image::flag, i, IMA_SRC_VIEWER, IMA_TYPE_R_RESULT, IMA_VIEW_AS_RENDER, imagetile_alloc(), MEM_callocN(), MEMCMP_STRUCT_AFTER_IS_ZERO, MEMCPY_STRUCT_AFTER, Image::runtime, Image::source, Image::stereo3d_format, tile, Image::tiles, and Image::type.
Referenced by ED_spacetype_image(), image_alloc(), image_init_data(), paint_2d_bucket_fill(), and paint_2d_gradient_fill().
Common stuff to do with images after loading.
Definition at line 4043 of file source/blender/blenkernel/intern/image.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), BKE_image_get_tile_from_iuser, BKE_image_tag_time(), BLI_assert, BLI_thread_is_main(), G, Image::id, Image::preview, tile, and UNUSED_VARS_NDEBUG.
Referenced by image_get_ibuf_multilayer(), image_load_sequence_multilayer(), load_image_single(), and load_movie_single().
|
static |
Definition at line 983 of file source/blender/blenkernel/intern/image.cc.
References Image::alpha_mode, BKE_image_user_file_path(), Image::colorspace_settings, FILE_MAX, ImBuf::flags, IB_alphamode_channel_packed, IB_alphamode_detect, IB_alphamode_ignore, IB_alphamode_premul, IB_test, IMA_ALPHA_CHANNEL_PACKED, IMA_ALPHA_IGNORE, IMA_ALPHA_PREMUL, IMA_ALPHA_STRAIGHT, IMB_freeImBuf(), IMB_load_image_from_filepath(), and ColorManagedColorspaceSettings::name.
Referenced by BKE_image_load_in_lib().
|
static |
Definition at line 149 of file source/blender/blenkernel/intern/image.cc.
References IMA_SRC_GENERATED, IMA_TYPE_UV_TEST, and image_init().
Referenced by get_type_info().
|
static |
Definition at line 3854 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_views(), BLI_addtail(), BLI_listbase_count(), ListBase::first, LISTBASE_FOREACH, MEM_callocN(), ImageView::name, RenderView::name, ImageView::next, RenderView::next, STREQ, STRNCPY(), Image::views, and RenderResult::views.
Referenced by BKE_image_acquire_renderresult().
|
static |
Definition at line 4337 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_buffers, BKE_image_has_packedfile(), BKE_image_is_multiview(), BKE_image_is_stereo(), BLI_assert, BLI_listbase_count(), BLI_listbase_count_is_equal_to(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), i, IMA_NO_INDEX, IMA_SRC_TILED, image_assign_ibuf(), image_free_packedfiles(), image_num_viewfiles(), IMB_freeImBuf(), IMB_ImBufFromStereo3d(), load_image_single(), ImageUser::multi_index, Image::packedfiles, R_IMF_VIEWS_STEREO_3D, Image::source, Image::stereo3d_format, Image::tiles, Image::views, and Image::views_format.
Referenced by image_acquire_ibuf(), image_get_ibuf_multilayer(), and image_load_sequence_multilayer().
Definition at line 4189 of file source/blender/blenkernel/intern/image.cc.
References Image::anims, BKE_image_is_multiview(), BKE_image_is_stereo(), BLI_addtail(), BLI_listbase_count(), BLI_listbase_count_is_equal_to(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), i, image_assign_ibuf(), image_free_anims(), image_num_viewfiles(), IMB_freeImBuf(), IMB_ImBufFromStereo3d(), load_movie_single(), MEM_callocN(), ImageUser::multi_index, R_IMF_VIEWS_STEREO_3D, Image::stereo3d_format, Image::views, and Image::views_format.
Referenced by image_acquire_ibuf().
|
static |
Definition at line 4095 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_multilayer_index(), BKE_imbuf_stamp_info(), copy_v2_v2_db(), RenderResult::framenr, RenderPass::ibuf, IMA_TYPE_IMAGE, image_assign_ibuf(), image_free_cached_frames(), image_init_after_load(), image_load_image_file(), IMB_refImBuf(), ImageUser::multi_index, ImBuf::ppm, RenderResult::ppm, printf, RE_FreeRenderResult(), Image::rr, and Image::type.
Referenced by image_acquire_ibuf().
|
static |
Definition at line 1541 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, IMA_SRC_VIEWER, IMB_get_size_in_memory(), IMB_MIPMAP_LEVELS, IMB_moviecacheIter_done(), IMB_moviecacheIter_free(), IMB_moviecacheIter_getImBuf(), IMB_moviecacheIter_new(), IMB_moviecacheIter_step(), lock, ImBuf::mipmap, Image::runtime, size(), and Image::source.
Referenced by BKE_image_free_all_textures(), and BKE_image_print_memlist().
|
static |
Pack image buffer to memory as PNG or EXR.
Definition at line 1383 of file source/blender/blenkernel/intern/image.cc.
References BKE_packedfile_new_from_memory(), BLI_addtail(), CLOG_STR_ERROR, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::encoded_buffer, ImBuf::encoded_size, ImagePackedFile::filepath, ImBuf::float_buffer, ImBuf::ftype, IB_BITMAPDIRTY, IB_byte_data, IB_mem, image_free_packedfiles(), IMB_freeImBuf(), IMB_FTYPE_OPENEXR, IMB_FTYPE_PNG, IMB_save_image(), IMB_steal_encoded_buffer(), LOG, MEM_mallocN(), ImagePackedFile::packedfile, Image::packedfiles, pf, STRNCPY(), ImagePackedFile::tile_number, ImBuf::userflags, ImagePackedFile::view, and view.
Referenced by BKE_image_memorypack().
|
static |
Definition at line 4080 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_multiview(), BLI_listbase_count(), R_IMF_VIEWS_STEREO_3D, Image::views, and Image::views_format.
Referenced by BKE_image_memorypack(), BKE_image_packfiles(), BKE_image_packfiles_from_mem(), BKE_image_signal(), image_load_image_file(), and image_load_movie_file().
| BLI_INLINE ImBuf * image_pool_find_item | ( | ImagePool * | pool, |
| Image * | image, | ||
| int | entry, | ||
| int | index, | ||
| bool * | r_found ) |
Definition at line 5014 of file source/blender/blenkernel/intern/image.cc.
References BLI_INLINE, ImagePool::image_buffers, and LISTBASE_FOREACH.
Referenced by BKE_image_pool_acquire_ibuf().
| BLI_INLINE bool image_quick_test | ( | Image * | ima, |
| const ImageUser * | iuser ) |
Definition at line 4682 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_get_tile_from_iuser, BLI_INLINE, and tile.
Referenced by BKE_image_has_ibuf(), BKE_image_pool_acquire_ibuf(), and image_acquire_ibuf().
|
static |
Definition at line 3165 of file source/blender/blenkernel/intern/image.cc.
References image_remove_tile(), ListBase::last, and Image::tiles.
Referenced by BKE_image_signal().
|
static |
Definition at line 727 of file source/blender/blenkernel/intern/image.cc.
References IMA_MAKE_INDEX, IMA_NO_INDEX, and imagecache_remove().
Referenced by BKE_image_reassign_tile(), and image_free_tile().
Definition at line 3151 of file source/blender/blenkernel/intern/image.cc.
References BLI_listbase_is_single(), BLI_remlink(), image_free_tile(), MEM_freeN(), tile, and Image::tiles.
Referenced by BKE_image_remove_tile(), and image_remove_all_tiles().
|
static |
Definition at line 3375 of file source/blender/blenkernel/intern/image.cc.
References ListBase::first, RenderPass::name, RenderPass::next, RenderLayer::passes, STREQ, view, and RenderPass::view_id.
Referenced by BKE_image_multilayer_index(), and image_get_render_result().
|
static |
Definition at line 130 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_partial_update_free(), BKE_image_partial_update_register_free(), and Image::runtime.
Referenced by image_free_data().
|
static |
Definition at line 3073 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_animated(), DEG_id_tag_update(), ImageUser::flag, ID_RECALC_SYNC_TO_EVAL, and IMA_NEED_FRAME_RECALC.
Referenced by BKE_image_signal().
Definition at line 3087 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_partial_update_mark_full_update(), DEG_id_tag_update(), ID_RECALC_SYNC_TO_EVAL, image_update_views_format(), and ImageUser::scene.
Referenced by BKE_image_signal().
Definition at line 5596 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_free_views(), BKE_image_is_multiview(), BKE_scene_multiview_is_render_view_active(), BKE_scene_multiview_view_prefix_get(), BLI_open(), BLI_path_abs(), BLI_remlink(), FILE_MAX, Image::filepath, ImageView::filepath, Image::flag, i, Image::id, ID_BLEND_PATH_FROM_GLOBAL, IMA_USE_VIEWS, image_add_view(), ListBase::last, LISTBASE_FOREACH, MEM_freeN(), O_BINARY, ImageView::prev, Scene::r, R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, RenderData::scemode, ImageUser::scene, SNPRINTF, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, STRNCPY(), Image::views, RenderData::views, and Image::views_format.
Referenced by BKE_image_signal(), and image_tag_reload().
|
static |
Definition at line 5232 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_animated(), BKE_image_user_frame_calc(), DAG_EVAL_RENDER, DEG_get_ctime(), DEG_get_mode(), depsgraph, ImageUser::flag, IMA_ANIM_ALWAYS, and IMA_NEED_FRAME_RECALC.
Referenced by BKE_image_user_id_eval_animation().
Definition at line 5212 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_is_animated().
Referenced by BKE_image_user_id_has_animation().
|
static |
Definition at line 2780 of file source/blender/blenkernel/intern/image.cc.
References BKE_scene_multiview_is_render_view_active(), image_add_view(), LISTBASE_FOREACH, R_MULTIVIEW, RenderData::scemode, and RenderData::views.
Referenced by BKE_image_ensure_viewer_views().
|
static |
Definition at line 2798 of file source/blender/blenkernel/intern/image.cc.
References BKE_scene_multiview_is_render_view_active(), BKE_scene_multiview_num_views_get(), BLI_findstring(), BLI_listbase_count(), ListBase::first, LISTBASE_FOREACH, ImageView::name, offsetof, R_MULTIVIEW, RenderData::scemode, Image::views, and RenderData::views.
Referenced by BKE_image_ensure_viewer_views().
|
static |
Definition at line 2911 of file source/blender/blenkernel/intern/image.cc.
References GPU_material_textures(), and LISTBASE_FOREACH.
Referenced by image_walk_id_all_users().
|
static |
Definition at line 2928 of file source/blender/blenkernel/intern/image.cc.
References bScreen::areabase, Camera::bg_images, BKE_workspace_active_screen_get(), Object::data, Object::empty_drawtype, Material::gpumaterial, World::gpumaterial, GS, bNodeTree::id, Light::id, Material::id, Object::id, Scene::id, Tex::id, World::id, ID_CA, ID_LA, ID_MA, ID_NT, ID_OB, ID_SCE, ID_TE, ID_WM, ID_WO, Tex::ima, SpaceImage::image, image_walk_gpu_materials(), image_walk_ntree_all_users(), Object::iuser, SpaceImage::iuser, Tex::iuser, LISTBASE_FOREACH, ID::name, Light::nodetree, Material::nodetree, Scene::nodetree, Tex::nodetree, World::nodetree, OB_EMPTY_IMAGE, SPACE_IMAGE, TEX_IMAGE, Tex::type, Light::use_nodes, Material::use_nodes, Scene::use_nodes, Tex::use_nodes, World::use_nodes, and wmWindowManager::windows.
Referenced by BKE_image_editors_update_frame(), BKE_image_user_id_eval_animation(), BKE_image_user_id_has_animation(), and BKE_image_walk_all_users().
|
static |
Definition at line 2859 of file source/blender/blenkernel/intern/image.cc.
References CMP_NODE_CRYPTOMATTE, CMP_NODE_CRYPTOMATTE_SOURCE_IMAGE, CMP_NODE_IMAGE, Image::id, NodeTexImage::iuser, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE, SH_NODE_TEX_ENVIRONMENT, SH_NODE_TEX_IMAGE, TEX_NODE_IMAGE, and bNodeTree::type.
Referenced by image_walk_id_all_users().
|
static |
Definition at line 1599 of file source/blender/blenkernel/intern/image.cc.
References IB_BITMAPDIRTY, and ImBuf::userflags.
Referenced by BKE_image_free_all_textures().
|
static |
Definition at line 1651 of file source/blender/blenkernel/intern/image.cc.
References IB_BITMAPDIRTY, IMA_INDEX_ENTRY, IMA_NO_INDEX, ImBuf::index, and ImBuf::userflags.
Referenced by BKE_image_free_anim_ibufs().
Definition at line 553 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, IMB_moviecache_get(), and ImageCacheKey::index.
Referenced by image_get_cached_ibuf_for_index_entry().
|
static |
Definition at line 507 of file source/blender/blenkernel/intern/image.cc.
References b, and ImageCacheKey::index.
Referenced by imagecache_put().
|
static |
Definition at line 501 of file source/blender/blenkernel/intern/image.cc.
References ImageCacheKey::index.
Referenced by imagecache_put().
|
static |
Definition at line 515 of file source/blender/blenkernel/intern/image.cc.
References IMA_INDEX_ENTRY, IMB_PROXY_NONE, and ImageCacheKey::index.
Referenced by imagecache_put().
Definition at line 524 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, imagecache_hashcmp(), imagecache_hashhash(), imagecache_keydata(), IMB_moviecache_create(), IMB_moviecache_put(), IMB_moviecache_set_getdata_callback(), and ImageCacheKey::index.
Referenced by BKE_image_merge(), and image_assign_ibuf().
|
static |
Definition at line 542 of file source/blender/blenkernel/intern/image.cc.
References Image::cache, IMB_moviecache_remove(), and ImageCacheKey::index.
Referenced by image_remove_ibuf().
|
static |
Definition at line 644 of file source/blender/blenkernel/intern/image.cc.
References IMA_GENTYPE_GRID, MEM_callocN(), and tile.
Referenced by BKE_image_add_tile(), and image_init().
|
static |
Definition at line 4061 of file source/blender/blenkernel/intern/image.cc.
References Image::alpha_mode, IB_alphamode_channel_packed, IB_alphamode_ignore, IB_alphamode_premul, IMA_ALPHA_CHANNEL_PACKED, IMA_ALPHA_IGNORE, IMA_ALPHA_PREMUL, and IMA_ALPHA_STRAIGHT.
Referenced by load_image_single().
|
static |
Definition at line 4239 of file source/blender/blenkernel/intern/image.cc.
References BKE_image_user_file_path(), BKE_image_user_frame_calc(), BKE_packedfile_new(), BLI_addtail(), Image::colorspace_settings, FILE_MAX, ImagePackedFile::filepath, flag, ImageUser::framenr, ImBuf::ftype, G, G_FILE_AUTOPACK, IB_byte_data, IB_metadata, IB_multilayer, Image::id, ID_BLEND_PATH_FROM_GLOBAL, IMA_SRC_TILED, IMA_TYPE_MULTILAYER, image_get_tile_number_from_iuser(), image_init_after_load(), IMB_exr_has_multilayer(), IMB_freeImBuf(), IMB_FTYPE_OPENEXR, IMB_load_image_from_filepath(), IMB_load_image_from_memory(), imbuf_alpha_flags_for_image(), Image::lastframe, LISTBASE_FOREACH, MEM_mallocN(), ColorManagedColorspaceSettings::name, ImagePackedFile::packedfile, Image::packedfiles, Image::source, STRNCPY(), ImagePackedFile::tile_number, Image::type, ImBuf::userdata, ImagePackedFile::view, and ImageUser::view.
Referenced by image_load_image_file().
Definition at line 4139 of file source/blender/blenkernel/intern/image.cc.
References ImageAnim::anim, Image::anims, BKE_image_user_file_path(), BLI_findlink(), colormanage_imbuf_make_linear(), Image::colorspace_settings, FILE_MAX, Image::flag, ImageUser::frames, IB_animdeinterlace, IB_byte_data, IMA_DEINTERLACE, image_init_after_load(), IMB_makeSingleUser(), IMB_PROXY_NONE, IMB_TC_RECORD_RUN, MOV_decode_frame(), MOV_get_duration_frames(), ColorManagedColorspaceSettings::name, openanim(), and ImageUser::view.
Referenced by image_load_movie_file().
|
static |
Definition at line 2595 of file source/blender/blenkernel/intern/image.cc.
References BKE_render_result_stamp_data(), and BKE_stamp_is_known_field().
Referenced by BKE_stamp_info_from_imbuf().
|
static |
Definition at line 2578 of file source/blender/blenkernel/intern/image.cc.
References data, IMB_metadata_get_field(), and ImBuf::metadata.
Referenced by BKE_stamp_info_from_imbuf().
|
static |
Definition at line 2568 of file source/blender/blenkernel/intern/image.cc.
References data, IMB_metadata_set_field(), and ImBuf::metadata.
Referenced by BKE_imbuf_stamp_info().
|
static |
Definition at line 922 of file source/blender/blenkernel/intern/image.cc.
Referenced by BKE_image_find_nearest_tile_with_offset().
| MovieReader * openanim | ( | const char * | filepath, |
| int | flags, | ||
| int | streamindex, | ||
| char | colorspace[IMA_MAX_SPACE] ) |
Used by sequencer too.
Definition at line 2699 of file source/blender/blenkernel/intern/image.cc.
References BLI_exists(), CLOG_INFO, IMA_MAX_SPACE, IMB_freeImBuf(), IMB_PROXY_NONE, IMB_TC_NONE, LOG, MOV_close(), MOV_decode_frame(), and MOV_open_file().
Referenced by blender::seq::add_movie_strip(), blender::seq::add_reload_new_file(), load_movie_single(), movieclip_open_anim_file(), blender::seq::open_anim_filepath(), blender::ed::vse::prefetch_data_fn(), blender::seq::seq_proxy_fetch(), and blender::seq::seq_render_movie_strip_custom_file_proxy().
| MovieReader * openanim_noload | ( | const char * | filepath, |
| int | flags, | ||
| int | streamindex, | ||
| char | colorspace[IMA_MAX_SPACE] ) |
Definition at line 2688 of file source/blender/blenkernel/intern/image.cc.
References IMA_MAX_SPACE, and MOV_open_file().
Referenced by blender::seq::open_anim_filepath().
|
static |
| do_prefix | Include a label like "File ", "Date ", etc. in the stamp data strings. |
| use_dynamic | Also include data that can change on a per-frame basis. |
Definition at line 1728 of file source/blender/blenkernel/intern/image.cc.
References BKE_main_blendfile_path_from_global(), BKE_scene_find_last_marker_name(), BLI_hostname_get(), BLI_timecode_string_from_time(), BLI_timecode_string_from_time_simple(), StampData::camera, StampData::cameralens, RenderData::cfra, Object::data, StampData::date, RenderData::efra, StampData::file, FPS, FRA2TIME, StampData::frame, StampData::frame_range, StampData::hostname, Object::id, Scene::id, integer_digits_i(), RenderStats::lastframetime, StampData::marker, RenderStats::mem_peak, StampData::memory, ID::name, Strip::name, StampData::note, OB_CAMERA, Scene::r, R_STAMP_CAMERA, R_STAMP_CAMERALENS, R_STAMP_DATE, R_STAMP_FILENAME, R_STAMP_FRAME, R_STAMP_FRAME_RANGE, R_STAMP_HOSTNAME, R_STAMP_MARKER, R_STAMP_MEMORY, R_STAMP_NOTE, R_STAMP_RENDERTIME, R_STAMP_SCENE, R_STAMP_SEQSTRIP, R_STAMP_TIME, RE_GetSceneRender(), RE_GetStats(), StampData::rendertime, StampData::scene, RenderData::sfra, SNPRINTF, RenderData::stamp, RenderData::stamp_udata, StampData::strip, blender::seq::strip_topmost_get(), STRNCPY(), StampData::time, Object::type, and USER_TIMECODE_SMPTE_FULL.
Referenced by BKE_image_stamp_buf(), BKE_render_result_stamp_info(), and BKE_stamp_info_from_scene_static().
|
static |
Definition at line 1907 of file source/blender/blenkernel/intern/image.cc.
References StampData::camera, StampData::cameralens, StampData::date, StampData::file, StampData::frame, StampData::frame_range, StampData::hostname, StampData::marker, StampData::memory, StampData::note, Scene::r, R_STAMP_CAMERA, R_STAMP_CAMERALENS, R_STAMP_DATE, R_STAMP_FILENAME, R_STAMP_FRAME, R_STAMP_FRAME_RANGE, R_STAMP_HOSTNAME, R_STAMP_MARKER, R_STAMP_MEMORY, R_STAMP_NOTE, R_STAMP_RENDERTIME, R_STAMP_SCENE, R_STAMP_SEQSTRIP, R_STAMP_TIME, StampData::rendertime, StampData::scene, SNPRINTF, RenderData::stamp, StampData::strip, STRNCPY(), and StampData::time.
Referenced by BKE_image_stamp_buf().
|
static |
Definition at line 3590 of file source/blender/blenkernel/intern/image.cc.
References b, and ImageTile::tile_number.
Referenced by BKE_image_sort_tiles().
| IDTypeInfo IDType_ID_IM = get_type_info() |
Definition at line 471 of file source/blender/blenkernel/intern/image.cc.
|
static |
Definition at line 120 of file source/blender/blenkernel/intern/image.cc.
|
static |
Definition at line 2441 of file source/blender/blenkernel/intern/image.cc.
Referenced by BKE_stamp_is_known_field().