Blender  V3.3
Macros | Functions
IMB_openexr.h File Reference

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

voidIMB_exr_get_handle (void)
 
voidIMB_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)
 
floatIMB_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)
 

Macro Definition Documentation

◆ EXR_LAY_MAXNAME

#define EXR_LAY_MAXNAME   64

Definition at line 14 of file IMB_openexr.h.

◆ EXR_PASS_MAXCHAN

#define EXR_PASS_MAXCHAN   24

Definition at line 18 of file IMB_openexr.h.

◆ EXR_PASS_MAXNAME

#define EXR_PASS_MAXNAME   64

Definition at line 15 of file IMB_openexr.h.

◆ EXR_TOT_MAXNAME

#define EXR_TOT_MAXNAME   64

Definition at line 17 of file IMB_openexr.h.

◆ EXR_VIEW_MAXNAME

#define EXR_VIEW_MAXNAME   64

Definition at line 16 of file IMB_openexr.h.

Function Documentation

◆ IMB_exr_add_channel()

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 
)

◆ IMB_exr_add_view()

void IMB_exr_add_view ( void handle,
const char *  name 
)

◆ IMB_exr_begin_read()

bool IMB_exr_begin_read ( void handle,
const char *  filepath,
int *  width,
int *  height,
bool  parse_channels 
)

◆ IMB_exr_begin_write()

bool IMB_exr_begin_write ( void handle,
const char *  filepath,
int  width,
int  height,
int  compress,
const struct StampData stamp 
)

◆ IMB_exr_channel_rect()

float* IMB_exr_channel_rect ( void handle,
const char *  layname,
const char *  passname,
const char *  view 
)

◆ IMB_exr_clear_channels()

void IMB_exr_clear_channels ( void handle)

◆ IMB_exr_close()

void IMB_exr_close ( void handle)

◆ IMB_exr_get_handle()

void* IMB_exr_get_handle ( void  )

◆ IMB_exr_get_handle_name()

void* IMB_exr_get_handle_name ( const char *  name)

◆ IMB_exr_has_multilayer()

bool IMB_exr_has_multilayer ( void handle)

Definition at line 2083 of file openexr_api.cpp.

References data, and imb_exr_is_multi().

Referenced by load_image_single().

◆ IMB_exr_multilayer_convert()

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 
)

◆ IMB_exr_read_channels()

void IMB_exr_read_channels ( void handle)

◆ IMB_exr_set_channel()

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.

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

◆ IMB_exr_write_channels()

void IMB_exr_write_channels ( void handle)

◆ IMB_exrtile_begin_write()

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.

◆ IMB_exrtile_write_channels()

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.