Blender  V2.93
Macros | Functions
render_result.h File Reference

Go to the source code of this file.

Macros

#define PASS_VECTOR_MAX   10000.0f
 
#define RR_USE_MEM   0
 
#define RR_USE_EXR   1
 
#define RR_ALL_LAYERS   NULL
 
#define RR_ALL_VIEWS   NULL
 
#define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN(re_, iter_)
 
#define FOREACH_VIEW_LAYER_TO_RENDER_END
 

Functions

struct RenderResultrender_result_new (struct Render *re, struct rcti *partrct, int savebuffers, const char *layername, const char *viewname)
 
struct RenderResultrender_result_new_from_exr (void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty)
 
void render_result_view_new (struct RenderResult *rr, const char *viewname)
 
void render_result_views_new (struct RenderResult *rr, const struct RenderData *rd)
 
void render_result_merge (struct RenderResult *rr, struct RenderResult *rrpart)
 
void render_result_clone_passes (struct Render *re, struct RenderResult *rr, const char *viewname)
 
void render_result_free (struct RenderResult *rr)
 
void render_result_free_list (struct ListBase *lb, struct RenderResult *rr)
 
void render_result_single_layer_begin (struct Render *re)
 
void render_result_single_layer_end (struct Render *re)
 
void render_result_save_empty_result_tiles (struct Render *re)
 
void render_result_exr_file_begin (struct Render *re, struct RenderEngine *engine)
 
void render_result_exr_file_end (struct Render *re, struct RenderEngine *engine)
 
struct RenderPassrender_layer_add_pass (struct RenderResult *rr, struct RenderLayer *rl, int channels, const char *name, const char *viewname, const char *chan_id)
 
void render_result_exr_file_merge (struct RenderResult *rr, struct RenderResult *rrpart, const char *viewname)
 
void render_result_exr_file_path (struct Scene *scene, const char *layname, int sample, char *filepath)
 
int render_result_exr_file_read_path (struct RenderResult *rr, struct RenderLayer *rl_single, const char *filepath)
 
void render_result_exr_file_cache_write (struct Render *re)
 
bool render_result_exr_file_cache_read (struct Render *re)
 
struct ImBufrender_result_rect_to_ibuf (struct RenderResult *rr, const struct RenderData *rd, const int view_id)
 
void render_result_rect_fill_zero (struct RenderResult *rr, const int view_id)
 
void render_result_rect_get_pixels (struct RenderResult *rr, unsigned int *rect, int rectx, int recty, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings, const int view_id)
 
void render_result_views_shallowcopy (struct RenderResult *dst, struct RenderResult *src)
 
void render_result_views_shallowdelete (struct RenderResult *rr)
 
bool render_result_has_views (struct RenderResult *rr)
 

Macro Definition Documentation

◆ FOREACH_VIEW_LAYER_TO_RENDER_BEGIN

#define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN (   re_,
  iter_ 
)
Value:
{ \
int nr_; \
ViewLayer *iter_; \
for (nr_ = 0, iter_ = (re_)->view_layers.first; iter_ != NULL; iter_ = iter_->next, nr_++) { \
if (!G.background && (re_)->r.scemode & R_SINGLE_LAYER) { \
if (nr_ != re->active_view_layer) { \
continue; \
} \
} \
else { \
if ((iter_->flag & VIEW_LAYER_RENDER) == 0) { \
continue; \
} \
}
@ VIEW_LAYER_RENDER
#define R_SINGLE_LAYER
#define G(x, y, z)

Definition at line 132 of file render_result.h.

◆ FOREACH_VIEW_LAYER_TO_RENDER_END

#define FOREACH_VIEW_LAYER_TO_RENDER_END
Value:
} \
} \
((void)0)

Definition at line 148 of file render_result.h.

◆ PASS_VECTOR_MAX

#define PASS_VECTOR_MAX   10000.0f

Definition at line 26 of file render_result.h.

◆ RR_ALL_LAYERS

#define RR_ALL_LAYERS   NULL

Definition at line 31 of file render_result.h.

◆ RR_ALL_VIEWS

#define RR_ALL_VIEWS   NULL

Definition at line 32 of file render_result.h.

◆ RR_USE_EXR

#define RR_USE_EXR   1

Definition at line 29 of file render_result.h.

◆ RR_USE_MEM

#define RR_USE_MEM   0

Definition at line 28 of file render_result.h.

Function Documentation

◆ render_layer_add_pass()

struct RenderPass* render_layer_add_pass ( struct RenderResult rr,
struct RenderLayer rl,
int  channels,
const char *  name,
const char *  viewname,
const char *  chan_id 
)

◆ render_result_clone_passes()

void render_result_clone_passes ( struct Render re,
struct RenderResult rr,
const char *  viewname 
)

◆ render_result_exr_file_begin()

void render_result_exr_file_begin ( struct Render re,
struct RenderEngine engine 
)

◆ render_result_exr_file_cache_read()

bool render_result_exr_file_cache_read ( struct Render re)

◆ render_result_exr_file_cache_write()

void render_result_exr_file_cache_write ( struct Render re)

◆ render_result_exr_file_end()

void render_result_exr_file_end ( struct Render re,
struct RenderEngine engine 
)

◆ render_result_exr_file_merge()

void render_result_exr_file_merge ( struct RenderResult rr,
struct RenderResult rrpart,
const char *  viewname 
)

Definition at line 1280 of file render_result.c.

References RenderResult::next, and save_render_result_tile().

Referenced by RE_engine_end_result().

◆ render_result_exr_file_path()

void render_result_exr_file_path ( struct Scene scene,
const char *  layname,
int  sample,
char *  filepath 
)

◆ render_result_exr_file_read_path()

int render_result_exr_file_read_path ( struct RenderResult rr,
struct RenderLayer rl_single,
const char *  filepath 
)

◆ render_result_free()

void render_result_free ( struct RenderResult rr)

◆ render_result_free_list()

void render_result_free_list ( ListBase lb,
RenderResult rr 
)

Version that's compatible with full-sample buffers.

Definition at line 130 of file render_result.c.

References BLI_remlink(), ListBase::first, RenderResult::next, and render_result_free().

Referenced by RE_engine_render(), and render_result_exr_file_end().

◆ render_result_has_views()

bool render_result_has_views ( struct RenderResult rr)

◆ render_result_merge()

void render_result_merge ( struct RenderResult rr,
struct RenderResult rrpart 
)

◆ render_result_new()

struct RenderResult* render_result_new ( struct Render re,
struct rcti partrct,
int  savebuffers,
const char *  layername,
const char *  viewname 
)

Definition at line 288 of file render_result.c.

References Render::active_view_layer, BLI_addtail(), BLI_listbase_is_empty(), BLI_rcti_cent_x(), BLI_rcti_cent_y(), BLI_rcti_size_x(), BLI_rcti_size_y(), BLI_strncpy(), Render::disprect, RenderResult::do_exr_tile, RenderLayer::exrhandle, ListBase::first, FOREACH_VIEW_LAYER_TO_RENDER_BEGIN, FOREACH_VIEW_LAYER_TO_RENDER_END, IMB_exr_add_view(), IMB_exr_get_handle(), RenderResult::layers, RenderLayer::layflag, MEM_callocN, RenderView::name, RenderLayer::name, RenderView::next, NULL, RenderLayer::passflag, Render::r, RE_PASSNAME_AO, RE_PASSNAME_COMBINED, RE_PASSNAME_DIFFUSE_COLOR, RE_PASSNAME_DIFFUSE_DIRECT, RE_PASSNAME_DIFFUSE_INDIRECT, RE_PASSNAME_EMIT, RE_PASSNAME_ENVIRONMENT, RE_PASSNAME_GLOSSY_COLOR, RE_PASSNAME_GLOSSY_DIRECT, RE_PASSNAME_GLOSSY_INDIRECT, RE_PASSNAME_INDEXMA, RE_PASSNAME_INDEXOB, RE_PASSNAME_MIST, RE_PASSNAME_NORMAL, RE_PASSNAME_RAYHITS, RE_PASSNAME_SHADOW, RE_PASSNAME_SUBSURFACE_COLOR, RE_PASSNAME_SUBSURFACE_DIRECT, RE_PASSNAME_SUBSURFACE_INDIRECT, RE_PASSNAME_TRANSM_COLOR, RE_PASSNAME_TRANSM_DIRECT, RE_PASSNAME_TRANSM_INDIRECT, RE_PASSNAME_UV, RE_PASSNAME_VECTOR, RE_PASSNAME_Z, RenderLayer::rectx, RenderResult::rectx, RenderLayer::recty, RenderResult::recty, render_layer_add_pass(), RENDER_LAYER_ADD_PASS_SAFE, render_result_views_new(), RenderResult::renrect, SCE_PASS_AO, SCE_PASS_COMBINED, SCE_PASS_DIFFUSE_COLOR, SCE_PASS_DIFFUSE_DIRECT, SCE_PASS_DIFFUSE_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT, SCE_PASS_GLOSSY_COLOR, SCE_PASS_GLOSSY_DIRECT, SCE_PASS_GLOSSY_INDIRECT, SCE_PASS_INDEXMA, SCE_PASS_INDEXOB, SCE_PASS_MIST, SCE_PASS_NORMAL, SCE_PASS_RAYHITS, SCE_PASS_SHADOW, SCE_PASS_SUBSURFACE_COLOR, SCE_PASS_SUBSURFACE_DIRECT, SCE_PASS_SUBSURFACE_INDIRECT, SCE_PASS_TRANSM_COLOR, SCE_PASS_TRANSM_DIRECT, SCE_PASS_TRANSM_INDIRECT, SCE_PASS_UV, SCE_PASS_VECTOR, SCE_PASS_Z, STREQ, RenderResult::tilerect, view, RenderResult::views, Render::winx, Render::winy, rcti::xmax, rcti::xmin, RenderResult::xof, rcti::ymax, rcti::ymin, and RenderResult::yof.

Referenced by do_render_compositor(), RE_engine_begin_result(), RE_engine_render(), render_result_exr_file_cache_read(), render_result_exr_file_end(), and render_result_uncrop().

◆ render_result_new_from_exr()

struct RenderResult* render_result_new_from_exr ( void *  exrhandle,
const char *  colorspace,
bool  predivide,
int  rectx,
int  recty 
)

◆ render_result_rect_fill_zero()

void render_result_rect_fill_zero ( struct RenderResult rr,
const int  view_id 
)

◆ render_result_rect_get_pixels()

void render_result_rect_get_pixels ( struct RenderResult rr,
unsigned int *  rect,
int  rectx,
int  recty,
const struct ColorManagedViewSettings view_settings,
const struct ColorManagedDisplaySettings display_settings,
const int  view_id 
)

◆ render_result_rect_to_ibuf()

struct ImBuf* render_result_rect_to_ibuf ( struct RenderResult rr,
const struct RenderData rd,
const int  view_id 
)

◆ render_result_save_empty_result_tiles()

void render_result_save_empty_result_tiles ( struct Render re)

◆ render_result_single_layer_begin()

void render_result_single_layer_begin ( struct Render re)

Definition at line 1030 of file render_result.c.

References NULL, Render::pushedresult, RE_FreeRenderResult(), and Render::result.

Referenced by render_init_from_main().

◆ render_result_single_layer_end()

void render_result_single_layer_end ( struct Render re)

◆ render_result_view_new()

void render_result_view_new ( struct RenderResult rr,
const char *  viewname 
)

◆ render_result_views_new()

void render_result_views_new ( struct RenderResult rr,
const struct RenderData rd 
)

◆ render_result_views_shallowcopy()

void render_result_views_shallowcopy ( struct RenderResult dst,
struct RenderResult src 
)

◆ render_result_views_shallowdelete()

void render_result_views_shallowdelete ( struct RenderResult rr)

Definition at line 170 of file render_result.c.

References BLI_remlink(), ListBase::first, MEM_freeN, NULL, and RenderResult::views.

Referenced by RE_ReleaseResultImageViews().