53 const bool saveAsRender)
55 rd,
tree, datatype,
format, path, viewSettings, displaySettings, viewName, saveAsRender)
91 printf(
"Error Writing Singlelayer Multiview Openexr\n");
107 if (width != 0 &&
height != 0) {
127 this->m_outputBuffer);
155 const char *viewName)
165 if (width != 0 &&
height != 0) {
188 for (
unsigned int i = 0; i < this->
m_layers.size(); i++) {
194 this->m_exr_half_float,
205 printf(
"Error Writing Multilayer Multiview Openexr\n");
223 if (width != 0 &&
height != 0) {
238 for (
unsigned int i = 0; i < this->
m_layers.size(); i++) {
248 for (
unsigned int i = 0; i < this->
m_layers.size(); i++) {
250 this->
m_layers[i].outputBuffer =
nullptr;
251 this->
m_layers[i].imageInput =
nullptr;
259 for (
unsigned int i = 0; i < this->
m_layers.size(); i++) {
279 const char *viewName,
280 const bool saveAsRender)
282 rd,
tree, datatype,
format, path, viewSettings, displaySettings, viewName, saveAsRender)
284 BLI_strncpy(this->m_name, name,
sizeof(this->m_name));
306 for (i = 0; i < 2; i++) {
320 if (width != 0 &&
height != 0) {
341 ImBuf *ibuf[3] = {
nullptr};
347 for (i = 0; i < 2; i++) {
351 ibuf[i]->
channels = this->m_channels;
377 for (i = 0; i < 3; i++) {
void BKE_stamp_data_free(struct StampData *stamp_data)
int BKE_imbuf_write(struct ImBuf *ibuf, const char *name, const struct ImageFormatData *imf)
void BKE_image_path_from_imformat(char *string, const char *base, const char *relbase, int frame, const struct ImageFormatData *im_format, const bool use_ext, const bool use_frames, const char *suffix)
void BKE_image_path_from_imtype(char *string, const char *base, const char *relbase, int frame, const char imtype, const bool use_ext, const bool use_frames, const char *suffix)
const char * BKE_main_blendfile_path_from_global(void)
bool BKE_scene_multiview_is_render_view_active(const struct RenderData *rd, const struct SceneRenderView *srv)
bool BKE_scene_multiview_is_render_view_last(const struct RenderData *rd, const char *viewname)
bool BKE_scene_multiview_is_render_view_first(const struct RenderData *rd, const char *viewname)
bool BLI_make_existing_file(const char *name)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
#define R_IMF_IMTYPE_MULTILAYER
#define STEREO_RIGHT_NAME
#define R_IMF_IMTYPE_OPENEXR
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
struct ImBuf * IMB_colormanagement_imbuf_for_write(struct ImBuf *ibuf, bool save_as_render, bool allocate_result, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings, struct ImageFormatData *image_format_data)
struct ImBuf * IMB_allocImBuf(unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
void IMB_freeImBuf(struct ImBuf *ibuf)
bool IMB_prepare_write_ImBuf(const bool isfloat, struct ImBuf *ibuf)
struct ImBuf * IMB_stereo3d_ImBuf(struct ImageFormatData *im_format, struct ImBuf *ibuf_left, struct ImBuf *ibuf_right)
bool IMB_isfloat(const struct ImBuf *ibuf)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
unsigned int getHeight() const
unsigned int getWidth() const
OutputOpenExrMultiLayerMultiViewOperation(const Scene *scene, const RenderData *rd, const bNodeTree *tree, const char *path, char exr_codec, bool exr_half_float, const char *viewName)
void * get_handle(const char *filename)
void deinitExecution() override
Vector< OutputOpenExrLayer > m_layers
StampData * createStampData() const
void * get_handle(const char *filename)
OutputOpenExrSingleLayerMultiViewOperation(const RenderData *rd, const bNodeTree *tree, DataType datatype, ImageFormatData *format, const char *path, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, const char *viewName, const bool saveAsRender)
void deinitExecution() override
const ColorManagedViewSettings * m_viewSettings
SocketReader * m_imageInput
ImageFormatData * m_format
const ColorManagedDisplaySettings * m_displaySettings
void deinitExecution() override
OutputStereoOperation(const RenderData *rd, const bNodeTree *tree, DataType datatype, struct ImageFormatData *format, const char *path, const char *name, const ColorManagedViewSettings *viewSettings, const ColorManagedDisplaySettings *displaySettings, const char *viewName, const bool saveAsRender)
void * get_handle(const char *filename)
DataType
possible data types for sockets
int get_datatype_size(DataType datatype)
void add_exr_channels(void *exrhandle, const char *layerName, const DataType datatype, const char *viewName, const size_t width, bool use_half_float, float *buf)
void free_exr_channels(void *exrhandle, const RenderData *rd, const char *layerName, const DataType datatype)
void IMB_exr_add_view(void *handle, const char *name)
void IMB_exr_close(void *handle)
void IMB_exr_clear_channels(void *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)
void IMB_exr_write_channels(void *handle)
int IMB_exr_begin_write(void *handle, const char *filename, int width, int height, int compress, const StampData *stamp)
float * IMB_exr_channel_rect(void *handle, const char *layname, const char *passname, const char *viewname)
struct SceneRenderView * next