Blender V5.0
IMB_openexr.hh File Reference
#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

ExrHandleIMB_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])

Macro Definition Documentation

◆ EXR_LAY_MAXNAME

#define EXR_LAY_MAXNAME   64

Definition at line 16 of file IMB_openexr.hh.

Referenced by ml_addlayer_cb().

◆ EXR_PASS_MAXCHAN

#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().

◆ EXR_PASS_MAXNAME

◆ EXR_TOT_MAXNAME

◆ EXR_VIEW_MAXNAME

#define EXR_VIEW_MAXNAME   64

Definition at line 18 of file IMB_openexr.hh.

Function Documentation

◆ IMB_exr_add_channels()

◆ IMB_exr_add_view()

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().

◆ IMB_exr_begin_read()

◆ IMB_exr_begin_write()

◆ IMB_exr_close()

◆ IMB_exr_get_handle()

◆ IMB_exr_get_ppm()

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().

◆ IMB_exr_has_multilayer()

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().

◆ IMB_exr_multilayer_convert()

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) )

◆ IMB_exr_read_channels()

◆ IMB_exr_set_channel()

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.

Parameters
passnameFull 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().

◆ IMB_exr_write_channels()