Blender
V3.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) |
void * | IMB_exr_get_handle_name (const char *name) |
void | IMB_exr_add_channel (void *handle, const char *layname, const char *passname, const char *view, 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 struct StampData *stamp) |
void | IMB_exrtile_begin_write (void *handle, const char *filepath, int mipmap, int width, int height, int tilex, int tiley) |
void | 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 *view) |
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 14 of file IMB_openexr.h.
#define EXR_PASS_MAXCHAN 24 |
Definition at line 18 of file IMB_openexr.h.
#define EXR_PASS_MAXNAME 64 |
Definition at line 15 of file IMB_openexr.h.
#define EXR_TOT_MAXNAME 64 |
Definition at line 17 of file IMB_openexr.h.
#define EXR_VIEW_MAXNAME 64 |
Definition at line 16 of file IMB_openexr.h.
void IMB_exr_add_channel | ( | void * | handle, |
const char * | layname, | ||
const char * | passname, | ||
const char * | view, | ||
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 849 of file openexr_api.cpp.
References BLI_addtail(), BLI_strncpy(), data, exr_printf(), imb_exr_get_multiView_id(), imb_exr_insert_view_name(), ExrChannel::m, max, ExrChannel::name, ExrChannel::rect, ExrChannel::use_half_float, ExrChannel::view_id, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by blender::compositor::add_exr_channels(), BKE_image_render_write_exr(), blender::compositor::OutputStereoOperation::deinit_execution(), IMB_exr_begin_read(), imb_exr_multilayer_parse_channels_from_file(), and render_layer_add_pass().
Definition at line 778 of file openexr_api.cpp.
References data, and ExrLayer::name.
Referenced by BKE_image_render_write_exr(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), and blender::compositor::OutputStereoOperation::get_handle().
bool IMB_exr_begin_read | ( | void * | handle, |
const char * | filepath, | ||
int * | width, | ||
int * | height, | ||
bool | parse_channels | ||
) |
Read from file.
Definition at line 1025 of file openexr_api.cpp.
References BLI_exists(), BLI_file_size(), channels(), data, height, IMB_exr_add_channel(), imb_exr_get_views(), imb_exr_multilayer_parse_channels_from_file(), ExrChannel::m, parse_channels(), and width.
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 struct StampData * | stamp | ||
) |
Used for output files (from RenderResult) (single and multi-layer, single and multi-view).
Definition at line 39 of file openexr_stub.cpp.
Referenced by BKE_image_render_write_exr(), blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), and blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle().
float* IMB_exr_channel_rect | ( | void * | handle, |
const char * | layname, | ||
const char * | passname, | ||
const char * | view | ||
) |
Definition at line 1115 of file openexr_api.cpp.
References BLI_findstring(), BLI_snprintf(), BLI_strncpy(), data, EXR_LAY_MAXNAME, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, imb_exr_get_multiView_id(), imb_exr_insert_view_name(), max, ExrLayer::name, and ExrChannel::rect.
Referenced by blender::compositor::OutputStereoOperation::deinit_execution(), and blender::compositor::free_exr_channels().
Definition at line 1156 of file openexr_api.cpp.
References BLI_freelistN(), data, ExrChannel::m, and ExrChannel::next.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), and blender::compositor::OutputStereoOperation::get_handle().
Definition at line 1405 of file openexr_api.cpp.
References BLI_freelistN(), BLI_remlink(), data, exrhandles, ListBase::first, ExrChannel::m, MEM_freeN, ExrChannel::next, ExrPass::next, ExrLayer::next, ExrLayer::passes, and ExrPass::rect.
Referenced by BKE_image_render_write_exr(), BKE_movieclip_convert_multilayer_ibuf(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputStereoOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), 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 753 of file openexr_api.cpp.
References BLI_addtail(), data, and exrhandles.
Referenced by BKE_image_render_write_exr(), blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution(), 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 762 of file openexr_api.cpp.
References BLI_rfindstring(), BLI_strncpy(), data, exrhandles, IMB_exr_get_handle(), and ExrLayer::name.
Referenced by blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::get_handle(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::get_handle(), and blender::compositor::OutputStereoOperation::get_handle().
Definition at line 2083 of file openexr_api.cpp.
References data, and imb_exr_is_multi().
Referenced by load_image_single().
void IMB_exr_multilayer_convert | ( | void * | handle, |
void * | base, | ||
void *(*)(void *base, const char *str) | addview, | ||
void *(*)(void *base, const char *str) | addlayer, | ||
void(*)(void *base, void *lay, const char *str, float *rect, int totchan, const char *chan_id, const char *view) | addpass | ||
) |
Definition at line 1356 of file openexr_api.cpp.
References BLI_listbase_is_empty(), ExrPass::chan_id, data, ExrPass::internal_name, ExrPass::next, ExrPass::rect, ExrPass::totchan, and ExrPass::view.
Referenced by BKE_movieclip_convert_multilayer_ibuf(), render_result_new_from_exr(), and studiolight_load_equirect_image().
Definition at line 1277 of file openexr_api.cpp.
References data, exr_printf(), FLOAT, float(), ExrChannel::m, ExrChannel::next, ExrChannel::rect, STRPREFIX, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by imb_load_openexr(), render_result_exr_file_cache_read(), and render_result_exr_file_read_path().
void 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 1085 of file openexr_api.cpp.
References BLI_findstring(), BLI_snprintf(), BLI_strncpy(), data, EXR_LAY_MAXNAME, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, ExrLayer::name, ExrChannel::rect, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by render_result_exr_file_read_path().
Definition at line 1168 of file openexr_api.cpp.
References data, FLOAT, float(), float_to_half_safe(), HALF, MEM_freeN, MEM_mallocN, ExrChannel::name, ExrChannel::next, num_pixels, ExrChannel::rect, ExrChannel::use_half_float, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by BKE_image_render_write_exr(), blender::compositor::OutputOpenExrSingleLayerMultiViewOperation::deinit_execution(), blender::compositor::OutputOpenExrMultiLayerMultiViewOperation::deinit_execution(), and blender::compositor::OutputOpenExrMultiLayerOperation::deinit_execution().
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 960 of file openexr_api.cpp.
References BLI_assert, data, exr_printf(), FLOAT, height, ExrChannel::m, ExrChannel::next, ExrChannel::use_half_float, ExrChannel::view_id, and width.
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 1226 of file openexr_api.cpp.
References data, exr_printf(), FLOAT, imb_exr_get_multiView_id(), ExrChannel::m, ExrChannel::next, usdtokens::out(), ExrChannel::rect, STREQ, view, ExrChannel::xstride, and ExrChannel::ystride.