|
Blender V4.5
|
Go to the source code of this file.
Classes | |
| struct | RenderView |
| struct | RenderPass |
| struct | RenderLayer |
| struct | RenderResult |
| class | RenderStats |
Macros | |
| #define | RE_MAXNAME ((MAX_ID_NAME - 2) + 10) |
| #define | RE_BAKE_NORMALS 0 |
| #define | RE_BAKE_DISPLACEMENT 1 |
| #define | RE_BAKE_AO 2 |
Functions | |
| struct Render * | RE_NewRender (const char *name) |
| struct Render * | RE_GetRender (const char *name) |
| struct Render * | RE_NewSceneRender (const struct Scene *scene) |
| struct Render * | RE_GetSceneRender (const struct Scene *scene) |
| struct ViewRender * | RE_NewViewRender (struct RenderEngineType *engine_type) |
| struct Render * | RE_NewInteractiveCompositorRender (const struct Scene *scene) |
| void | RE_InitRenderCB (struct Render *re) |
| void | RE_FreeRender (struct Render *re) |
| void | RE_FreeViewRender (struct ViewRender *view_render) |
| void | RE_FreeAllRender (void) |
| void | RE_FreeInteractiveCompositorRenders (void) |
| void | RE_FreeAllRenderResults (void) |
| void | RE_FreeAllPersistentData (void) |
| void | RE_FreePersistentData (const struct Scene *scene) |
| void | RE_FreeGPUTextureCaches (void) |
| void | RE_FreeUnusedGPUResources (void) |
| void | RE_FreeRenderResult (struct RenderResult *rr) |
| struct RenderResult * | RE_AcquireResultRead (struct Render *re) |
| struct RenderResult * | RE_AcquireResultWrite (struct Render *re) |
| void | RE_ReferenceRenderResult (struct RenderResult *rr) |
| void | RE_ReleaseResult (struct Render *re) |
| void | RE_AcquireResultImageViews (struct Render *re, struct RenderResult *rr) |
| void | RE_ReleaseResultImageViews (struct Render *re, struct RenderResult *rr) |
| void | RE_AcquireResultImage (struct Render *re, struct RenderResult *rr, int view_id) |
| void | RE_ReleaseResultImage (struct Render *re) |
| void | RE_SwapResult (struct Render *re, struct RenderResult **rr) |
| void | RE_ClearResult (struct Render *re) |
| struct RenderStats * | RE_GetStats (struct Render *re) |
| void | RE_ResultGet32 (struct Render *re, unsigned int *rect) |
| void | RE_ResultGetFloat (struct Render *re, float *rect) |
| bool | RE_ResultIsMultiView (struct RenderResult *rr) |
| void | RE_render_result_full_channel_name (char *fullname, const char *layname, const char *passname, const char *viewname, const char *chan_id, int channel) |
| struct ImBuf * | RE_render_result_rect_to_ibuf (struct RenderResult *rr, const struct ImageFormatData *imf, const float dither, int view_id) |
| void | RE_render_result_rect_from_ibuf (struct RenderResult *rr, const struct ImBuf *ibuf, int view_id) |
| struct RenderLayer * | RE_GetRenderLayer (struct RenderResult *rr, const char *name) |
| float * | RE_RenderLayerGetPass (struct RenderLayer *rl, const char *name, const char *viewname) |
| struct ImBuf * | RE_RenderLayerGetPassImBuf (struct RenderLayer *rl, const char *name, const char *viewname) |
| bool | RE_HasSingleLayer (struct Render *re) |
| struct RenderPass * | RE_create_gp_pass (struct RenderResult *rr, const char *layername, const char *viewname) |
| void | RE_create_render_pass (struct RenderResult *rr, const char *name, int channels, const char *chan_id, const char *layername, const char *viewname, bool allocate) |
| void | RE_InitState (struct Render *re, struct Render *source, struct RenderData *rd, struct ListBase *render_layers, struct ViewLayer *single_layer, int winx, int winy, const rcti *disprect) |
| struct Object * | RE_GetCamera (struct Render *re) |
| void | RE_SetOverrideCamera (struct Render *re, struct Object *cam_ob) |
| void | RE_SetCamera (struct Render *re, const struct Object *cam_ob) |
| void | RE_GetViewPlane (struct Render *re, rctf *r_viewplane, rcti *r_disprect) |
| void | RE_init_threadcount (Render *re) |
| bool | RE_WriteRenderViewsMovie (struct ReportList *reports, struct RenderResult *rr, struct Scene *scene, struct RenderData *rd, struct MovieWriter **movie_writers, int totvideos, bool preview) |
| void | RE_RenderFrame (struct Render *re, struct Main *bmain, struct Scene *scene, struct ViewLayer *single_layer, struct Object *camera_override, int frame, float subframe, bool write_still) |
| void | RE_RenderAnim (struct Render *re, struct Main *bmain, struct Scene *scene, struct ViewLayer *single_layer, struct Object *camera_override, int sfra, int efra, int tfra) |
| void | RE_SetActiveRenderView (struct Render *re, const char *viewname) |
| const char * | RE_GetActiveRenderView (struct Render *re) |
| void | RE_SetReports (struct Render *re, struct ReportList *reports) |
| void | RE_PreviewRender (struct Render *re, struct Main *bmain, struct Scene *scene) |
| bool | RE_ReadRenderResult (struct Scene *scene, struct Scene *scenode) |
| struct RenderResult * | RE_MultilayerConvert (void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty) |
| void | RE_display_init_cb (struct Render *re, void *handle, void(*f)(void *handle, RenderResult *rr)) |
| void | RE_display_clear_cb (struct Render *re, void *handle, void(*f)(void *handle, RenderResult *rr)) |
| void | RE_display_update_cb (struct Render *re, void *handle, void(*f)(void *handle, RenderResult *rr, struct rcti *rect)) |
| void | RE_stats_draw_cb (struct Render *re, void *handle, void(*f)(void *handle, RenderStats *rs)) |
| void | RE_progress_cb (struct Render *re, void *handle, void(*f)(void *handle, float)) |
| void | RE_draw_lock_cb (struct Render *re, void *handle, void(*f)(void *handle, bool lock)) |
| void | RE_test_break_cb (struct Render *re, void *handle, bool(*f)(void *handle)) |
| void | RE_prepare_viewlayer_cb (struct Render *re, void *handle, bool(*f)(void *handle, ViewLayer *vl, struct Depsgraph *depsgraph)) |
| void | RE_current_scene_update_cb (struct Render *re, void *handle, void(*f)(void *handle, struct Scene *scene)) |
| void | RE_system_gpu_context_ensure (Render *re) |
| void | RE_system_gpu_context_free (Render *re) |
| void * | RE_system_gpu_context_get (Render *re) |
| void * | RE_blender_gpu_context_ensure (Render *re) |
| void | RE_blender_gpu_context_free (Render *re) |
| float | RE_filter_value (int type, float x) |
| bool | RE_seq_render_active (struct Scene *scene, struct RenderData *rd) |
| bool | RE_layers_have_name (struct RenderResult *result) |
| bool | RE_passes_have_name (struct RenderLayer *rl) |
| struct RenderPass * | RE_pass_find_by_name (struct RenderLayer *rl, const char *name, const char *viewname) |
| struct RenderPass * | RE_pass_find_by_type (struct RenderLayer *rl, int passtype, const char *viewname) |
| void | RE_pass_set_buffer_data (struct RenderPass *pass, float *data) |
| struct GPUTexture * | RE_pass_ensure_gpu_texture_cache (struct Render *re, struct RenderPass *rpass) |
| void | RE_GetCameraWindow (struct Render *re, const struct Object *camera, float r_winmat[4][4]) |
| void | RE_GetCameraWindowWithOverscan (const struct Render *re, float overscan, float r_winmat[4][4]) |
| void | RE_GetCameraModelMatrix (const struct Render *re, const struct Object *camera, float r_modelmat[4][4]) |
| void | RE_GetWindowMatrixWithOverscan (bool is_ortho, float clip_start, float clip_end, rctf viewplane, float overscan, float r_winmat[4][4]) |
| struct Scene * | RE_GetScene (struct Render *re) |
| void | RE_SetScene (struct Render *re, struct Scene *sce) |
| bool | RE_is_rendering_allowed (struct Scene *scene, struct ViewLayer *single_layer, struct Object *camera_override, struct ReportList *reports) |
| bool | RE_allow_render_generic_object (struct Object *ob) |
| bool | RE_HasCombinedLayer (const RenderResult *result) |
| bool | RE_HasFloatPixels (const RenderResult *result) |
| bool | RE_RenderResult_is_stereo (const RenderResult *result) |
| struct RenderView * | RE_RenderViewGetById (struct RenderResult *rr, int view_id) |
| struct RenderView * | RE_RenderViewGetByName (struct RenderResult *rr, const char *viewname) |
| RenderResult * | RE_DuplicateRenderResult (RenderResult *rr) |
| struct ImBuf * | RE_RenderPassEnsureImBuf (RenderPass *render_pass) |
| struct ImBuf * | RE_RenderViewEnsureImBuf (const RenderResult *render_result, RenderView *render_view) |
| bool | RE_RenderPassIsColor (const RenderPass *render_pass) |
| #define RE_BAKE_AO 2 |
Definition at line 486 of file RE_pipeline.h.
Referenced by bake_images(), and blender::ed::object::is_multires_bake().
| #define RE_BAKE_DISPLACEMENT 1 |
Definition at line 485 of file RE_pipeline.h.
Referenced by bake_images(), finish_images(), blender::ed::object::is_multires_bake(), blender::ed::object::multiresbake_image_exec_locked(), blender::ed::object::multiresbake_startjob(), and rna_def_scene_render_data().
| #define RE_BAKE_NORMALS 0 |
Definition at line 484 of file RE_pipeline.h.
Referenced by bake_images(), blender::ed::object::init_multiresbake_job(), blender::ed::object::is_multires_bake(), blender::ed::object::multiresbake_image_exec_locked(), blender::ed::object::multiresbake_startjob(), and rna_def_scene_render_data().
| #define RE_MAXNAME ((MAX_ID_NAME - 2) + 10) |
Definition at line 34 of file RE_pipeline.h.
Referenced by RE_GetRender(), RENDER_OT_render(), and screen_render_single_layer_set().
| void RE_AcquireResultImage | ( | struct Render * | re, |
| struct RenderResult * | rr, | ||
| int | view_id ) |
Fill provided result struct with what's currently active or done. This RenderResult struct is the only exception to the rule of a RenderResult always having at least one RenderView.
Definition at line 442 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_lock(), copy_v2_v2_db(), Render::disprect, RenderResult::have_combined, RenderResult::ibuf, RenderView::ibuf, RenderResult::layers, RenderView::name, RenderResult::ppm, RE_AcquireResultImage(), RE_PASSNAME_COMBINED, RE_RenderLayerGetPassImBuf(), RE_RenderViewGetById(), RenderResult::rectx, RenderResult::recty, render_get_single_layer(), BaseRender::result, BaseRender::resultmutex, RenderResult::stamp_data, THREAD_LOCK_READ, RenderResult::views, rcti::xmin, RenderResult::xof, rcti::ymin, and RenderResult::yof.
Referenced by image_get_render_result(), RE_AcquireResultImage(), RE_FreePersistentData(), renderresult_stampinfo(), and blender::seq::seq_render_scene_strip().
| void RE_AcquireResultImageViews | ( | struct Render * | re, |
| struct RenderResult * | rr ) |
Same as RE_AcquireResultImage but creating the necessary views to store the result fill provided result struct with a copy of thew views of what is done so far the RenderResult.views ListBase needs to be freed after with RE_ReleaseResultImageViews
Definition at line 391 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_lock(), copy_v2_v2_db(), Render::disprect, ListBase::first, RenderResult::have_combined, RenderView::ibuf, RenderResult::layers, LISTBASE_FOREACH, RenderResult::ppm, RE_AcquireResultImageViews(), RE_PASSNAME_COMBINED, RE_RenderLayerGetPassImBuf(), RenderResult::rectx, RenderResult::recty, render_get_single_layer(), render_result_views_shallowcopy(), BaseRender::result, BaseRender::resultmutex, RenderResult::stamp_data, THREAD_LOCK_READ, RenderResult::views, rcti::xmin, RenderResult::xof, rcti::ymin, and RenderResult::yof.
Referenced by do_write_image_or_movie(), ed_preview_draw_rect(), RE_AcquireResultImageViews(), RE_FreePersistentData(), and RE_ResultGet32().
| struct RenderResult * RE_AcquireResultRead | ( | struct Render * | re | ) |
If you want to know exactly what has been done.
Definition at line 331 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_lock(), RE_AcquireResultRead(), BaseRender::result, BaseRender::resultmutex, and THREAD_LOCK_READ.
Referenced by BKE_image_acquire_renderresult(), eyedropper_cryptomatte_sample_render_fl(), blender::render::Context::get_pass(), blender::render::Context::get_render_size(), image_renderinfo_cb(), blender::ed::space_node::node_preview_acquire_ibuf(), blender::render::Context::populate_meta_data_for_pass(), RE_AcquireResultRead(), RE_engine_pass_by_index_get(), RE_engine_set_error_message(), RE_FreePersistentData(), render_image_restore_layer(), render_image_update_pass_and_layer(), screen_opengl_render_anim_step(), screen_opengl_render_apply(), screen_opengl_render_write(), and screen_render_exec().
| struct RenderResult * RE_AcquireResultWrite | ( | struct Render * | re | ) |
Definition at line 341 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_lock(), RE_AcquireResultWrite(), render_result_passes_allocated_ensure(), BaseRender::result, BaseRender::resultmutex, and THREAD_LOCK_WRITE.
Referenced by blender::render::Context::output_to_render_result(), RE_AcquireResultWrite(), RE_FreePersistentData(), re_gpu_texture_caches_free(), screen_opengl_views_setup(), and shader_preview_texture().
| bool RE_allow_render_generic_object | ( | struct Object * | ob | ) |
Definition at line 2976 of file source/blender/render/intern/pipeline.cc.
References OB_DUPLI, OB_DUPLIPARTS, RE_allow_render_generic_object(), and Object::transflag.
Referenced by clean_viewport_memory_base(), RE_allow_render_generic_object(), and RE_GetCameraModelMatrix().
| void * RE_blender_gpu_context_ensure | ( | Render * | re | ) |
Definition at line 1046 of file source/blender/render/intern/pipeline.cc.
References Render::blender_gpu_context, GPU_context_create(), RE_blender_gpu_context_ensure(), and Render::system_gpu_context.
Referenced by DRW_render_context_disable(), DRW_render_context_enable(), blender::render::Compositor::execute(), RE_blender_gpu_context_ensure(), and RE_SetCamera().
| void RE_blender_gpu_context_free | ( | Render * | re | ) |
Definition at line 1054 of file source/blender/render/intern/pipeline.cc.
References Render::blender_gpu_context, GPU_context_active_set(), GPU_context_discard(), RE_blender_gpu_context_free(), Render::system_gpu_context, and WM_system_gpu_context_activate().
Referenced by RE_blender_gpu_context_free(), RE_FreeUnusedGPUResources(), RE_SetCamera(), render_pipeline_free(), and Render::~Render().
| void RE_ClearResult | ( | struct Render * | re | ) |
Definition at line 352 of file source/blender/render/intern/pipeline.cc.
References RE_ClearResult(), render_result_free(), BaseRender::result, and Render::result_has_gpu_texture_caches.
Referenced by BKE_image_clear_renderslot(), blender::ed::space_node::preview_render(), RE_ClearResult(), and RE_FreePersistentData().
| struct RenderPass * RE_create_gp_pass | ( | struct RenderResult * | rr, |
| const char * | layername, | ||
| const char * | viewname ) |
Add passes for grease pencil. Create a render-layer and render-pass for grease-pencil layer.
Definition at line 2946 of file source/blender/render/intern/pipeline.cc.
References BLI_addtail(), BLI_freelinkN(), RenderPass::ibuf, IMB_freeImBuf(), RenderResult::layers, RenderLayer::layflag, MEM_callocN(), RenderLayer::name, RenderLayer::passes, RenderLayer::passflag, RE_create_gp_pass(), RE_GetRenderLayer(), RE_pass_find_by_name(), RE_PASSNAME_COMBINED, RenderLayer::rectx, RenderResult::rectx, RenderLayer::recty, RenderResult::recty, render_layer_add_pass(), SCE_LAY_SOLID, SCE_PASS_COMBINED, and STRNCPY().
Referenced by RE_create_gp_pass(), and RE_render_result_rect_from_ibuf().
| void RE_create_render_pass | ( | struct RenderResult * | rr, |
| const char * | name, | ||
| int | channels, | ||
| const char * | chan_id, | ||
| const char * | layername, | ||
| const char * | viewname, | ||
| bool | allocate ) |
Definition at line 422 of file render_result.cc.
References RenderResult::layers, LISTBASE_FOREACH, RE_create_render_pass(), render_layer_add_pass(), STREQ, and RenderResult::views.
Referenced by engine_render_add_result_pass_cb(), FRS_composite_result(), RE_create_render_pass(), RE_engine_add_pass(), RE_render_result_rect_from_ibuf(), and blender::draw::gpencil::Engine::render_to_image().
| void RE_current_scene_update_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, struct Scene *scene) ) |
Definition at line 963 of file source/blender/render/intern/pipeline.cc.
References Render::current_scene_update_cb, RE_current_scene_update_cb(), and Render::suh.
Referenced by RE_current_scene_update_cb(), RE_SetCamera(), and screen_render_invoke().
| void RE_display_clear_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, RenderResult *rr) ) |
Definition at line 951 of file source/blender/render/intern/pipeline.cc.
References Render::dch, Render::display_clear_cb, and RE_display_clear_cb().
Referenced by RE_display_clear_cb(), and RE_SetCamera().
| void RE_display_init_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, RenderResult *rr) ) |
Image and movie output has to move to either ImBuf or kernel.
Definition at line 946 of file source/blender/render/intern/pipeline.cc.
References Render::dih, Render::display_init_cb, and RE_display_init_cb().
Referenced by RE_display_init_cb(), and RE_SetCamera().
| void RE_display_update_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, RenderResult *rr, struct rcti *rect) ) |
Definition at line 956 of file source/blender/render/intern/pipeline.cc.
References Render::display_update_cb, Render::duh, and RE_display_update_cb().
Referenced by blender::ed::space_node::preview_render(), RE_display_update_cb(), RE_SetCamera(), screen_render_invoke(), and shader_preview_render().
Definition at line 979 of file source/blender/render/intern/pipeline.cc.
References Render::dlh, Render::draw_lock_cb, lock, and RE_draw_lock_cb().
Referenced by RE_draw_lock_cb(), RE_SetCamera(), screen_render_exec(), and screen_render_invoke().
| RenderResult * RE_DuplicateRenderResult | ( | RenderResult * | rr | ) |
Definition at line 1338 of file render_result.cc.
References BKE_stamp_data_copy(), BLI_addtail(), copy_v2_v2_db(), duplicate_render_layer(), duplicate_render_view(), ListBase::first, RenderResult::ibuf, IMB_dupImBuf(), ListBase::last, RenderResult::layers, LISTBASE_FOREACH, MEM_dupallocN(), RenderResult::next, RenderResult::ppm, RenderResult::prev, RE_DuplicateRenderResult(), RenderResult::stamp_data, and RenderResult::views.
Referenced by RE_DuplicateRenderResult(), RE_GetCameraModelMatrix(), and screen_opengl_render_anim_step().
| float RE_filter_value | ( | int | type, |
| float | x ) |
| x | ranges from -1 to 1. |
TODO: Should move to kernel once... still unsure on how/where.
Definition at line 105 of file initrender.cc.
References expf, fabsf, filt_catrom(), filt_cubic(), filt_mitchell(), filt_quadratic(), M_PI, R_FILTER_BOX, R_FILTER_CATROM, R_FILTER_CUBIC, R_FILTER_FAST_GAUSS, R_FILTER_GAUSS, R_FILTER_MITCH, R_FILTER_QUAD, R_FILTER_TENT, RE_filter_value(), sqrtf, and x.
Referenced by blender::seq::make_gaussian_blur_kernel(), RE_filter_value(), RE_SetCamera(), blender::compositor::SymmetricBlurWeights::SymmetricBlurWeights(), and blender::compositor::SymmetricSeparableBlurWeights::SymmetricSeparableBlurWeights().
| void RE_FreeAllPersistentData | ( | void | ) |
On file load or changes engines, free persistent render data. Assumes no engines are currently rendering.
Definition at line 655 of file source/blender/render/intern/pipeline.cc.
References BLI_assert, BaseRender::engine, RenderEngine::flag, RE_engine_free(), RE_ENGINE_RENDERING, RE_FreeAllPersistentData(), and RenderGlobal.
Referenced by RE_FreeAllPersistentData(), RE_NewInteractiveCompositorRender(), and setup_app_data().
| void RE_FreeAllRender | ( | void | ) |
Only called on exit.
Definition at line 621 of file source/blender/render/intern/pipeline.cc.
References FRS_exit(), RE_FreeAllRender(), RE_FreeInteractiveCompositorRenders(), RE_FreeRender(), and RenderGlobal.
Referenced by RE_FreeAllRender(), RE_NewInteractiveCompositorRender(), and WM_exit_ex().
| void RE_FreeAllRenderResults | ( | void | ) |
On file load, free render results.
Definition at line 643 of file source/blender/render/intern/pipeline.cc.
References Render::pushedresult, RE_FreeAllRenderResults(), render_result_free(), RenderGlobal, BaseRender::result, and Render::result_has_gpu_texture_caches.
Referenced by RE_FreeAllRenderResults(), RE_NewInteractiveCompositorRender(), and setup_app_data().
| void RE_FreeGPUTextureCaches | ( | void | ) |
Free cached GPU textures to reduce memory usage.
Definition at line 684 of file source/blender/render/intern/pipeline.cc.
References RE_FreeGPUTextureCaches(), re_gpu_texture_caches_free(), and RenderGlobal.
Referenced by RE_FreeGPUTextureCaches(), RE_FreePersistentData(), RE_RenderAnim(), and RE_RenderFrame().
| void RE_FreeInteractiveCompositorRenders | ( | void | ) |
On file load, free all interactive compositor renders.
Definition at line 635 of file source/blender/render/intern/pipeline.cc.
References RE_FreeInteractiveCompositorRenders(), RE_FreeRender(), and RenderGlobal.
Referenced by RE_FreeAllRender(), RE_FreeInteractiveCompositorRenders(), RE_NewInteractiveCompositorRender(), and setup_app_data().
| void RE_FreePersistentData | ( | const struct Scene * | scene | ) |
Free persistent render data, optionally only for the given scene.
References RE_AcquireResultImage(), RE_AcquireResultImageViews(), RE_AcquireResultRead(), RE_AcquireResultWrite(), RE_ClearResult(), RE_FreeGPUTextureCaches(), RE_FreePersistentData(), RE_FreeRenderResult(), RE_FreeUnusedGPUResources(), RE_GetStats(), RE_ReferenceRenderResult(), RE_ReleaseResult(), RE_ReleaseResultImage(), RE_ReleaseResultImageViews(), RE_ResultGet32(), and RE_SwapResult().
| void RE_FreeRender | ( | struct Render * | re | ) |
Use free render as signal to do everything over (previews).
Only call this while you know it will remove the link too.
Definition at line 609 of file source/blender/render/intern/pipeline.cc.
References RE_FreeRender(), and RenderGlobal.
Referenced by FRS_do_stroke_rendering(), RE_FreeAllRender(), RE_FreeInteractiveCompositorRenders(), RE_FreeRender(), RE_NewInteractiveCompositorRender(), and blender::ed::space_node::NestedTreePreviews::~NestedTreePreviews().
| void RE_FreeRenderResult | ( | struct RenderResult * | rr | ) |
Get results and statistics.
Definition at line 248 of file source/blender/render/intern/pipeline.cc.
References RE_FreeRenderResult(), and render_result_free().
Referenced by BKE_image_clear_renderslot(), BKE_image_free_buffers_ex(), BKE_image_release_renderresult(), BKE_image_remove_renderslot(), image_free_data(), image_load_sequence_multilayer(), RE_FreePersistentData(), RE_FreeRenderResult(), render_result_exr_file_cache_read(), render_result_single_layer_begin(), render_result_single_layer_end(), schedule_write_result(), blender::bke::cryptomatte::tests::TEST(), write_result(), and blender::compositor::FileOutput::~FileOutput().
| void RE_FreeUnusedGPUResources | ( | void | ) |
Free cached GPU textures, contexts and compositor to reduce memory usage, when nothing in the UI requires them anymore.
Definition at line 691 of file source/blender/render/intern/pipeline.cc.
References bScreen::areabase, BLI_assert, BLI_thread_is_main(), RenderData::compositor_device, G_MAIN, IMA_SRC_VIEWER, SpaceImage::image, LISTBASE_FOREACH, Render::name, Scene::nodetree, SpaceNode::nodetree, Scene::r, RE_blender_gpu_context_free(), RE_FreeUnusedGPUResources(), RE_GetSceneRender(), re_gpu_texture_caches_free(), RE_system_gpu_context_free(), RenderGlobal, SCE_COMPOSITOR_DEVICE_GPU, Image::source, SPACE_IMAGE, SPACE_NODE, SpaceLink::spacetype, Scene::use_nodes, wmWindowManager::windows, WM_JOB_TYPE_COMPOSITE, WM_JOB_TYPE_RENDER, WM_jobs_test(), WM_window_get_active_scene(), and WM_window_get_active_screen().
Referenced by RE_FreePersistentData(), RE_FreeUnusedGPUResources(), and wm_event_do_notifiers().
| void RE_FreeViewRender | ( | struct ViewRender * | view_render | ) |
Definition at line 616 of file source/blender/render/intern/pipeline.cc.
References RE_FreeViewRender().
Referenced by DRW_engine_external_free(), RE_FreeViewRender(), and RE_NewInteractiveCompositorRender().
| const char * RE_GetActiveRenderView | ( | struct Render * | re | ) |
Definition at line 1921 of file source/blender/render/intern/pipeline.cc.
References RE_GetActiveRenderView(), and Render::viewname.
Referenced by eevee_render(), image_rect_update(), RE_engine_active_view_get(), RE_GetActiveRenderView(), RE_SetCamera(), blender::draw::gpencil::render_init_buffers(), blender::draw::gpencil::Engine::render_to_image(), screen_opengl_render_doit(), and workbench_render_to_image().
Set up the view-plane/perspective matrix, three choices.
Definition at line 148 of file initrender.cc.
References BKE_camera_multiview_render(), Scene::camera, Render::camera_override, RE_GetCamera(), Render::scene, and Render::viewname.
Referenced by do_render_engine(), do_render_full_pipeline(), eevee_render(), FRS_do_stroke_rendering(), Freestyle::BlenderFileLoader::insertShapeNode(), RE_GetCamera(), RE_PreviewRender(), RE_render_result_rect_from_ibuf(), blender::draw::gpencil::Engine::render_to_image(), renderresult_stampinfo(), and workbench_render_to_image().
| void RE_GetCameraModelMatrix | ( | const struct Render * | re, |
| const struct Object * | camera, | ||
| float | r_modelmat[4][4] ) |
References RE_allow_render_generic_object(), RE_DuplicateRenderResult(), RE_GetCameraModelMatrix(), RE_GetScene(), RE_GetWindowMatrixWithOverscan(), RE_HasCombinedLayer(), RE_HasFloatPixels(), RE_is_rendering_allowed(), RE_RenderPassEnsureImBuf(), RE_RenderPassIsColor(), RE_RenderResult_is_stereo(), RE_RenderViewEnsureImBuf(), RE_RenderViewGetById(), RE_RenderViewGetByName(), RE_SetScene(), reports, and result.
References RE_GetCameraWindow().
| void RE_GetCameraWindowWithOverscan | ( | const struct Render * | re, |
| float | overscan, | ||
| float | r_winmat[4][4] ) |
Must be called after RE_GetCameraWindow(), does not change re->winmat.
References RE_GetCameraWindowWithOverscan().
| struct Render * RE_GetRender | ( | const char * | name | ) |
Definition at line 319 of file source/blender/render/intern/pipeline.cc.
References Render::name, RE_GetRender(), RE_MAXNAME, RenderGlobal, and STREQLEN.
Referenced by ed_preview_draw_rect(), RE_GetRender(), RE_GetSceneRender(), RE_NewRender(), and shader_preview_render().
| struct RenderLayer * RE_GetRenderLayer | ( | struct RenderResult * | rr, |
| const char * | name ) |
Definition at line 265 of file source/blender/render/intern/pipeline.cc.
References BLI_findstring(), RenderResult::layers, offsetof, and RE_GetRenderLayer().
Referenced by DRW_render_gpencil(), eyedropper_cryptomatte_sample_render_fl(), FRS_composite_result(), blender::ed::space_node::get_image_from_viewlayer_and_pass(), blender::render::Context::get_pass(), prepare(), RE_create_gp_pass(), RE_engine_pass_by_index_get(), RE_GetRenderLayer(), RE_render_result_rect_from_ibuf(), render_get_single_layer(), render_result_clone_passes(), render_result_merge(), and render_result_single_layer_end().
Definition at line 376 of file source/blender/render/intern/pipeline.cc.
References RE_GetScene(), and Render::scene.
Referenced by RE_GetCameraModelMatrix(), and RE_GetScene().
References RE_GetSceneRender(), and RE_NewViewRender().
| struct RenderStats * RE_GetStats | ( | struct Render * | re | ) |
Definition at line 517 of file source/blender/render/intern/pipeline.cc.
References Render::i, and RE_GetStats().
Referenced by RE_FreePersistentData(), RE_GetStats(), and stampdata().
Get current view and window transform.
Definition at line 219 of file initrender.cc.
References BLI_rcti_init(), Render::disprect, RenderData::mode, Render::r, R_BORDER, RE_GetViewPlane(), and Render::viewplane.
Referenced by DRW_render_gpencil(), DRW_render_to_image(), eevee_render(), RE_GetViewPlane(), and RE_SetCamera().
| void RE_GetWindowMatrixWithOverscan | ( | bool | is_ortho, |
| float | clip_start, | ||
| float | clip_end, | ||
| rctf | viewplane, | ||
| float | overscan, | ||
| float | r_winmat[4][4] ) |
Definition at line 196 of file initrender.cc.
References BKE_camera_params_compute_matrix(), BLI_rctf_size_x(), BLI_rctf_size_y(), CameraParams::clip_end, CameraParams::clip_start, copy_m4_m4(), CameraParams::is_ortho, max_ff(), RE_GetWindowMatrixWithOverscan(), CameraParams::viewplane, CameraParams::winmat, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by RE_GetCameraModelMatrix(), RE_GetCameraWindowWithOverscan(), RE_GetWindowMatrixWithOverscan(), and blender::eevee::Camera::sync().
| bool RE_HasCombinedLayer | ( | const RenderResult * | result | ) |
Definition at line 1249 of file render_result.cc.
References RenderView::ibuf, RE_HasCombinedLayer(), and result.
Referenced by BKE_image_multilayer_index(), RE_GetCameraModelMatrix(), RE_HasCombinedLayer(), render_image_restore_layer(), ui_imageuser_layer_menu_step(), and ui_imageuser_pass_menu_step().
| bool RE_HasFloatPixels | ( | const RenderResult * | result | ) |
Definition at line 1263 of file render_result.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, LISTBASE_FOREACH, RE_HasFloatPixels(), and result.
Referenced by BKE_image_render_write(), image_save_single(), RE_GetCameraModelMatrix(), and RE_HasFloatPixels().
| bool RE_HasSingleLayer | ( | struct Render * | re | ) |
Definition at line 275 of file source/blender/render/intern/pipeline.cc.
References Render::r, R_SINGLE_LAYER, RE_HasSingleLayer(), and RenderData::scemode.
Referenced by RE_HasSingleLayer(), RE_render_result_rect_from_ibuf(), and render_image_restore_layer().
| void RE_init_threadcount | ( | Render * | re | ) |
Set the render threads based on the command-line and auto-threads setting.
Definition at line 2988 of file source/blender/render/intern/pipeline.cc.
References BKE_render_num_threads(), Render::r, RE_init_threadcount(), and RenderData::threads.
Referenced by RE_init_threadcount(), RE_InitState(), and RE_SetCamera().
| void RE_InitRenderCB | ( | struct Render * | re | ) |
Called for new renders and when finishing rendering so we always have valid callbacks on a render.
Definition at line 588 of file source/blender/render/intern/pipeline.cc.
References current_scene_nothing(), Render::current_scene_update_cb, Render::dch, default_break(), Render::dih, Render::display_clear_cb, Render::display_init_cb, Render::display_update_cb, Render::dlh, Render::draw_lock_cb, Render::duh, float_nothing(), G, Render::prepare_viewlayer_cb, prepare_viewlayer_nothing(), Render::prh, Render::progress_cb, RE_InitRenderCB(), result_nothing(), result_rcti_nothing(), Render::sdh, stats_background(), Render::stats_draw_cb, stats_nothing(), Render::tbh, and Render::test_break_cb.
Referenced by RE_InitRenderCB(), RE_NewInteractiveCompositorRender(), RE_NewInteractiveCompositorRender(), RE_NewRender(), and render_endjob().
| void RE_InitState | ( | struct Render * | re, |
| struct Render * | source, | ||
| struct RenderData * | rd, | ||
| struct ListBase * | render_layers, | ||
| struct ViewLayer * | single_layer, | ||
| int | winx, | ||
| int | winy, | ||
| const rcti * | disprect ) |
Obligatory initialize call, doesn't change during entire render sequence.
| disprect | is optional. if NULL it assumes full window render. |
Definition at line 839 of file source/blender/render/intern/pipeline.cc.
References BKE_imtype_is_movie(), BKE_report(), BKE_scene_ppm_get(), BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), BLI_time_now_seconds(), RenderData::border, ListBase::first, Render::i, RenderData::im_format, ImageFormatData::imtype, RenderResult::layers, LISTBASE_FOREACH, MEM_callocN(), RenderData::mode, ViewLayer::name, Render::ok, RenderResult::ppm, Render::r, R_BORDER, R_BUTS_PREVIEW, R_CROP, R_EDGE_FRS, R_SINGLE_LAYER, re_init_resolution(), RE_init_threadcount(), RE_InitState(), RE_point_density_fix_linking(), Render::rectx, RenderResult::rectx, Render::recty, RenderResult::recty, render_copy_renderdata(), render_result_free(), render_result_view_new(), Render::reports, BaseRender::result, BaseRender::resultmutex, RPT_ERROR, RenderData::scemode, Render::single_view_layer, RenderData::size, RenderStats::starttime, STREQ, STRNCPY(), THREAD_LOCK_WRITE, rctf::xmax, rctf::xmin, RenderData::xsch, rctf::ymax, rctf::ymin, and RenderData::ysch.
Referenced by do_render_compositor_scene(), RE_InitState(), RE_PreviewRender(), RE_ReadRenderResult(), RE_render_result_rect_from_ibuf(), render_init_from_main(), screen_opengl_render_init(), and shader_preview_texture().
| bool RE_is_rendering_allowed | ( | struct Scene * | scene, |
| struct ViewLayer * | single_layer, | ||
| struct Object * | camera_override, | ||
| struct ReportList * | reports ) |
Definition at line 1841 of file source/blender/render/intern/pipeline.cc.
References BKE_report(), RenderData::border, check_compositor_output(), check_valid_camera(), is_compositing_possible_on_gpu(), RenderData::mode, Scene::nodetree, Scene::r, R_BORDER, R_DOCOMP, RE_is_rendering_allowed(), RE_seq_render_active(), render_scene_has_layers_to_render(), reports, RPT_ERROR, RenderData::scemode, Scene::use_nodes, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by RE_GetCameraModelMatrix(), RE_is_rendering_allowed(), and screen_render_invoke().
| bool RE_layers_have_name | ( | struct RenderResult * | result | ) |
Used in the interface to decide whether to show layers or passes.
Definition at line 2870 of file source/blender/render/intern/pipeline.cc.
References BLI_listbase_count_at_most(), RE_layers_have_name(), and result.
Referenced by RE_layers_have_name(), RE_SetCamera(), and uiblock_layer_pass_buttons().
| struct RenderResult * RE_MultilayerConvert | ( | void * | exrhandle, |
| const char * | colorspace, | ||
| bool | predivide, | ||
| int | rectx, | ||
| int | recty ) |
Definition at line 280 of file source/blender/render/intern/pipeline.cc.
References RE_MultilayerConvert(), and render_result_new_from_exr().
Referenced by RE_MultilayerConvert(), and RE_SetCamera().
| struct Render * RE_NewRender | ( | const char * | name | ) |
The name is used as identifier, so elsewhere in blender the result can retrieved. Calling a new render with same name, frees automatic existing render.
Definition at line 522 of file source/blender/render/intern/pipeline.cc.
References Render::name, RE_GetRender(), RE_InitRenderCB(), RE_NewRender(), RenderGlobal, and STRNCPY().
Referenced by blender::ed::space_node::preview_render(), RE_NewRender(), RE_NewSceneRender(), and shader_preview_render().
References RE_NewSceneRender().
| struct ViewRender * RE_NewViewRender | ( | struct RenderEngineType * | engine_type | ) |
Definition at line 541 of file source/blender/render/intern/pipeline.cc.
References BaseRender::engine, RE_engine_create(), and RE_NewViewRender().
Referenced by RE_GetSceneRender(), and RE_NewViewRender().
| struct GPUTexture * RE_pass_ensure_gpu_texture_cache | ( | struct Render * | re, |
| struct RenderPass * | rpass ) |
Ensure a GPU texture corresponding to the render buffer data exists.
Definition at line 465 of file render_result.cc.
References RenderPass::channels, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::gpu, GPU_DATA_FLOAT, GPU_R32F, GPU_RGB32F, GPU_RGBA32F, GPU_texture_create_2d(), GPU_texture_update(), GPU_TEXTURE_USAGE_GENERAL, RenderPass::ibuf, RE_pass_ensure_gpu_texture_cache(), RenderPass::rectx, RenderPass::recty, Render::result_has_gpu_texture_caches, and ImBufGPU::texture.
Referenced by blender::render::Context::get_pass(), RE_pass_ensure_gpu_texture_cache(), and RE_SetCamera().
| struct RenderPass * RE_pass_find_by_name | ( | struct RenderLayer * | rl, |
| const char * | name, | ||
| const char * | viewname ) |
Definition at line 2893 of file source/blender/render/intern/pipeline.cc.
References LISTBASE_FOREACH_BACKWARD, RenderLayer::passes, RE_pass_find_by_name(), and STREQ.
Referenced by blender::ed::space_node::get_image_from_viewlayer_and_pass(), blender::render::Context::get_pass(), RE_create_gp_pass(), RE_pass_find_by_name(), RE_RenderLayerGetPassImBuf(), RE_SetCamera(), blender::draw::gpencil::render_init_buffers(), blender::draw::gpencil::render_result_combined(), render_result_to_bake(), blender::draw::gpencil::render_result_z(), write_render_color_output(), and write_render_z_output().
| struct RenderPass * RE_pass_find_by_type | ( | struct RenderLayer * | rl, |
| int | passtype, | ||
| const char * | viewname ) |
Only provided for API compatibility, don't use this in new code!
Definition at line 2908 of file source/blender/render/intern/pipeline.cc.
References CHECK_PASS, RE_pass_find_by_type(), VECTOR, and Z.
Referenced by RE_pass_find_by_type(), and RE_SetCamera().
| void RE_pass_set_buffer_data | ( | struct RenderPass * | pass, |
| float * | data ) |
Set the buffer data of the render pass. The pass takes ownership of the data, and creates an implicit sharing handle to allow its sharing with other users.
Definition at line 458 of file render_result.cc.
References data, IB_TAKE_OWNERSHIP, IMB_assign_float_buffer(), RE_pass_set_buffer_data(), and RE_RenderPassEnsureImBuf().
Referenced by ml_addpass_cb(), RE_pass_set_buffer_data(), and RE_SetCamera().
| bool RE_passes_have_name | ( | struct RenderLayer * | rl | ) |
Definition at line 2882 of file source/blender/render/intern/pipeline.cc.
References LISTBASE_FOREACH, RenderLayer::passes, RE_passes_have_name(), and STREQ.
Referenced by RE_passes_have_name(), RE_SetCamera(), and uiblock_layer_pass_buttons().
| void RE_prepare_viewlayer_cb | ( | struct Render * | re, |
| void * | handle, | ||
| bool(* | f )(void *handle, ViewLayer *vl, struct Depsgraph *depsgraph) ) |
Definition at line 991 of file source/blender/render/intern/pipeline.cc.
References Render::prepare_viewlayer_cb, Render::prepare_vl_handle, and RE_prepare_viewlayer_cb().
Referenced by blender::ed::space_node::preview_render(), RE_prepare_viewlayer_cb(), and RE_SetCamera().
Main preview render call.
Definition at line 2705 of file source/blender/render/intern/pipeline.cc.
References BKE_render_resolution(), BaseRender::engine, GPU_backend_get_type(), GPU_BACKEND_NONE, GPU_render_begin(), GPU_render_end(), Render::main, Scene::r, RE_engine_free(), RE_engine_render(), RE_GetCamera(), RE_InitState(), RE_PreviewRender(), RE_SetCamera(), Render::scene, and Scene::view_layers.
Referenced by blender::ed::space_node::preview_render(), RE_PreviewRender(), RE_SetCamera(), and shader_preview_render().
| void RE_progress_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, float) ) |
Definition at line 973 of file source/blender/render/intern/pipeline.cc.
References Render::prh, Render::progress_cb, and RE_progress_cb().
Referenced by blender::ed::object::bake_invoke(), RE_progress_cb(), RE_SetCamera(), and screen_render_invoke().
Only the temp file!
Definition at line 2742 of file source/blender/render/intern/pipeline.cc.
References BKE_render_resolution(), BLI_rw_mutex_lock(), BLI_rw_mutex_unlock(), RenderData::border, RenderData::mode, Scene::r, R_BORDER, RE_GetSceneRender(), RE_InitState(), RE_NewSceneRender(), RE_ReadRenderResult(), render_result_exr_file_cache_read(), render_result_uncrop(), BaseRender::resultmutex, Render::scene, THREAD_LOCK_WRITE, Scene::view_layers, rctf::xmax, rcti::xmax, rctf::xmin, rcti::xmin, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.
Referenced by image_read_viewlayers_exec(), blender::ed::space_node::node_read_viewlayers_exec(), RE_ReadRenderResult(), and RE_SetCamera().
| void RE_ReferenceRenderResult | ( | struct RenderResult * | rr | ) |
Definition at line 241 of file source/blender/render/intern/pipeline.cc.
References RE_ReferenceRenderResult(), and RenderResult::user_counter.
Referenced by BKE_image_acquire_renderresult(), RE_FreePersistentData(), and RE_ReferenceRenderResult().
| void RE_ReleaseResult | ( | struct Render * | re | ) |
Definition at line 369 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_unlock(), RE_ReleaseResult(), and BaseRender::resultmutex.
Referenced by BKE_image_release_renderresult(), eyedropper_cryptomatte_sample_render_fl(), blender::render::Context::get_pass(), blender::render::Context::get_render_size(), image_renderinfo_cb(), blender::ed::space_node::node_release_preview_ibuf(), blender::render::Context::output_to_render_result(), blender::render::Context::populate_meta_data_for_pass(), RE_engine_pass_by_index_get(), RE_engine_set_error_message(), RE_FreePersistentData(), re_gpu_texture_caches_free(), RE_ReleaseResult(), render_image_restore_layer(), render_image_update_pass_and_layer(), screen_opengl_render_anim_step(), screen_opengl_render_apply(), screen_opengl_views_setup(), screen_render_exec(), and shader_preview_texture().
| void RE_ReleaseResultImage | ( | struct Render * | re | ) |
Definition at line 488 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_unlock(), RE_ReleaseResultImage(), and BaseRender::resultmutex.
Referenced by BKE_image_release_ibuf(), image_get_render_result(), RE_FreePersistentData(), RE_ReleaseResultImage(), renderresult_stampinfo(), screen_opengl_render_write(), and blender::seq::seq_render_scene_strip().
| void RE_ReleaseResultImageViews | ( | struct Render * | re, |
| struct RenderResult * | rr ) |
Clear temporary RenderResult struct.
Definition at line 432 of file source/blender/render/intern/pipeline.cc.
References BLI_rw_mutex_unlock(), RE_ReleaseResultImageViews(), render_result_views_shallowdelete(), and BaseRender::resultmutex.
Referenced by do_write_image_or_movie(), ed_preview_draw_rect(), RE_FreePersistentData(), RE_ReleaseResultImageViews(), and RE_ResultGet32().
| void RE_render_result_full_channel_name | ( | char * | fullname, |
| const char * | layname, | ||
| const char * | passname, | ||
| const char * | viewname, | ||
| const char * | chan_id, | ||
| int | channel ) |
Definition at line 505 of file render_result.cc.
References ARRAY_SET_ITEMS, BLI_string_join_array_by_sep_char(), EXR_PASS_MAXNAME, and RE_render_result_full_channel_name().
Referenced by add_exr_compositing_result(), BKE_image_render_write_exr(), ml_addpass_cb(), RE_render_result_full_channel_name(), RE_ResultGetFloat(), render_layer_add_pass(), and render_result_exr_file_read_path().
| void RE_render_result_rect_from_ibuf | ( | struct RenderResult * | rr, |
| const struct ImBuf * | ibuf, | ||
| int | view_id ) |
| struct ImBuf * RE_render_result_rect_to_ibuf | ( | struct RenderResult * | rr, |
| const struct ImageFormatData * | imf, | ||
| const float | dither, | ||
| int | view_id ) |
References RE_render_result_rect_to_ibuf().
| void RE_RenderAnim | ( | struct Render * | re, |
| struct Main * | bmain, | ||
| struct Scene * | scene, | ||
| struct ViewLayer * | single_layer, | ||
| struct Object * | camera_override, | ||
| int | sfra, | ||
| int | efra, | ||
| int | tfra ) |
A version of RE_RenderFrame that saves images to disk.
Definition at line 2421 of file source/blender/render/intern/pipeline.cc.
References ADT_RECALC_ALL, Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_animdata_from_id(), BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), BKE_build_template_variables_for_render_path(), BKE_CB_EVT_RENDER_CANCEL, BKE_CB_EVT_RENDER_COMPLETE, BKE_CB_EVT_RENDER_INIT, BKE_CB_EVT_RENDER_POST, BKE_CB_EVT_RENDER_PRE, BKE_CB_EVT_RENDER_WRITE, BKE_image_path_from_imformat(), BKE_imtype_is_movie(), BKE_main_blendfile_path(), BKE_report(), BKE_report_path_template_errors(), BKE_scene_ctime_get(), BKE_scene_multiview_filepath_get(), BKE_scene_multiview_is_render_view_active(), BKE_scene_multiview_num_videos_get(), BKE_scene_multiview_view_id_suffix_get(), BKE_sound_reset_scene_specs(), BLI_delete(), BLI_exists(), BLI_file_ensure_parent_dir_exists(), BLI_file_size(), BLI_file_touch(), RenderData::cfra, DEG_graph_id_tag_update(), do_render_full_pipeline(), do_write_image_or_movie(), RenderData::engine, FILE_MAX, Render::flag, RenderEngineType::flag, G, get_videos_dimensions(), i, Scene::id, ID_RECALC_AUDIO_MUTE, RenderData::im_format, ImageFormatData::imtype, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), LISTBASE_FOREACH, Render::main, RenderData::mode, MOV_write_begin(), Render::movie_writers, RenderData::pic, Render::pipeline_depsgraph, Render::pipeline_scene_eval, printf, Render::r, Scene::r, R_ANIMATION, R_EXTENSION, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, R_NO_OVERWRITE, R_SKIP_WRITE, R_TOUCH, RE_engines_find(), RE_FreeGPUTextureCaches(), re_movie_free_all(), RE_RenderAnim(), RE_USE_NO_IMAGE_SAVE, RE_USE_POSTPROCESS, render_callback_exec_id(), render_init_depsgraph(), render_init_from_main(), render_pipeline_free(), render_update_depsgraph(), Render::reports, Vector< T, InlineBufferCapacity, Allocator >::reserve(), RPT_ERROR, RPT_INFO, RenderData::scemode, Render::scene, RenderData::subframe, Render::tbh, Render::test_break_cb, RenderData::views, and ImageFormatData::views_format.
Referenced by arg_handle_render_animation(), arg_handle_render_frame(), RE_RenderAnim(), RE_SetCamera(), render_startjob(), and screen_render_exec().
| void RE_RenderFrame | ( | struct Render * | re, |
| struct Main * | bmain, | ||
| struct Scene * | scene, | ||
| struct ViewLayer * | single_layer, | ||
| struct Object * | camera_override, | ||
| int | frame, | ||
| float | subframe, | ||
| bool | write_still ) |
General Blender frame render call.
| write_still | Saves frames to disk (typically disabled). Useful for batch-operations (e.g. rendering from Python) when an additional save action for is inconvenient. This is the default behavior for RE_RenderAnim. |
Definition at line 2057 of file source/blender/render/intern/pipeline.cc.
References BKE_build_template_variables_for_render_path(), BKE_CB_EVT_RENDER_CANCEL, BKE_CB_EVT_RENDER_COMPLETE, BKE_CB_EVT_RENDER_INIT, BKE_CB_EVT_RENDER_POST, BKE_CB_EVT_RENDER_PRE, BKE_CB_EVT_RENDER_WRITE, BKE_image_path_from_imformat(), BKE_imtype_is_movie(), BKE_main_blendfile_path(), BKE_report_path_template_errors(), RenderData::cfra, do_render_full_pipeline(), do_write_image_or_movie(), FILE_MAX, Render::flag, G, Scene::id, RenderData::im_format, ImageFormatData::imtype, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), Render::main, MEM_reset_peak_memory, RenderData::pic, printf, Scene::r, R_EXTENSION, R_SKIP_WRITE, RE_FreeGPUTextureCaches(), RE_RenderFrame(), render_callback_exec_id(), render_init_depsgraph(), render_init_from_main(), render_pipeline_free(), Render::reports, RPT_ERROR, RenderData::scemode, and RenderData::subframe.
Referenced by RE_RenderFrame(), RE_SetCamera(), render_startjob(), screen_render_exec(), and blender::seq::seq_render_scene_strip().
| float * RE_RenderLayerGetPass | ( | struct RenderLayer * | rl, |
| const char * | name, | ||
| const char * | viewname ) |
Definition at line 259 of file source/blender/render/intern/pipeline.cc.
References ImBufFloatBuffer::data, ImBuf::float_buffer, RE_RenderLayerGetPass(), and RE_RenderLayerGetPassImBuf().
Referenced by FRS_composite_result(), image_buffer_rect_update(), RE_render_result_rect_from_ibuf(), RE_RenderLayerGetPass(), and blender::draw::gpencil::Engine::render_to_image().
| struct ImBuf * RE_RenderLayerGetPassImBuf | ( | struct RenderLayer * | rl, |
| const char * | name, | ||
| const char * | viewname ) |
Definition at line 253 of file source/blender/render/intern/pipeline.cc.
References RenderPass::ibuf, RE_pass_find_by_name(), and RE_RenderLayerGetPassImBuf().
Referenced by RE_AcquireResultImage(), RE_AcquireResultImageViews(), RE_render_result_rect_from_ibuf(), RE_RenderLayerGetPass(), and RE_RenderLayerGetPassImBuf().
| struct ImBuf * RE_RenderPassEnsureImBuf | ( | RenderPass * | render_pass | ) |
Definition at line 1362 of file render_result.cc.
References assign_render_pass_ibuf_colorspace(), ImBuf::channels, RenderPass::channels, get_num_planes_for_pass_ibuf(), RenderPass::ibuf, IMB_allocImBuf(), RE_RenderPassEnsureImBuf(), RenderPass::rectx, and RenderPass::recty.
Referenced by RE_GetCameraModelMatrix(), RE_pass_set_buffer_data(), and RE_RenderPassEnsureImBuf().
| bool RE_RenderPassIsColor | ( | const RenderPass * | render_pass | ) |
Definition at line 1383 of file render_result.cc.
References RenderPass::chan_id, RE_RenderPassIsColor(), and STR_ELEM.
Referenced by assign_render_pass_ibuf_colorspace(), BKE_image_render_write_exr(), RE_GetCameraModelMatrix(), RE_RenderPassIsColor(), and render_result_new_from_exr().
| bool RE_RenderResult_is_stereo | ( | const RenderResult * | result | ) |
Definition at line 1278 of file render_result.cc.
References BLI_findstring(), offsetof, RE_RenderResult_is_stereo(), result, STEREO_LEFT_NAME, and STEREO_RIGHT_NAME.
Referenced by BKE_image_multilayer_index(), RE_GetCameraModelMatrix(), RE_RenderResult_is_stereo(), and uiblock_layer_pass_buttons().
| struct ImBuf * RE_RenderViewEnsureImBuf | ( | const RenderResult * | render_result, |
| RenderView * | render_view ) |
Definition at line 1374 of file render_result.cc.
References RenderView::ibuf, IMB_allocImBuf(), RE_RenderViewEnsureImBuf(), RenderResult::rectx, and RenderResult::recty.
Referenced by blender::render::Context::output_to_render_result(), RE_GetCameraModelMatrix(), RE_render_result_rect_from_ibuf(), RE_RenderViewEnsureImBuf(), render_result_rect_fill_zero(), and shader_preview_texture().
| struct RenderView * RE_RenderViewGetById | ( | struct RenderResult * | rr, |
| int | view_id ) |
Definition at line 1291 of file render_result.cc.
References BLI_assert, BLI_findlink(), ListBase::first, RE_RenderViewGetById(), and RenderResult::views.
Referenced by do_render_sequencer(), ed_preview_draw_rect(), image_buffer_rect_update(), RE_AcquireResultImage(), RE_GetCameraModelMatrix(), RE_render_result_rect_from_ibuf(), RE_render_result_rect_to_ibuf(), RE_RenderViewGetById(), render_result_rect_fill_zero(), render_result_rect_get_pixels(), and ui_imageuser_layer_fake_name().
| struct RenderView * RE_RenderViewGetByName | ( | struct RenderResult * | rr, |
| const char * | viewname ) |
Definition at line 1298 of file render_result.cc.
References BLI_assert, BLI_findstring(), ListBase::first, offsetof, RE_RenderViewGetByName(), and RenderResult::views.
Referenced by blender::render::Context::output_to_render_result(), RE_GetCameraModelMatrix(), and RE_RenderViewGetByName().
Caller is responsible for allocating rect in correct size!
Definition at line 495 of file source/blender/render/intern/pipeline.cc.
References BKE_scene_multiview_view_id_get(), Scene::display_settings, Render::r, RE_AcquireResultImageViews(), RE_ReleaseResultImageViews(), RE_ResultGet32(), Render::rectx, Render::recty, render_result_rect_get_pixels(), Render::scene, Scene::view_settings, and Render::viewname.
Referenced by RE_FreePersistentData(), RE_ResultGet32(), and shader_preview_render().
| void RE_ResultGetFloat | ( | struct Render * | re, |
| float * | rect ) |
References RE_render_result_full_channel_name(), RE_ResultGetFloat(), and RE_ResultIsMultiView().
Referenced by RE_ResultGetFloat().
| bool RE_ResultIsMultiView | ( | struct RenderResult * | rr | ) |
Definition at line 511 of file source/blender/render/intern/pipeline.cc.
References ListBase::first, RenderView::name, RenderView::next, RE_ResultIsMultiView(), and RenderResult::views.
Referenced by BKE_image_render_write(), image_save_single(), RE_ResultGetFloat(), RE_ResultIsMultiView(), and RE_WriteRenderViewsMovie().
| bool RE_seq_render_active | ( | struct Scene * | scene, |
| struct RenderData * | rd ) |
Definition at line 1462 of file source/blender/render/intern/pipeline.cc.
References Editing::channels, Scene::ed, ListBase::first, LISTBASE_FOREACH, R_DOSEQ, RE_seq_render_active(), blender::seq::render_is_muted(), RenderData::scemode, Editing::seqbase, and STRIP_TYPE_SOUND_RAM.
Referenced by check_valid_camera(), do_render_full_pipeline(), RE_is_rendering_allowed(), RE_seq_render_active(), RE_SetCamera(), and screen_render_invoke().
| void RE_SetActiveRenderView | ( | struct Render * | re, |
| const char * | viewname ) |
Definition at line 1916 of file source/blender/render/intern/pipeline.cc.
References RE_SetActiveRenderView(), STRNCPY(), and Render::viewname.
Referenced by do_render_sequencer(), DRW_render_gpencil(), DRW_render_to_image(), RE_engine_active_view_set(), RE_SetActiveRenderView(), RE_SetCamera(), renderresult_stampinfo(), and screen_opengl_render_apply().
Per render, there's one persistent view-plane. Parts will set their own view-planes.
References data, lock, RE_blender_gpu_context_ensure(), RE_blender_gpu_context_free(), RE_current_scene_update_cb(), RE_display_clear_cb(), RE_display_init_cb(), RE_display_update_cb(), RE_draw_lock_cb(), RE_filter_value(), RE_GetActiveRenderView(), RE_GetViewPlane(), RE_init_threadcount(), RE_layers_have_name(), RE_MultilayerConvert(), RE_pass_ensure_gpu_texture_cache(), RE_pass_find_by_name(), RE_pass_find_by_type(), RE_pass_set_buffer_data(), RE_passes_have_name(), RE_prepare_viewlayer_cb(), RE_PreviewRender(), RE_progress_cb(), RE_ReadRenderResult(), RE_RenderAnim(), RE_RenderFrame(), RE_seq_render_active(), RE_SetActiveRenderView(), RE_SetCamera(), RE_SetReports(), RE_stats_draw_cb(), RE_system_gpu_context_ensure(), RE_system_gpu_context_free(), RE_system_gpu_context_get(), RE_test_break_cb(), RE_WriteRenderViewsMovie(), reports, result, and x.
Definition at line 154 of file initrender.cc.
References Render::camera_override, and RE_SetOverrideCamera().
Referenced by RE_render_result_rect_from_ibuf(), RE_SetOverrideCamera(), and screen_opengl_views_setup().
| void RE_SetReports | ( | struct Render * | re, |
| struct ReportList * | reports ) |
Error reporting.
Definition at line 2005 of file source/blender/render/intern/pipeline.cc.
References RE_SetReports(), Render::reports, and reports.
Referenced by arg_handle_render_animation(), arg_handle_render_frame(), blender::ed::object::bake_exec(), blender::ed::object::bake_startjob(), RE_SetCamera(), RE_SetReports(), render_startjob(), and screen_render_exec().
Definition at line 384 of file source/blender/render/intern/pipeline.cc.
References RE_SetScene(), and Render::scene.
Referenced by RE_GetCameraModelMatrix(), RE_SetScene(), and shader_preview_texture().
| void RE_stats_draw_cb | ( | struct Render * | re, |
| void * | handle, | ||
| void(* | f )(void *handle, RenderStats *rs) ) |
Definition at line 968 of file source/blender/render/intern/pipeline.cc.
References RE_stats_draw_cb(), Render::sdh, and Render::stats_draw_cb.
Referenced by RE_SetCamera(), RE_stats_draw_cb(), and screen_render_invoke().
| void RE_SwapResult | ( | struct Render * | re, |
| struct RenderResult ** | rr ) |
Definition at line 361 of file source/blender/render/intern/pipeline.cc.
References RE_SwapResult(), and BaseRender::result.
Referenced by BKE_image_backup_render(), BKE_image_remove_renderslot(), RE_FreePersistentData(), and RE_SwapResult().
| void RE_system_gpu_context_ensure | ( | Render * | re | ) |
Definition at line 1005 of file source/blender/render/intern/pipeline.cc.
References BLI_assert, BLI_thread_is_main(), RE_system_gpu_context_ensure(), Render::system_gpu_context, WM_system_gpu_context_create(), WM_system_gpu_context_release(), and wm_window_reset_drawable().
Referenced by blender::ed::space_node::compo_initjob(), RE_SetCamera(), RE_system_gpu_context_ensure(), and screen_render_invoke().
| void RE_system_gpu_context_free | ( | Render * | re | ) |
Definition at line 1021 of file source/blender/render/intern/pipeline.cc.
References Render::blender_gpu_context, BLI_thread_is_main(), GPU_context_active_set(), GPU_context_discard(), RE_system_gpu_context_free(), Render::system_gpu_context, WM_system_gpu_context_activate(), WM_system_gpu_context_dispose(), and wm_window_reset_drawable().
Referenced by RE_FreeUnusedGPUResources(), RE_SetCamera(), RE_system_gpu_context_free(), render_pipeline_free(), and Render::~Render().
| void * RE_system_gpu_context_get | ( | Render * | re | ) |
Definition at line 1041 of file source/blender/render/intern/pipeline.cc.
References RE_system_gpu_context_get(), and Render::system_gpu_context.
Referenced by DRW_render_context_disable(), DRW_render_context_enable(), blender::render::Compositor::execute(), RE_engine_gpu_context_create(), RE_SetCamera(), and RE_system_gpu_context_get().
| void RE_test_break_cb | ( | struct Render * | re, |
| void * | handle, | ||
| bool(* | f )(void *handle) ) |
Definition at line 985 of file source/blender/render/intern/pipeline.cc.
References RE_test_break_cb(), Render::tbh, and Render::test_break_cb.
Referenced by blender::ed::object::bake_exec(), blender::ed::object::bake_invoke(), blender::ed::space_node::preview_render(), RE_SetCamera(), RE_test_break_cb(), screen_render_exec(), screen_render_invoke(), and shader_preview_render().
| bool RE_WriteRenderViewsMovie | ( | struct ReportList * | reports, |
| struct RenderResult * | rr, | ||
| struct Scene * | scene, | ||
| struct RenderData * | rd, | ||
| struct MovieWriter ** | movie_writers, | ||
| int | totvideos, | ||
| bool | preview ) |
Definition at line 2211 of file source/blender/render/intern/pipeline.cc.
References BKE_image_format_free(), BKE_image_format_init_for_write(), BKE_report(), BKE_scene_multiview_view_id_suffix_get(), BLI_assert, BLI_findstringindex(), RenderData::cfra, RenderData::dither_intensity, G, i, RenderData::im_format, IMB_colormanagement_imbuf_for_write(), IMB_freeImBuf(), IMB_stereo3d_ImBuf(), MOV_write_append(), offsetof, printf, RenderData::psfra, Scene::r, R_IMF_VIEWS_INDIVIDUAL, R_IMF_VIEWS_STEREO_3D, RE_render_result_rect_to_ibuf(), RE_ResultIsMultiView(), RE_WriteRenderViewsMovie(), reports, RPT_ERROR, RenderData::sfra, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, RenderResult::views, and ImageFormatData::views_format.
Referenced by do_write_image_or_movie(), RE_SetCamera(), RE_WriteRenderViewsMovie(), and write_result().