|
Blender
V2.93
|
#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "MEM_guardedalloc.h"#include "BLI_ghash.h"#include "BLI_hash_md5.h"#include "BLI_listbase.h"#include "BLI_path_util.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_string_utils.h"#include "BLI_threads.h"#include "BLI_utildefines.h"#include "BKE_appdir.h"#include "BKE_camera.h"#include "BKE_global.h"#include "BKE_image.h"#include "BKE_report.h"#include "BKE_scene.h"#include "IMB_colormanagement.h"#include "IMB_imbuf.h"#include "IMB_imbuf_types.h"#include "intern/openexr/openexr_multi.h"#include "RE_engine.h"#include "render_result.h"#include "render_types.h"Go to the source code of this file.
Macros | |
| #define | RENDER_LAYER_ADD_PASS_SAFE(rr, rl, channels, name, viewname, chan_id) |
| #define | CHECK_PASS(NAME) |
Functions | |
| static void | render_result_views_free (RenderResult *rr) |
| void | render_result_free (RenderResult *rr) |
| void | render_result_free_list (ListBase *lb, RenderResult *rr) |
| void | render_result_views_shallowcopy (RenderResult *dst, RenderResult *src) |
| void | render_result_views_shallowdelete (RenderResult *rr) |
| static char * | set_pass_name (char *outname, const char *name, int channel, const char *chan_id) |
| static void | set_pass_full_name (char *fullname, const char *name, int channel, const char *view, const char *chan_id) |
| RenderPass * | render_layer_add_pass (RenderResult *rr, RenderLayer *rl, int channels, const char *name, const char *viewname, const char *chan_id) |
| RenderResult * | render_result_new (Render *re, rcti *partrct, int savebuffers, const char *layername, const char *viewname) |
| void | render_result_clone_passes (Render *re, RenderResult *rr, const char *viewname) |
| void | RE_create_render_pass (RenderResult *rr, const char *name, int channels, const char *chan_id, const char *layername, const char *viewname) |
| static int | passtype_from_name (const char *name) |
| static void * | ml_addlayer_cb (void *base, const char *str) |
| static void | ml_addpass_cb (void *base, void *lay, const char *name, float *rect, int totchan, const char *chan_id, const char *view) |
| static void * | ml_addview_cb (void *base, const char *str) |
| static int | order_render_passes (const void *a, const void *b) |
| RenderResult * | render_result_new_from_exr (void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty) |
| void | render_result_view_new (RenderResult *rr, const char *viewname) |
| void | render_result_views_new (RenderResult *rr, const RenderData *rd) |
| bool | render_result_has_views (RenderResult *rr) |
| static void | do_merge_tile (RenderResult *rr, RenderResult *rrpart, float *target, float *tile, int pixsize) |
| void | render_result_merge (RenderResult *rr, RenderResult *rrpart) |
| bool | RE_WriteRenderResult (ReportList *reports, RenderResult *rr, const char *filename, ImageFormatData *imf, const char *view, int layer) |
| void | render_result_single_layer_begin (Render *re) |
| void | render_result_single_layer_end (Render *re) |
| static void | save_render_result_tile (RenderResult *rr, RenderResult *rrpart, const char *viewname) |
| void | render_result_save_empty_result_tiles (Render *re) |
| static void | templates_register_pass_cb (void *userdata, Scene *UNUSED(scene), ViewLayer *UNUSED(view_layer), const char *name, int channels, const char *chan_id, eNodeSocketDatatype UNUSED(type)) |
| static void | render_result_get_pass_templates (RenderEngine *engine, Render *re, RenderLayer *rl, ListBase *templates) |
| void | render_result_exr_file_begin (Render *re, RenderEngine *engine) |
| void | render_result_exr_file_end (Render *re, RenderEngine *engine) |
| void | render_result_exr_file_merge (RenderResult *rr, RenderResult *rrpart, const char *viewname) |
| void | render_result_exr_file_path (Scene *scene, const char *layname, int sample, char *filepath) |
| int | render_result_exr_file_read_path (RenderResult *rr, RenderLayer *rl_single, const char *filepath) |
| static void | render_result_exr_file_cache_path (Scene *sce, const char *root, char *r_path) |
| void | render_result_exr_file_cache_write (Render *re) |
| bool | render_result_exr_file_cache_read (Render *re) |
| ImBuf * | render_result_rect_to_ibuf (RenderResult *rr, const RenderData *rd, const int view_id) |
| void | RE_render_result_rect_from_ibuf (RenderResult *rr, RenderData *UNUSED(rd), ImBuf *ibuf, const int view_id) |
| void | render_result_rect_fill_zero (RenderResult *rr, const int view_id) |
| void | render_result_rect_get_pixels (RenderResult *rr, unsigned int *rect, int rectx, int recty, const ColorManagedViewSettings *view_settings, const ColorManagedDisplaySettings *display_settings, const int view_id) |
| bool | RE_HasCombinedLayer (RenderResult *rr) |
| bool | RE_HasFloatPixels (RenderResult *rr) |
| bool | RE_RenderResult_is_stereo (RenderResult *rr) |
| RenderView * | RE_RenderViewGetById (RenderResult *rr, const int view_id) |
| RenderView * | RE_RenderViewGetByName (RenderResult *rr, const char *viewname) |
| static RenderPass * | duplicate_render_pass (RenderPass *rpass) |
| static RenderLayer * | duplicate_render_layer (RenderLayer *rl) |
| static RenderView * | duplicate_render_view (RenderView *rview) |
| RenderResult * | RE_DuplicateRenderResult (RenderResult *rr) |
| #define CHECK_PASS | ( | NAME | ) |
| #define RENDER_LAYER_ADD_PASS_SAFE | ( | rr, | |
| rl, | |||
| channels, | |||
| name, | |||
| viewname, | |||
| chan_id | |||
| ) |
|
static |
Definition at line 815 of file render_result.c.
References float(), RenderResult::rectx, RenderResult::recty, RenderResult::tilerect, rcti::xmin, y, and rcti::ymin.
Referenced by render_result_merge().
|
static |
Definition at line 1619 of file render_result.c.
References BLI_addtail(), duplicate_render_pass(), RenderLayer::exrhandle, ListBase::first, ListBase::last, MEM_mallocN, RenderLayer::next, NULL, RenderLayer::passes, and RenderLayer::prev.
Referenced by RE_DuplicateRenderResult().
|
static |
Definition at line 1608 of file render_result.c.
References MEM_dupallocN, MEM_mallocN, RenderPass::next, NULL, RenderPass::prev, and RenderPass::rect.
Referenced by duplicate_render_layer().
|
static |
Definition at line 1633 of file render_result.c.
References MEM_dupallocN, MEM_mallocN, NULL, RenderView::rect32, RenderView::rectf, and RenderView::rectz.
Referenced by RE_DuplicateRenderResult().
|
static |
Definition at line 603 of file render_result.c.
References BLI_addtail(), BLI_strncpy(), EXR_LAY_MAXNAME, RenderResult::layers, MEM_callocN, RenderLayer::name, and str.
Referenced by render_result_new_from_exr().
|
static |
Definition at line 615 of file render_result.c.
References BLI_addtail(), BLI_findstringindex(), BLI_strncpy(), RenderPass::chan_id, RenderPass::channels, EXR_PASS_MAXNAME, RenderPass::fullname, MEM_callocN, RenderPass::name, RenderLayer::passes, RenderLayer::passflag, passtype_from_name(), RenderPass::rect, set_pass_full_name(), view, RenderPass::view, RenderPass::view_id, and RenderResult::views.
Referenced by render_result_new_from_exr().
|
static |
Definition at line 647 of file render_result.c.
References BLI_addhead(), BLI_addtail(), BLI_findstring(), BLI_insertlinkafter(), BLI_strncpy(), EXR_VIEW_MAXNAME, MEM_callocN, RenderView::name, NULL, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, str, STREQ, and RenderResult::views.
Referenced by render_result_new_from_exr().
|
static |
Definition at line 679 of file render_result.c.
References Freestyle::a, EXR_PASS_MAXNAME, RenderPass::name, passtype_from_name(), STEREO_LEFT_NAME, STEREO_RIGHT_NAME, STREQ, RenderPass::view, and RenderPass::view_id.
Referenced by render_result_new_from_exr().
|
static |
Definition at line 560 of file render_result.c.
References BLI_str_partition(), CHECK_PASS, len, NORMAL, and Z.
Referenced by ml_addpass_cb(), and order_render_passes().
| void RE_create_render_pass | ( | RenderResult * | rr, |
| const char * | name, | ||
| int | channels, | ||
| const char * | chan_id, | ||
| const char * | layername, | ||
| const char * | viewname | ||
| ) |
Definition at line 519 of file render_result.c.
References ListBase::first, RenderResult::layers, RenderView::name, RenderPass::name, RenderLayer::name, RenderView::next, RenderPass::next, RenderLayer::next, RenderLayer::passes, render_layer_add_pass(), STREQ, view, RenderPass::view, and RenderResult::views.
Referenced by FRS_composite_result(), RE_engine_add_pass(), render_result_exr_file_begin(), and render_result_exr_file_end().
| RenderResult* RE_DuplicateRenderResult | ( | RenderResult * | rr | ) |
Definition at line 1649 of file render_result.c.
References BKE_stamp_data_copy(), BLI_addtail(), duplicate_render_layer(), duplicate_render_view(), ListBase::first, ListBase::last, RenderResult::layers, MEM_dupallocN, MEM_mallocN, RenderResult::next, NULL, RenderResult::prev, RenderResult::rect32, RenderResult::rectf, RenderResult::rectz, RenderResult::stamp_data, and RenderResult::views.
Referenced by screen_opengl_render_anim_step().
| bool RE_HasCombinedLayer | ( | RenderResult * | rr | ) |
Definition at line 1552 of file render_result.c.
References ListBase::first, NULL, RenderView::rect32, RenderView::rectf, and RenderResult::views.
Referenced by BKE_image_multilayer_index(), render_image_restore_layer(), ui_imageuser_layer_menu_step(), and ui_imageuser_pass_menu_step().
| bool RE_HasFloatPixels | ( | RenderResult * | rr | ) |
Definition at line 1568 of file render_result.c.
References ListBase::first, RenderView::next, RenderView::rect32, RenderView::rectf, and RenderResult::views.
Referenced by image_save_single(), and RE_WriteRenderViewsImage().
| void RE_render_result_rect_from_ibuf | ( | RenderResult * | rr, |
| RenderData * | UNUSEDrd, | ||
| ImBuf * | ibuf, | ||
| const int | view_id | ||
| ) |
Definition at line 1472 of file render_result.c.
References RenderResult::have_combined, MEM_mallocN, MEM_SAFE_FREE, RE_RenderViewGetById(), ImBuf::rect, RenderView::rect32, ImBuf::rect_float, RenderView::rectf, RenderResult::rectx, and RenderResult::recty.
Referenced by do_render_sequencer(), and screen_opengl_render_doit().
| bool RE_RenderResult_is_stereo | ( | RenderResult * | rr | ) |
Definition at line 1581 of file render_result.c.
References BLI_findstring(), STEREO_LEFT_NAME, STEREO_RIGHT_NAME, and RenderResult::views.
Referenced by BKE_image_multilayer_index(), and uiblock_layer_pass_buttons().
| RenderView* RE_RenderViewGetById | ( | RenderResult * | rr, |
| const int | view_id | ||
| ) |
Definition at line 1594 of file render_result.c.
References BLI_assert, BLI_findlink(), ListBase::first, and RenderResult::views.
Referenced by do_render_sequencer(), ed_preview_draw_rect(), image_buffer_rect_update(), RE_AcquireResultImage(), RE_render_result_rect_from_ibuf(), render_result_rect_fill_zero(), render_result_rect_get_pixels(), render_result_rect_to_ibuf(), screen_opengl_render_doit(), and ui_imageuser_layer_fake_name().
| RenderView* RE_RenderViewGetByName | ( | RenderResult * | rr, |
| const char * | viewname | ||
| ) |
Definition at line 1601 of file render_result.c.
References BLI_assert, BLI_findstring(), ListBase::first, and RenderResult::views.
Referenced by blender::compositor::CompositorOperation::deinitExecution().
| bool RE_WriteRenderResult | ( | ReportList * | reports, |
| RenderResult * | rr, | ||
| const char * | filename, | ||
| ImageFormatData * | imf, | ||
| const char * | view, | ||
| int | layer | ||
| ) |
Definition at line 872 of file render_result.c.
References Freestyle::a, BKE_reportf(), BLI_make_existing_file(), BLI_strncpy(), ImageFormatData::depth, ImageFormatData::exr_codec, EXR_PASS_MAXNAME, ListBase::first, ImageFormatData::flag, RenderResult::have_combined, IMB_exr_add_channel(), IMB_exr_add_view(), IMB_exr_begin_write(), IMB_exr_close(), IMB_exr_get_handle(), IMB_exr_write_channels(), ImageFormatData::imtype, RenderResult::layers, LISTBASE_FOREACH, R_IMF_CHAN_DEPTH_16, R_IMF_FLAG_ZBUF, R_IMF_IMTYPE_OPENEXR, RE_PASSNAME_COMBINED, RE_PASSNAME_Z, RenderResult::rectx, RenderResult::recty, render_result_has_views(), RPT_ERROR, set_pass_name(), RenderResult::stamp_data, STR_ELEM, STREQ, view, and RenderResult::views.
Referenced by image_save_single(), RE_WriteRenderViewsImage(), and render_result_exr_file_cache_write().
| RenderPass* render_layer_add_pass | ( | RenderResult * | rr, |
| 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 | ( | Render * | re, |
| 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 | ( | Render * | re, |
| 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().
|
static |
Definition at line 1360 of file render_result.c.
References BKE_main_blendfile_path_from_global(), BKE_tempdir_base(), BLI_hash_md5_buffer(), BLI_hash_md5_to_hexdigest(), BLI_make_file_string(), BLI_path_extension_replace(), BLI_snprintf(), BLI_split_dirfile(), BLI_strncpy(), dirname(), FILE_MAX, FILE_MAXDIR, FILE_MAXFILE, Scene::id, MAX_ID_NAME, and ID::name.
Referenced by render_result_exr_file_cache_read(), and render_result_exr_file_cache_write().
| bool render_result_exr_file_cache_read | ( | 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 | ( | 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 | ( | Render * | re, |
| 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 | ( | RenderResult * | rr, |
| 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 | ( | 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 | ( | RenderResult * | rr, |
| 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 | ( | 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().
|
static |
Definition at line 1181 of file render_result.c.
References BLI_findstring(), BLI_listbase_clear(), RenderLayer::name, RE_engine_update_render_passes(), Render::scene, templates_register_pass_cb(), RenderEngine::type, RenderEngineType::update_render_passes, and Render::view_layers.
Referenced by render_result_exr_file_begin(), and render_result_exr_file_end().
| bool render_result_has_views | ( | 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 | ( | RenderResult * | rr, |
| 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().
| RenderResult* render_result_new | ( | Render * | re, |
| 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().
| 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 | ( | 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 | ( | RenderResult * | rr, |
| unsigned int * | rect, | ||
| int | rectx, | ||
| int | recty, | ||
| const ColorManagedViewSettings * | view_settings, | ||
| const ColorManagedDisplaySettings * | display_settings, | ||
| const int | view_id | ||
| ) |
Definition at line 1521 of file render_result.c.
References IMB_display_buffer_transform_apply(), RE_RenderViewGetById(), RenderView::rect32, RenderView::rectf, RenderResult::rectx, and RenderResult::recty.
Referenced by RE_AcquiredResultGet32(), and RE_ResultGet32().
| ImBuf* render_result_rect_to_ibuf | ( | RenderResult * | rr, |
| const RenderData * | rd, | ||
| const int | view_id | ||
| ) |
Definition at line 1427 of file render_result.c.
References BKE_imtype_valid_depths(), ImageFormatData::depth, ImBuf::dither, RenderData::dither_intensity, if(), RenderData::im_format, IMB_allocImBuf(), IMB_color_to_bw(), IMB_dupImBuf(), IMB_float_from_rect(), IMB_freeImBuf(), ImageFormatData::imtype, NULL, ImageFormatData::planes, R_IMF_CHAN_DEPTH_12, R_IMF_CHAN_DEPTH_16, R_IMF_CHAN_DEPTH_24, R_IMF_CHAN_DEPTH_32, R_IMF_CHAN_DEPTH_8, R_IMF_PLANES_BW, RE_RenderViewGetById(), ImBuf::rect, RenderView::rect32, ImBuf::rect_float, RenderView::rectf, RenderResult::rectx, RenderResult::recty, RenderView::rectz, and ImBuf::zbuf_float.
Referenced by RE_WriteRenderViewsImage(), and RE_WriteRenderViewsMovie().
| void render_result_save_empty_result_tiles | ( | 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 | ( | 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 | ( | 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 | ( | 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().
|
static |
Definition at line 61 of file render_result.c.
References BLI_remlink(), ListBase::first, RenderResult::have_combined, MEM_freeN, RenderView::rect32, RenderView::rectf, RenderView::rectz, and RenderResult::views.
Referenced by render_result_free(), and render_result_views_new().
| void render_result_views_new | ( | RenderResult * | rr, |
| const RenderData * | rd | ||
| ) |
Definition at line 784 of file render_result.c.
References BKE_scene_multiview_is_render_view_active(), BLI_listbase_count_at_most(), ListBase::first, SceneRenderView::name, SceneRenderView::next, R_MULTIVIEW, render_result_view_new(), render_result_views_free(), RenderData::scemode, RenderData::views, and RenderResult::views.
Referenced by do_render_sequencer(), and render_result_new().
| void render_result_views_shallowcopy | ( | RenderResult * | dst, |
| 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 | ( | 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().
|
static |
Definition at line 1088 of file render_result.c.
References Freestyle::a, BLI_assert, BLI_thread_lock(), BLI_thread_unlock(), RenderPass::chan_id, RenderPass::channels, EXR_PASS_MAXNAME, RenderLayer::exrhandle, ListBase::first, IMB_exr_set_channel(), IMB_exrtile_write_channels(), RenderResult::layers, LOCK_IMAGE, RenderPass::name, RenderLayer::name, RenderPass::next, RenderLayer::next, NULL, RenderLayer::passes, RE_GetRenderLayer(), RenderPass::rect, RenderResult::rectx, set_pass_full_name(), RenderResult::tilerect, UNLIKELY, rcti::xmin, and rcti::ymin.
Referenced by render_result_exr_file_merge().
|
static |
Definition at line 197 of file render_result.c.
References ARRAY_SET_ITEMS, BLI_string_join_array_by_sep_char(), EXR_PASS_MAXNAME, and view.
Referenced by ml_addpass_cb(), render_layer_add_pass(), render_result_exr_file_read_path(), and save_render_result_tile().
|
static |
Definition at line 183 of file render_result.c.
References ARRAY_SET_ITEMS, BLI_string_join_array_by_sep_char(), and EXR_PASS_MAXNAME.
Referenced by RE_WriteRenderResult(), and render_layer_add_pass().
|
static |
Definition at line 1163 of file render_result.c.
References BLI_addtail(), BLI_strncpy(), RenderPass::chan_id, RenderPass::channels, MEM_callocN, and RenderPass::name.
Referenced by render_result_get_pass_templates().