Blender
V3.3
|
Go to the source code of this file.
Macros | |
#define | PASS_VECTOR_MAX 10000.0f |
#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 |
#define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN | ( | re_, | |
iter_ | |||
) |
Definition at line 135 of file render_result.h.
#define FOREACH_VIEW_LAYER_TO_RENDER_END |
Definition at line 151 of file render_result.h.
#define PASS_VECTOR_MAX 10000.0f |
Definition at line 10 of file render_result.h.
Definition at line 12 of file render_result.h.
Definition at line 13 of file render_result.h.
struct RenderPass* render_layer_add_pass | ( | struct RenderResult * | rr, |
struct RenderLayer * | rl, | ||
int | channels, | ||
const char * | name, | ||
const char * | viewname, | ||
const char * | chan_id, | ||
bool | allocate | ||
) |
Render pass wrapper for grease-pencil.
Definition at line 191 of file render_result.c.
References Freestyle::a, BLI_addtail(), BLI_findstringindex(), BLI_strncpy(), RenderPass::chan_id, channels(), RenderPass::channels, EXR_PASS_MAXNAME, RenderLayer::exrhandle, RenderPass::fullname, IMB_exr_add_channel(), MEM_callocN, RenderPass::name, RenderLayer::name, NULL, RenderLayer::passes, RenderResult::passes_allocated, RE_render_result_full_channel_name(), RenderPass::rectx, RenderLayer::rectx, RenderPass::recty, RenderLayer::recty, render_layer_allocate_pass(), RenderPass::view, RenderPass::view_id, and RenderResult::views.
Referenced by RE_create_gp_pass(), RE_create_render_pass(), render_result_clone_passes(), render_result_from_bake(), and render_result_new().
void render_result_clone_passes | ( | struct Render * | re, |
struct RenderResult * | rr, | ||
const char * | viewname | ||
) |
Definition at line 446 of file render_result.c.
References BLI_findstring(), RenderPass::chan_id, RenderPass::channels, ListBase::first, RenderPass::fullname, RenderResult::layers, RenderPass::name, RenderLayer::name, RenderPass::next, RenderLayer::next, RenderLayer::passes, render_layer_add_pass(), Render::result, STREQ, and RenderPass::view.
Referenced by RE_engine_begin_result(), and render_result_uncrop().
For cache, makes exact copy of render result.
Definition at line 1001 of file render_result.c.
References COLOR_ROLE_SCENE_LINEAR, FILE_MAXFILE, IMB_colormanagement_role_colorspace_name_get(), IMB_exr_begin_read(), IMB_exr_close(), IMB_exr_get_handle(), IMB_exr_read_channels(), MAX_ID_NAME, RE_FreeRenderResult(), render_result_exr_file_cache_path(), render_result_new_from_exr(), Render::result, and Render::scene.
Referenced by RE_ReadRenderResult().
Definition at line 987 of file render_result.c.
References BKE_image_render_write_exr(), FILE_MAXFILE, MAX_ID_NAME, NULL, RenderResult::rectx, RenderResult::recty, render_result_exr_file_cache_path(), render_result_passes_allocated_ensure(), Render::result, Render::scene, and str.
Referenced by RE_engine_render().
int render_result_exr_file_read_path | ( | struct RenderResult * | rr, |
struct RenderLayer * | rl_single, | ||
const char * | filepath | ||
) |
Called for reading temp files, and for external engines.
Definition at line 899 of file render_result.c.
References Freestyle::a, RenderPass::chan_id, RenderPass::channels, EXR_PASS_MAXNAME, ListBase::first, RenderPass::fullname, IMB_exr_begin_read(), IMB_exr_close(), IMB_exr_get_handle(), IMB_exr_read_channels(), IMB_exr_set_channel(), RenderResult::layers, RenderPass::name, RenderLayer::name, RenderPass::next, RenderLayer::next, NULL, RenderLayer::passes, RE_render_result_full_channel_name(), RenderPass::rect, RenderResult::rectx, RenderResult::recty, and RenderPass::view.
Referenced by RE_result_load_from_file().
void render_result_free | ( | struct RenderResult * | rr | ) |
Definition at line 70 of file render_result.c.
References BKE_stamp_data_free(), BLI_remlink(), RenderResult::error, ListBase::first, RenderResult::layers, MEM_freeN, NULL, RenderLayer::passes, RenderPass::rect, RenderResult::rect32, RenderResult::rectf, RenderResult::rectz, render_result_views_free(), RenderResult::stamp_data, and RenderResult::text.
Referenced by do_render_compositor(), RE_ClearResult(), RE_engine_end_result(), RE_engine_render(), RE_FreeAllRenderResults(), RE_FreeRender(), RE_FreeRenderResult(), RE_InitState(), render_result_free_list(), and render_result_uncrop().
void render_result_free_list | ( | struct ListBase * | lb, |
struct RenderResult * | rr | ||
) |
Version that's compatible with full-sample buffers.
Definition at line 114 of file render_result.c.
References BLI_remlink(), ListBase::first, RenderResult::next, and render_result_free().
Referenced by RE_engine_render().
void render_result_merge | ( | struct RenderResult * | rr, |
struct RenderResult * | rrpart | ||
) |
Used when rendering to a full buffer, or when reading the EXR part-layer-pass file. no test happens here if it fits... we also assume layers are in sync.
Definition at line 813 of file render_result.c.
References RenderPass::channels, do_merge_tile(), ListBase::first, RenderPass::fullname, RenderResult::layers, RenderLayer::name, RenderPass::next, RenderLayer::next, NULL, RenderLayer::passes, RE_GetRenderLayer(), RenderPass::rect, and STREQ.
Referenced by RE_engine_end_result(), RE_engine_update_result(), and render_result_uncrop().
struct RenderResult* render_result_new | ( | struct Render * | re, |
struct rcti * | partrct, | ||
const char * | layername, | ||
const char * | viewname | ||
) |
Called by main render as well for parts will read info from Render *re to define layers.
re->winx
, re->winy
is coordinate space of entire image, partrct
the part within.
Definition at line 235 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, ListBase::first, FOREACH_VIEW_LAYER_TO_RENDER_BEGIN, FOREACH_VIEW_LAYER_TO_RENDER_END, RenderResult::layers, RenderLayer::layflag, MEM_callocN, RenderView::name, RenderLayer::name, RenderView::next, NULL, RenderResult::passes_allocated, RenderLayer::passflag, Render::r, R_BUTS_PREVIEW, 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_POSITION, 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_passes_allocated_ensure(), render_result_views_new(), RenderResult::renrect, SCE_LAY_FLAG_DEFAULT, 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_POSITION, 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, RenderData::scemode, 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(), and render_result_uncrop().
struct RenderResult* render_result_new_from_exr | ( | void * | exrhandle, |
const char * | colorspace, | ||
bool | predivide, | ||
int | rectx, | ||
int | recty | ||
) |
From imbuf
, if a handle was returned and it's not a single-layer multi-view we convert this to render result.
Definition at line 719 of file render_result.c.
References BLI_listbase_sort(), RenderPass::channels, COLOR_ROLE_SCENE_LINEAR, ListBase::first, IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_transform(), IMB_exr_multilayer_convert(), RenderResult::layers, MEM_callocN, ml_addlayer_cb(), ml_addpass_cb(), ml_addview_cb(), RenderPass::next, RenderLayer::next, order_render_passes(), RenderLayer::passes, RenderPass::rect, RenderPass::rectx, RenderLayer::rectx, RenderResult::rectx, RenderPass::recty, RenderLayer::recty, and RenderResult::recty.
Referenced by RE_MultilayerConvert(), and render_result_exr_file_cache_read().
void render_result_passes_allocated_ensure | ( | struct RenderResult * | rr | ) |
Definition at line 425 of file render_result.c.
References RenderResult::layers, LISTBASE_FOREACH, NULL, RenderResult::passes_allocated, RE_PASSNAME_COMBINED, render_layer_allocate_pass(), and STREQ.
Referenced by RE_AcquireResultWrite(), RE_engine_begin_result(), re_ensure_passes_allocated_thread_safe(), render_result_exr_file_cache_write(), render_result_new(), and render_result_uncrop().
void render_result_rect_fill_zero | ( | struct RenderResult * | rr, |
int | view_id | ||
) |
Definition at line 1113 of file render_result.c.
References MEM_callocN, RE_RenderViewGetById(), RenderView::rect32, RenderView::rectf, RenderResult::rectx, and RenderResult::recty.
Referenced by do_render_sequencer().
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, | ||
int | view_id | ||
) |
struct ImBuf* render_result_rect_to_ibuf | ( | struct RenderResult * | rr, |
const struct RenderData * | rd, | ||
int | view_id | ||
) |
Definition at line 844 of file render_result.c.
References NULL, Render::pushedresult, RE_FreeRenderResult(), and Render::result.
Referenced by render_init_from_main().
If RenderData.scemode is R_SINGLE_LAYER, at end of rendering, merge the both render results.
Definition at line 855 of file render_result.c.
References Render::active_view_layer, BLI_addtail(), BLI_remlink(), ListBase::first, RenderResult::layers, ViewLayer::name, ViewLayer::next, NULL, Render::pushedresult, RE_FreeRenderResult(), RE_GetRenderLayer(), RenderResult::rectx, RenderResult::recty, Render::result, and Render::view_layers.
Referenced by do_render_compositor().
void render_result_view_new | ( | struct RenderResult * | rr, |
const char * | viewname | ||
) |
Definition at line 758 of file render_result.c.
References BLI_addtail(), BLI_strncpy(), MEM_callocN, RenderView::name, and RenderResult::views.
Referenced by RE_InitState(), and render_result_views_new().
void render_result_views_new | ( | struct RenderResult * | rr, |
const struct RenderData * | rd | ||
) |
void render_result_views_shallowcopy | ( | struct RenderResult * | dst, |
struct RenderResult * | src | ||
) |
Create a new views ListBase in rr without duplicating the memory pointers.
Definition at line 131 of file render_result.c.
References BLI_addtail(), BLI_strncpy(), MEM_mallocN, RenderView::name, RenderView::next, NULL, RenderView::rect32, RenderView::rectf, RenderView::rectz, src, and RenderResult::views.
Referenced by RE_AcquireResultImageViews().
void render_result_views_shallowdelete | ( | struct RenderResult * | rr | ) |
Free the views created temporarily.
Definition at line 152 of file render_result.c.
References BLI_remlink(), ListBase::first, MEM_freeN, NULL, and RenderResult::views.
Referenced by RE_ReleaseResultImageViews().