|
Blender
V2.93
|
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 RenderResult * | render_result_new (struct Render *re, struct rcti *partrct, int savebuffers, const char *layername, const char *viewname) |
| struct RenderResult * | render_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 RenderPass * | render_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 ImBuf * | render_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) |
| #define FOREACH_VIEW_LAYER_TO_RENDER_BEGIN | ( | re_, | |
| iter_ | |||
| ) |
Definition at line 132 of file render_result.h.
| #define FOREACH_VIEW_LAYER_TO_RENDER_END |
Definition at line 148 of file render_result.h.
| #define PASS_VECTOR_MAX 10000.0f |
Definition at line 26 of file render_result.h.
| #define RR_ALL_LAYERS NULL |
Definition at line 31 of file render_result.h.
| #define RR_ALL_VIEWS NULL |
Definition at line 32 of file render_result.h.
| #define RR_USE_EXR 1 |
Definition at line 29 of file render_result.h.
| #define RR_USE_MEM 0 |
Definition at line 28 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 | ||
| ) |
Definition at line 216 of file render_result.c.
References Freestyle::a, BLI_addtail(), BLI_findstringindex(), BLI_strncpy(), RenderPass::chan_id, RenderPass::channels, EXR_PASS_MAXNAME, RenderLayer::exrhandle, RenderPass::fullname, IMB_exr_add_channel(), MEM_callocN, MEM_freeN, RenderPass::name, RenderLayer::name, NULL, PASS_VECTOR_MAX, RenderLayer::passes, RE_PASSNAME_COMBINED, RE_PASSNAME_VECTOR, RE_PASSNAME_Z, RenderPass::rect, RenderPass::rectx, RenderLayer::rectx, RenderResult::rectx, RenderPass::recty, RenderLayer::recty, RenderResult::recty, set_pass_full_name(), set_pass_name(), STREQ, RenderPass::view, RenderPass::view_id, RenderResult::views, and x.
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 491 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().
| void render_result_exr_file_begin | ( | struct Render * | re, |
| struct RenderEngine * | engine | ||
| ) |
Definition at line 1198 of file render_result.c.
References BLI_freelistN(), BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), FILE_MAX, IMB_exrtile_begin_write(), LISTBASE_FOREACH, Scene::name, RenderResult::next, NULL, Render::partx, Render::party, RE_create_render_pass(), render_result_exr_file_path(), render_result_get_pass_templates(), Render::result, Render::resultmutex, Render::scene, str, and THREAD_LOCK_WRITE.
Referenced by RE_engine_render().
| bool render_result_exr_file_cache_read | ( | struct Render * | re | ) |
Definition at line 1406 of file render_result.c.
References Render::disprect, FILE_MAXFILE, MAX_ID_NAME, NULL, RE_FreeRenderResult(), render_result_exr_file_cache_path(), render_result_exr_file_read_path(), render_result_new(), Render::result, RR_ALL_LAYERS, RR_ALL_VIEWS, RR_USE_MEM, Render::scene, and str.
Referenced by RE_ReadRenderResult().
| void render_result_exr_file_cache_write | ( | struct Render * | re | ) |
Definition at line 1393 of file render_result.c.
References FILE_MAXFILE, MAX_ID_NAME, NULL, RE_WriteRenderResult(), RenderResult::rectx, RenderResult::recty, render_result_exr_file_cache_path(), Render::result, Render::scene, and str.
Referenced by RE_engine_render().
| void render_result_exr_file_end | ( | struct Render * | re, |
| struct RenderEngine * | engine | ||
| ) |
Definition at line 1230 of file render_result.c.
References BLI_freelistN(), BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), Render::disprect, FILE_MAXFILE, Render::fullresult, IMB_exr_close(), RenderResult::layers, LISTBASE_FOREACH, MAX_ID_NAME, Scene::name, RenderResult::next, NULL, RE_create_render_pass(), render_result_exr_file_path(), render_result_exr_file_read_path(), render_result_free_list(), render_result_get_pass_templates(), render_result_new(), Render::result, Render::resultmutex, RR_ALL_LAYERS, RR_ALL_VIEWS, RR_USE_MEM, Render::scene, RenderResult::stamp_data, str, and THREAD_LOCK_WRITE.
Referenced by RE_engine_render().
| 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().
| void render_result_exr_file_path | ( | struct Scene * | scene, |
| const char * | layname, | ||
| int | sample, | ||
| char * | filepath | ||
| ) |
Definition at line 1288 of file render_result.c.
References BKE_main_blendfile_path_from_global(), BKE_tempdir_session, BLI_filename_make_safe(), BLI_join_dirfile(), BLI_path_basename(), BLI_snprintf(), FILE_MAX, FILE_MAXFILE, Scene::id, MAX_ID_NAME, ID::name, blender::compositor::sample(), and scene.
Referenced by RE_is_rendering_allowed(), render_result_exr_file_begin(), and render_result_exr_file_end().
| int render_result_exr_file_read_path | ( | struct RenderResult * | rr, |
| struct RenderLayer * | rl_single, | ||
| const char * | filepath | ||
| ) |
Definition at line 1307 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, RenderPass::rect, RenderResult::rectx, RenderResult::recty, set_pass_full_name(), and RenderPass::view.
Referenced by RE_result_load_from_file(), render_result_exr_file_cache_read(), and render_result_exr_file_end().
| void render_result_free | ( | struct RenderResult * | rr | ) |
Definition at line 85 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 | ( | 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().
| bool render_result_has_views | ( | struct RenderResult * | rr | ) |
Definition at line 807 of file render_result.c.
References ListBase::first, RenderView::name, RenderView::next, and RenderResult::views.
Referenced by RE_WriteRenderResult().
| void render_result_merge | ( | struct RenderResult * | rr, |
| struct RenderResult * | rrpart | ||
| ) |
Definition at line 841 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, | ||
| 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().
| 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 738 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().
| void render_result_rect_fill_zero | ( | struct RenderResult * | rr, |
| const int | view_id | ||
| ) |
Definition at line 1506 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, | ||
| const int | view_id | ||
| ) |
| struct ImBuf* render_result_rect_to_ibuf | ( | struct RenderResult * | rr, |
| const struct RenderData * | rd, | ||
| const int | view_id | ||
| ) |
| void render_result_save_empty_result_tiles | ( | struct Render * | re | ) |
Definition at line 1142 of file render_result.c.
References BLI_ghashIterator_getValue(), RenderPart::disprect, Render::disprect, RenderLayer::exrhandle, ListBase::first, GHASH_ITER, IMB_exrtile_write_channels(), RenderResult::layers, RenderLayer::next, RenderResult::next, PART_STATUS_MERGED, Render::parts, Render::result, RenderPart::status, Render::viewname, rcti::xmin, and rcti::ymin.
| 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().
| void render_result_single_layer_end | ( | struct Render * | re | ) |
Definition at line 1042 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 777 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 | ||
| ) |
Definition at line 148 of file render_result.c.
References BLI_addtail(), BLI_strncpy(), ListBase::first, MEM_mallocN, RenderView::name, RenderView::next, NULL, RenderView::rect32, RenderView::rectf, RenderView::rectz, and RenderResult::views.
Referenced by RE_AcquireResultImageViews().
| 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().