|
Blender V5.0
|
#include "BLI_string_ref.hh"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 | |
| ExrHandle * | IMB_exr_get_handle (bool write_multipart=false) |
| void | IMB_exr_add_channels (ExrHandle *handle, blender::StringRefNull layerpassname, blender::StringRefNull channelnames, blender::StringRefNull viewname, blender::StringRefNull colorspace, size_t xstride, size_t ystride, float *rect, bool use_half_float) |
| bool | IMB_exr_begin_read (ExrHandle *handle, const char *filepath, int *width, int *height, bool parse_channels) |
| bool | IMB_exr_begin_write (ExrHandle *handle, const char *filepath, int width, int height, const double ppm[2], int compress, int quality, const StampData *stamp) |
| bool | IMB_exr_set_channel (ExrHandle *handle, blender::StringRefNull full_name, int xstride, int ystride, float *rect) |
| void | IMB_exr_read_channels (ExrHandle *handle) |
| void | IMB_exr_write_channels (ExrHandle *handle) |
| void | IMB_exr_multilayer_convert (ExrHandle *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 (ExrHandle *handle) |
| void | IMB_exr_add_view (ExrHandle *handle, const char *name) |
| bool | IMB_exr_has_multilayer (ExrHandle *handle) |
| bool | IMB_exr_get_ppm (ExrHandle *handle, double ppm[2]) |
| #define EXR_LAY_MAXNAME 64 |
Definition at line 16 of file IMB_openexr.hh.
Referenced by ml_addlayer_cb().
| #define EXR_PASS_MAXCHAN 24 |
Number of supported channels per pass (easy to change).
Definition at line 21 of file IMB_openexr.hh.
Referenced by imb_exr_multilayer_parse_channels_from_file().
| #define EXR_PASS_MAXNAME 64 |
Definition at line 17 of file IMB_openexr.hh.
Referenced by imb_exr_multilayer_parse_channels_from_file(), order_render_passes(), RE_render_result_full_channel_name(), and render_result_exr_file_read_path().
| #define EXR_TOT_MAXNAME 64 |
Definition at line 19 of file IMB_openexr.hh.
Referenced by imb_exr_multilayer_parse_channels_from_file(), imb_exr_pass_name_from_channel(), imb_exr_pass_name_from_channel_name(), and imb_exr_split_channel_name().
| #define EXR_VIEW_MAXNAME 64 |
Definition at line 18 of file IMB_openexr.hh.
| void IMB_exr_add_channels | ( | ExrHandle * | handle, |
| blender::StringRefNull | layerpassname, | ||
| blender::StringRefNull | channelnames, | ||
| blender::StringRefNull | viewname, | ||
| blender::StringRefNull | colorspace, | ||
| size_t | xstride, | ||
| size_t | ystride, | ||
| float * | rect, | ||
| bool | use_half_float ) |
Add multiple channels to EXR file. The number of channels is determined by channelnames.size() with each character a channel name. Layer and pass name, view name and colorspace are all optional.
Definition at line 907 of file openexr_api.cpp.
References Vector< T, InlineBufferCapacity, Allocator >::append_as(), blender::StringRefNull::c_str(), ExrHandle::channels, CLOG_DEBUG, ExrChannel::colorspace, ExrHandle::has_layer_pass_names, IMB_colormanagement_space_get_named(), ExrChannel::internal_name, blender::StringRefBase::is_empty(), Vector< T, InlineBufferCapacity, Allocator >::last(), LOG, ExrChannel::name, ExrChannel::part_name, ExrChannel::rect, blender::StringRefBase::size(), ExrChannel::use_half_float, ExrChannel::view, ExrHandle::write_multipart, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by add_exr_compositing_result(), and BKE_image_render_write_exr().
| void IMB_exr_add_view | ( | ExrHandle * | handle, |
| const char * | name ) |
Definition at line 860 of file openexr_api.cpp.
References name, and ExrHandle::views.
Referenced by BKE_image_render_write_exr().
| bool IMB_exr_begin_read | ( | ExrHandle * | handle, |
| const char * | filepath, | ||
| int * | width, | ||
| int * | height, | ||
| bool | parse_channels ) |
Read from file.
Definition at line 1101 of file openexr_api.cpp.
References BLI_exists(), BLI_file_size(), ExrHandle::channels, exr_channels_in_multi_part_file(), ExrHandle::height, ExrHandle::ifile, ExrHandle::ifile_stream, imb_exr_get_views(), imb_exr_multilayer_parse_channels_from_file(), parse_channels(), ExrHandle::views, and ExrHandle::width.
Referenced by render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| bool IMB_exr_begin_write | ( | ExrHandle * | handle, |
| const char * | filepath, | ||
| int | width, | ||
| int | height, | ||
| const double | ppm[2], | ||
| int | compress, | ||
| int | quality, | ||
| const StampData * | stamp ) |
Used for output files (from RenderResult) (single and multi-layer, single and multi-view).
Definition at line 988 of file openexr_api.cpp.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, ExrHandle::channels, CLOG_ERROR, ExrChannel::colorspace, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), ExrHandle::height, IMB_colormanagement_space_is_data(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), LOG, ExrHandle::mpofile, ExrChannel::name, ExrHandle::ofile, ExrHandle::ofile_stream, openexr_header_compression(), openexr_header_metadata_colorspace(), openexr_header_metadata_multi(), ExrChannel::part_name, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), ExrChannel::use_half_float, ExrChannel::view, ExrHandle::width, and ExrHandle::write_multipart.
Referenced by BKE_image_render_write_exr().
| void IMB_exr_close | ( | ExrHandle * | handle | ) |
Definition at line 1360 of file openexr_api.cpp.
References ExrHandle::ifile, ExrHandle::ifile_stream, ExrHandle::mpofile, ExrHandle::ofile, and ExrHandle::ofile_stream.
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().
Definition at line 851 of file openexr_api.cpp.
References ExrHandle::write_multipart.
Referenced by BKE_image_render_write_exr(), imb_exr_begin_read_mem(), render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| bool IMB_exr_get_ppm | ( | ExrHandle * | handle, |
| double | ppm[2] ) |
Definition at line 2046 of file openexr_api.cpp.
References exr_get_ppm(), and ExrHandle::ifile.
Referenced by render_result_new_from_exr().
| bool IMB_exr_has_multilayer | ( | ExrHandle * | handle | ) |
Definition at line 1958 of file openexr_api.cpp.
References ExrHandle::ifile, and imb_exr_is_multi().
Referenced by load_image_single().
| void IMB_exr_multilayer_convert | ( | ExrHandle * | 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 1315 of file openexr_api.cpp.
References ExrPass::chan_id, CLOG_WARN, ExrPass::internal_name, Vector< T, InlineBufferCapacity, Allocator >::is_empty(), ExrHandle::layers, LOG, ExrPass::rect, str, ExrPass::totchan, ExrPass::view, view, and ExrHandle::views.
Referenced by BKE_movieclip_convert_multilayer_ibuf(), render_result_new_from_exr(), and studiolight_load_equirect_image().
| void IMB_exr_read_channels | ( | ExrHandle * | handle | ) |
Definition at line 1237 of file openexr_api.cpp.
References ExrHandle::channels, CLOG_DEBUG, CLOG_ERROR, float, ExrHandle::height, i, ExrHandle::ifile, in, ExrChannel::internal_name, LOG, ExrChannel::name, ExrChannel::part_number, ExrChannel::rect, STRPREFIX, ExrChannel::view, ExrHandle::width, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by imb_load_openexr(), render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
| bool IMB_exr_set_channel | ( | ExrHandle * | handle, |
| blender::StringRefNull | full_name, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect ) |
For reading, set the rect buffer to write into.
| passname | Full channel name including layer, pass, view and channel. |
Definition at line 1145 of file openexr_api.cpp.
References ExrHandle::channels, ExrChannel::name, ExrChannel::rect, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by render_result_exr_file_read_path().
| void IMB_exr_write_channels | ( | ExrHandle * | handle | ) |
Definition at line 1160 of file openexr_api.cpp.
References ExrHandle::channels, CLOG_ERROR, blender::Vector< T, InlineBufferCapacity, Allocator >::data(), float_to_half_safe(), ExrHandle::height, i, Vector< T, InlineBufferCapacity, Allocator >::is_empty(), LOG, ExrHandle::mpofile, ExrChannel::name, ExrHandle::ofile, ExrChannel::part_name, ExrChannel::rect, blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), ExrChannel::use_half_float, ExrHandle::width, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by BKE_image_render_write_exr().