|
Blender V4.3
|
Go to the source code of this file.
Macros | |
| #define | EXR_LAY_MAXNAME 64 |
| #define | EXR_PASS_MAXNAME 64 |
| #define | EXR_VIEW_MAXNAME 64 |
| #define | EXR_TOT_MAXNAME 64 |
| #define | EXR_PASS_MAXCHAN 24 |
Functions | |
| void * | IMB_exr_get_handle () |
| void * | IMB_exr_get_handle_name (const char *name) |
| void | IMB_exr_add_channel (void *handle, const char *layname, const char *passname, const char *viewname, int xstride, int ystride, float *rect, bool use_half_float) |
| bool | IMB_exr_begin_read (void *handle, const char *filepath, int *width, int *height, bool parse_channels) |
| bool | IMB_exr_begin_write (void *handle, const char *filepath, int width, int height, int compress, const StampData *stamp) |
| void | IMB_exrtile_begin_write (void *handle, const char *filepath, int mipmap, int width, int height, int tilex, int tiley) |
| bool | IMB_exr_set_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect) |
| float * | IMB_exr_channel_rect (void *handle, const char *layname, const char *passname, const char *viewname) |
| void | IMB_exr_read_channels (void *handle) |
| void | IMB_exr_write_channels (void *handle) |
| void | IMB_exrtile_write_channels (void *handle, int partx, int party, int level, const char *viewname, bool empty) |
| void | IMB_exr_clear_channels (void *handle) |
| void | IMB_exr_multilayer_convert (void *handle, void *base, void *(*addview)(void *base, const char *str), void *(*addlayer)(void *base, const char *str), void(*addpass)(void *base, void *lay, const char *str, float *rect, int totchan, const char *chan_id, const char *view)) |
| void | IMB_exr_close (void *handle) |
| void | IMB_exr_add_view (void *handle, const char *name) |
| bool | IMB_exr_has_multilayer (void *handle) |
| #define EXR_LAY_MAXNAME 64 |
Definition at line 15 of file IMB_openexr.hh.
Referenced by IMB_exr_channel_rect(), imb_exr_get_layer(), IMB_exr_set_channel(), and ml_addlayer_cb().
| #define EXR_PASS_MAXCHAN 24 |
Definition at line 19 of file IMB_openexr.hh.
Referenced by imb_exr_multilayer_parse_channels_from_file().
| #define EXR_PASS_MAXNAME 64 |
Definition at line 16 of file IMB_openexr.hh.
Referenced by add_exr_compositing_result(), BKE_image_render_write_exr(), IMB_exr_channel_rect(), imb_exr_multilayer_parse_channels_from_file(), IMB_exr_set_channel(), order_render_passes(), RE_render_result_full_channel_name(), render_layer_add_pass(), and render_result_exr_file_read_path().
| #define EXR_TOT_MAXNAME 64 |
Definition at line 18 of file IMB_openexr.hh.
Referenced by IMB_exr_channel_rect(), imb_exr_insert_view_name(), imb_exr_multilayer_parse_channels_from_file(), imb_exr_pass_name_from_channel(), imb_exr_pass_name_from_channel_name(), IMB_exr_set_channel(), and imb_exr_split_channel_name().
| #define EXR_VIEW_MAXNAME 64 |
Definition at line 17 of file IMB_openexr.hh.
| void IMB_exr_add_channel | ( | void * | handle, |
| const char * | layname, | ||
| const char * | passname, | ||
| const char * | viewname, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect, | ||
| bool | use_half_float ) |
Adds flattened ExrChannel's xstride, ystride and rect can be done in set_channel too, for tile writing.
| passname | Does not include view. |
Definition at line 817 of file openexr_api.cpp.
References BLI_addtail(), exr_printf(), imb_exr_get_multiView_id(), imb_exr_insert_view_name(), ExrChannel::m, ExrChannel::name, ExrChannel::rect, STRNCPY, ExrChannel::use_half_float, ExrChannel::view_id, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by add_exr_compositing_result(), BKE_image_render_write_exr(), IMB_exr_begin_read(), imb_exr_multilayer_parse_channels_from_file(), and render_layer_add_pass().
| void IMB_exr_add_view | ( | void * | handle, |
| const char * | name ) |
Definition at line 742 of file openexr_api.cpp.
References ExrHandle::multiView.
Referenced by BKE_image_render_write_exr().
| bool IMB_exr_begin_read | ( | void * | handle, |
| const char * | filepath, | ||
| int * | width, | ||
| int * | height, | ||
| bool | parse_channels ) |
Read from file.
Definition at line 1000 of file openexr_api.cpp.
References BLI_exists(), BLI_file_size(), channels(), IMB_exr_add_channel(), imb_exr_get_views(), imb_exr_multilayer_parse_channels_from_file(), ExrChannel::m, and parse_channels().
Referenced by render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| bool IMB_exr_begin_write | ( | void * | handle, |
| const char * | filepath, | ||
| int | width, | ||
| int | height, | ||
| int | compress, | ||
| const StampData * | stamp ) |
Used for output files (from RenderResult) (single and multi-layer, single and multi-view).
Definition at line 873 of file openexr_api.cpp.
References BKE_stamp_info_callback(), imb_exr_type_by_channels(), LISTBASE_FOREACH, openexr_header_compression(), and openexr_header_metadata_callback().
Referenced by BKE_image_render_write_exr().
| float * IMB_exr_channel_rect | ( | void * | handle, |
| const char * | layname, | ||
| const char * | passname, | ||
| const char * | viewname ) |
Definition at line 1090 of file openexr_api.cpp.
References BLI_findstring(), BLI_strncpy(), EXR_LAY_MAXNAME, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, imb_exr_get_multiView_id(), imb_exr_insert_view_name(), offsetof, ExrChannel::rect, SNPRINTF, and STRNCPY.
| void IMB_exr_clear_channels | ( | void * | handle | ) |
Definition at line 1131 of file openexr_api.cpp.
References BLI_freelistN(), and LISTBASE_FOREACH.
| void IMB_exr_close | ( | void * | handle | ) |
Definition at line 1379 of file openexr_api.cpp.
References BLI_freelistN(), BLI_remlink(), exrhandles, ExrHandle::ifile, LISTBASE_FOREACH, and MEM_freeN().
Referenced by BKE_image_render_write_exr(), BKE_movieclip_convert_multilayer_ibuf(), imb_exr_begin_read_mem(), render_result_exr_file_cache_read(), render_result_exr_file_read_path(), and studiolight_load_equirect_image().
| void * IMB_exr_get_handle | ( | ) |
Definition at line 720 of file openexr_api.cpp.
References BLI_addtail(), data, and exrhandles.
Referenced by BKE_image_render_write_exr(), imb_exr_begin_read_mem(), IMB_exr_get_handle_name(), render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| void * IMB_exr_get_handle_name | ( | const char * | name | ) |
Definition at line 729 of file openexr_api.cpp.
References BLI_rfindstring(), data, exrhandles, IMB_exr_get_handle(), offsetof, and STRNCPY.
| bool IMB_exr_has_multilayer | ( | void * | handle | ) |
Definition at line 2064 of file openexr_api.cpp.
References imb_exr_is_multi().
Referenced by load_image_single().
| void IMB_exr_multilayer_convert | ( | void * | handle, |
| void * | base, | ||
| void *(* | addview )(void *base, const char *str), | ||
| void *(* | addlayer )(void *base, const char *str), | ||
| void(* | addpass )(void *base, void *lay, const char *str, float *rect, int totchan, const char *chan_id, const char *view) ) |
Definition at line 1332 of file openexr_api.cpp.
References BLI_listbase_is_empty(), LISTBASE_FOREACH, and printf.
Referenced by BKE_movieclip_convert_multilayer_ibuf(), render_result_new_from_exr(), and studiolight_load_equirect_image().
| void IMB_exr_read_channels | ( | void * | handle | ) |
Definition at line 1253 of file openexr_api.cpp.
References exr_printf(), float, ExrHandle::ifile, LISTBASE_FOREACH, and STRPREFIX.
Referenced by imb_load_openexr(), render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| bool IMB_exr_set_channel | ( | void * | handle, |
| const char * | layname, | ||
| const char * | passname, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect ) |
Still clumsy name handling, layers/channels can be ordered as list in list later.
| passname | Here is the raw channel name without the layer. |
Definition at line 1060 of file openexr_api.cpp.
References BLI_findstring(), BLI_strncpy(), EXR_LAY_MAXNAME, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, offsetof, ExrChannel::rect, SNPRINTF, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by render_result_exr_file_read_path().
| void IMB_exr_write_channels | ( | void * | handle | ) |
Definition at line 1142 of file openexr_api.cpp.
References float_to_half_safe(), ExrHandle::height, LISTBASE_FOREACH, MEM_freeN(), MEM_mallocN, and printf.
Referenced by BKE_image_render_write_exr().
| void IMB_exrtile_begin_write | ( | void * | handle, |
| const char * | filepath, | ||
| int | mipmap, | ||
| int | width, | ||
| int | height, | ||
| int | tilex, | ||
| int | tiley ) |
Only used for writing temp. render results (not image files) (FSA and Save Buffers).
Definition at line 936 of file openexr_api.cpp.
References BLI_assert, exr_printf(), and LISTBASE_FOREACH.
| void IMB_exrtile_write_channels | ( | void * | handle, |
| int | partx, | ||
| int | party, | ||
| int | level, | ||
| const char * | viewname, | ||
| bool | empty ) |
Temporary function, used for FSA and Save Buffers. called once per tile * view.
Definition at line 1202 of file openexr_api.cpp.
References exr_printf(), imb_exr_get_multiView_id(), LISTBASE_FOREACH, STREQ, and view.