Blender  V2.93
Macros | Functions | Variables
pipeline.c File Reference
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "DNA_anim_types.h"
#include "DNA_collection_types.h"
#include "DNA_image_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_space_types.h"
#include "DNA_userdef_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_path_util.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_threads.h"
#include "BLI_timecode.h"
#include "BLT_translation.h"
#include "BKE_anim_data.h"
#include "BKE_animsys.h"
#include "BKE_callbacks.h"
#include "BKE_camera.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_lib_remap.h"
#include "BKE_mask.h"
#include "BKE_modifier.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_pointcache.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_sound.h"
#include "BKE_writeavi.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_debug.h"
#include "DEG_depsgraph_query.h"
#include "IMB_colormanagement.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_metadata.h"
#include "PIL_time.h"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "RE_texture.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "../../windowmanager/WM_api.h"
#include "../../windowmanager/wm_window.h"
#include "GPU_context.h"
#include "initrender.h"
#include "pipeline.h"
#include "render_result.h"
#include "render_types.h"

Go to the source code of this file.

Macros

#define MAX_SCENE_RENDER_NAME   (MAX_ID_NAME + 1024 + 2)
 
#define CHECK_PASS(NAME)
 

Functions

static void render_callback_exec_null (Render *re, Main *bmain, eCbEvent evt)
 
static void render_callback_exec_id (Render *re, Main *bmain, ID *id, eCbEvent evt)
 
static int do_write_image_or_movie (Render *re, Main *bmain, Scene *scene, bMovieHandle *mh, const int totvideos, const char *name_override)
 
static void result_nothing (void *UNUSED(arg), RenderResult *UNUSED(rr))
 
static void result_rcti_nothing (void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect))
 
static void current_scene_nothing (void *UNUSED(arg), Scene *UNUSED(scene))
 
static void stats_nothing (void *UNUSED(arg), RenderStats *UNUSED(rs))
 
static void float_nothing (void *UNUSED(arg), float UNUSED(val))
 
static int default_break (void *UNUSED(arg))
 
static void stats_background (void *UNUSED(arg), RenderStats *rs)
 
static void render_print_save_message (ReportList *reports, const char *name, int ok, int err)
 
static int render_imbuf_write_stamp_test (ReportList *reports, Scene *scene, struct RenderResult *rr, ImBuf *ibuf, const char *name, const ImageFormatData *imf, bool stamp)
 
void RE_FreeRenderResult (RenderResult *rr)
 
floatRE_RenderLayerGetPass (volatile RenderLayer *rl, const char *name, const char *viewname)
 
RenderLayerRE_GetRenderLayer (RenderResult *rr, const char *name)
 
bool RE_HasSingleLayer (Render *re)
 
RenderResultRE_MultilayerConvert (void *exrhandle, const char *colorspace, bool predivide, int rectx, int recty)
 
RenderLayerrender_get_active_layer (Render *re, RenderResult *rr)
 
static bool render_scene_has_layers_to_render (Scene *scene, ViewLayer *single_layer)
 
RenderRE_GetRender (const char *name)
 
RenderResultRE_AcquireResultRead (Render *re)
 
RenderResultRE_AcquireResultWrite (Render *re)
 
void RE_ClearResult (Render *re)
 
void RE_SwapResult (Render *re, RenderResult **rr)
 
void RE_ReleaseResult (Render *re)
 
SceneRE_GetScene (Render *re)
 
void RE_SetScene (Render *re, Scene *sce)
 
void RE_AcquireResultImageViews (Render *re, RenderResult *rr)
 
void RE_ReleaseResultImageViews (Render *re, RenderResult *rr)
 
void RE_AcquireResultImage (Render *re, RenderResult *rr, const int view_id)
 
void RE_ReleaseResultImage (Render *re)
 
void RE_ResultGet32 (Render *re, unsigned int *rect)
 
void RE_AcquiredResultGet32 (Render *re, RenderResult *result, unsigned int *rect, const int view_id)
 
RenderStatsRE_GetStats (Render *re)
 
RenderRE_NewRender (const char *name)
 
static void scene_render_name_get (const Scene *scene, const size_t max_size, char *render_name)
 
RenderRE_GetSceneRender (const Scene *scene)
 
RenderRE_NewSceneRender (const Scene *scene)
 
void RE_InitRenderCB (Render *re)
 
void RE_FreeRender (Render *re)
 
void RE_FreeAllRender (void)
 
void RE_FreeAllRenderResults (void)
 
void RE_FreeAllPersistentData (void)
 
static void re_free_persistent_data (Render *re)
 
void RE_FreePersistentData (const Scene *scene)
 
static int check_mode_full_sample (RenderData *rd)
 
static void re_init_resolution (Render *re, Render *source, int winx, int winy, rcti *disprect)
 
void render_copy_renderdata (RenderData *to, RenderData *from)
 
void RE_InitState (Render *re, Render *source, RenderData *rd, ListBase *render_layers, ViewLayer *single_layer, int winx, int winy, rcti *disprect)
 
void render_update_anim_renderdata (Render *re, RenderData *rd, ListBase *render_layers)
 
void RE_display_init_cb (Render *re, void *handle, void(*f)(void *handle, RenderResult *rr))
 
void RE_display_clear_cb (Render *re, void *handle, void(*f)(void *handle, RenderResult *rr))
 
void RE_display_update_cb (Render *re, void *handle, void(*f)(void *handle, RenderResult *rr, volatile rcti *rect))
 
void RE_current_scene_update_cb (Render *re, void *handle, void(*f)(void *handle, Scene *scene))
 
void RE_stats_draw_cb (Render *re, void *handle, void(*f)(void *handle, RenderStats *rs))
 
void RE_progress_cb (Render *re, void *handle, void(*f)(void *handle, float))
 
void RE_draw_lock_cb (Render *re, void *handle, void(*f)(void *handle, bool lock))
 
void RE_test_break_cb (Render *re, void *handle, int(*f)(void *handle))
 
void RE_gl_context_create (Render *re)
 
void RE_gl_context_destroy (Render *re)
 
void * RE_gl_context_get (Render *re)
 
void * RE_gpu_context_get (Render *re)
 
static void render_result_disprect_to_full_resolution (Render *re)
 
static void render_result_uncrop (Render *re)
 
static void do_render_engine (Render *re)
 
static void do_render_compositor_scene (Render *re, Scene *sce, int cfra)
 
static int compositor_needs_render (Scene *sce, int this_scene)
 
static void do_render_compositor_scenes (Render *re)
 
static void render_compositor_stats (void *arg, const char *str)
 
static void do_render_compositor (Render *re)
 
static void renderresult_stampinfo (Render *re)
 
int RE_seq_render_active (Scene *scene, RenderData *rd)
 
static void do_render_sequencer (Render *re)
 
static void do_render_full_pipeline (Render *re)
 
static bool check_valid_compositing_camera (Scene *scene, Object *camera_override, ReportList *reports)
 
static bool check_valid_camera_multiview (Scene *scene, Object *camera, ReportList *reports)
 
static int check_valid_camera (Scene *scene, Object *camera_override, ReportList *reports)
 
static bool node_tree_has_compositor_output (bNodeTree *ntree)
 
static int check_compositor_output (Scene *scene)
 
bool RE_is_rendering_allowed (Scene *scene, ViewLayer *single_layer, Object *camera_override, ReportList *reports)
 
static void validate_render_settings (Render *re)
 
static void update_physics_cache (Render *re, Scene *scene, ViewLayer *view_layer, int UNUSED(anim_init))
 
void RE_SetActiveRenderView (Render *re, const char *viewname)
 
const char * RE_GetActiveRenderView (Render *re)
 
static int render_init_from_main (Render *re, const RenderData *rd, Main *bmain, Scene *scene, ViewLayer *single_layer, Object *camera_override, int anim, int anim_init)
 
void RE_SetReports (Render *re, ReportList *reports)
 
static void render_update_depsgraph (Render *re)
 
static void render_init_depsgraph (Render *re)
 
static void render_pipeline_free (Render *re)
 
void RE_RenderFrame (Render *re, Main *bmain, Scene *scene, ViewLayer *single_layer, Object *camera_override, int frame, const bool write_still)
 
bool RE_WriteRenderViewsImage (ReportList *reports, RenderResult *rr, Scene *scene, const bool stamp, char *name)
 
bool RE_WriteRenderViewsMovie (ReportList *reports, RenderResult *rr, Scene *scene, RenderData *rd, bMovieHandle *mh, void **movie_ctx_arr, const int totvideos, bool preview)
 
static void get_videos_dimensions (const Render *re, const RenderData *rd, size_t *r_width, size_t *r_height)
 
static void re_movie_free_all (Render *re, bMovieHandle *mh, int totvideos)
 
void RE_RenderAnim (Render *re, Main *bmain, Scene *scene, ViewLayer *single_layer, Object *camera_override, int sfra, int efra, int tfra)
 
void RE_PreviewRender (Render *re, Main *bmain, Scene *sce)
 
bool RE_ReadRenderResult (Scene *scene, Scene *scenode)
 
void RE_init_threadcount (Render *re)
 
void RE_layer_load_from_file (RenderLayer *layer, ReportList *reports, const char *filename, int x, int y)
 
void RE_result_load_from_file (RenderResult *result, ReportList *reports, const char *filename)
 
bool RE_layers_have_name (struct RenderResult *rr)
 
bool RE_passes_have_name (struct RenderLayer *rl)
 
RenderPassRE_pass_find_by_name (volatile RenderLayer *rl, const char *name, const char *viewname)
 
RenderPassRE_pass_find_by_type (volatile RenderLayer *rl, int passtype, const char *viewname)
 
RenderPassRE_create_gp_pass (RenderResult *rr, const char *layername, const char *viewname)
 
bool RE_allow_render_generic_object (Object *ob)
 

Variables

struct {
   ListBase   renderlist
 
RenderGlobal = {{NULL, NULL}}
 

Macro Definition Documentation

◆ CHECK_PASS

#define CHECK_PASS (   NAME)
Value:
if (passtype == SCE_PASS_##NAME) { \
return RE_pass_find_by_name(rl, RE_PASSNAME_##NAME, viewname); \
} \
((void)0)
RenderPass * RE_pass_find_by_name(volatile RenderLayer *rl, const char *name, const char *viewname)
Definition: pipeline.c:2764

◆ MAX_SCENE_RENDER_NAME

#define MAX_SCENE_RENDER_NAME   (MAX_ID_NAME + 1024 + 2)

Definition at line 579 of file pipeline.c.

Function Documentation

◆ check_compositor_output()

static int check_compositor_output ( Scene scene)
static

Definition at line 1640 of file pipeline.c.

References node_tree_has_compositor_output(), Scene::nodetree, and scene.

Referenced by RE_is_rendering_allowed().

◆ check_mode_full_sample()

static int check_mode_full_sample ( RenderData rd)
static

Definition at line 719 of file pipeline.c.

References R_EXR_TILE_FILE, R_FULL_SAMPLE, and RenderData::scemode.

Referenced by RE_InitState(), and RE_is_rendering_allowed().

◆ check_valid_camera()

static int check_valid_camera ( Scene scene,
Object camera_override,
ReportList reports 
)
static

◆ check_valid_camera_multiview()

static bool check_valid_camera_multiview ( Scene scene,
Object camera,
ReportList reports 
)
static

◆ check_valid_compositing_camera()

static bool check_valid_compositing_camera ( Scene scene,
Object camera_override,
ReportList reports 
)
static

◆ compositor_needs_render()

static int compositor_needs_render ( Scene sce,
int  this_scene 
)
static

◆ current_scene_nothing()

static void current_scene_nothing ( void *  UNUSEDarg,
Scene UNUSEDscene 
)
static

Definition at line 177 of file pipeline.c.

Referenced by RE_InitRenderCB().

◆ default_break()

static int default_break ( void *  UNUSEDarg)
static

Definition at line 186 of file pipeline.c.

References G.

Referenced by RE_InitRenderCB().

◆ do_render_compositor()

static void do_render_compositor ( Render re)
static

◆ do_render_compositor_scene()

static void do_render_compositor_scene ( Render re,
Scene sce,
int  cfra 
)
static

◆ do_render_compositor_scenes()

static void do_render_compositor_scenes ( Render re)
static

◆ do_render_engine()

static void do_render_engine ( Render re)
static

◆ do_render_full_pipeline()

static void do_render_full_pipeline ( Render re)
static

◆ do_render_sequencer()

static void do_render_sequencer ( Render re)
static

◆ do_write_image_or_movie()

static int do_write_image_or_movie ( Render re,
Main bmain,
Scene scene,
bMovieHandle mh,
const int  totvideos,
const char *  name_override 
)
static

◆ float_nothing()

static void float_nothing ( void *  UNUSEDarg,
float   UNUSEDval 
)
static

Definition at line 183 of file pipeline.c.

Referenced by RE_InitRenderCB().

◆ get_videos_dimensions()

static void get_videos_dimensions ( const Render re,
const RenderData rd,
size_t *  r_width,
size_t *  r_height 
)
static

◆ node_tree_has_compositor_output()

static bool node_tree_has_compositor_output ( bNodeTree ntree)
static

◆ RE_AcquiredResultGet32()

void RE_AcquiredResultGet32 ( Render re,
RenderResult result,
unsigned int *  rect,
const int  view_id 
)

◆ RE_AcquireResultImage()

void RE_AcquireResultImage ( Render re,
RenderResult rr,
const int  view_id 
)

◆ RE_AcquireResultImageViews()

void RE_AcquireResultImageViews ( Render re,
RenderResult rr 
)

◆ RE_AcquireResultRead()

RenderResult* RE_AcquireResultRead ( Render re)

◆ RE_AcquireResultWrite()

RenderResult* RE_AcquireResultWrite ( Render re)

◆ RE_allow_render_generic_object()

bool RE_allow_render_generic_object ( Object ob)

Definition at line 2848 of file pipeline.c.

References OB_DUPLI, OB_DUPLIPARTS, and Object::transflag.

Referenced by clean_viewport_memory_base().

◆ RE_ClearResult()

void RE_ClearResult ( Render re)

Definition at line 363 of file pipeline.c.

References NULL, render_result_free(), and Render::result.

Referenced by BKE_image_clear_renderslot().

◆ RE_create_gp_pass()

RenderPass* RE_create_gp_pass ( RenderResult rr,
const char *  layername,
const char *  viewname 
)

◆ RE_current_scene_update_cb()

void RE_current_scene_update_cb ( Render re,
void *  handle,
void(*)(void *handle, Scene *scene f 
)

Definition at line 937 of file pipeline.c.

References Render::current_scene_update, and Render::suh.

Referenced by screen_render_invoke().

◆ RE_display_clear_cb()

void RE_display_clear_cb ( Render re,
void *  handle,
void(*)(void *handle, RenderResult *rr)  f 
)

Definition at line 925 of file pipeline.c.

References Render::dch, and Render::display_clear.

◆ RE_display_init_cb()

void RE_display_init_cb ( Render re,
void *  handle,
void(*)(void *handle, RenderResult *rr)  f 
)

Definition at line 920 of file pipeline.c.

References Render::dih, and Render::display_init.

◆ RE_display_update_cb()

void RE_display_update_cb ( Render re,
void *  handle,
void(*)(void *handle, RenderResult *rr, volatile rcti *rect)  f 
)

Definition at line 930 of file pipeline.c.

References Render::display_update, and Render::duh.

Referenced by screen_render_invoke(), and shader_preview_render().

◆ RE_draw_lock_cb()

void RE_draw_lock_cb ( Render re,
void *  handle,
void(*)(void *handle, bool lock)  f 
)

Definition at line 953 of file pipeline.c.

References Render::dlh, and Render::draw_lock.

Referenced by screen_render_exec(), and screen_render_invoke().

◆ re_free_persistent_data()

static void re_free_persistent_data ( Render re)
static

Definition at line 691 of file pipeline.c.

References Render::engine, RenderEngine::flag, NULL, RE_engine_free(), and RE_ENGINE_RENDERING.

Referenced by RE_FreePersistentData().

◆ RE_FreeAllPersistentData()

void RE_FreeAllPersistentData ( void  )

◆ RE_FreeAllRender()

void RE_FreeAllRender ( void  )

Definition at line 653 of file pipeline.c.

References FRS_exit(), RE_FreeRender(), and RenderGlobal.

Referenced by WM_exit_ex().

◆ RE_FreeAllRenderResults()

void RE_FreeAllRenderResults ( void  )

Definition at line 666 of file pipeline.c.

References Render::next, NULL, Render::pushedresult, render_result_free(), RenderGlobal, and Render::result.

Referenced by setup_app_data().

◆ RE_FreePersistentData()

void RE_FreePersistentData ( const Scene scene)

◆ RE_FreeRender()

void RE_FreeRender ( Render re)

◆ RE_FreeRenderResult()

void RE_FreeRenderResult ( RenderResult rr)

◆ RE_GetActiveRenderView()

const char* RE_GetActiveRenderView ( Render re)

◆ RE_GetRender()

Render* RE_GetRender ( const char *  name)

◆ RE_GetRenderLayer()

RenderLayer* RE_GetRenderLayer ( RenderResult rr,
const char *  name 
)

◆ RE_GetScene()

Scene* RE_GetScene ( Render re)

Definition at line 387 of file pipeline.c.

References NULL, and Render::scene.

◆ RE_GetSceneRender()

Render* RE_GetSceneRender ( const Scene scene)

◆ RE_GetStats()

RenderStats* RE_GetStats ( Render re)

Definition at line 552 of file pipeline.c.

References Render::i.

Referenced by stampdata().

◆ RE_gl_context_create()

void RE_gl_context_create ( Render re)

◆ RE_gl_context_destroy()

void RE_gl_context_destroy ( Render re)

◆ RE_gl_context_get()

void* RE_gl_context_get ( Render re)

Definition at line 991 of file pipeline.c.

References Render::gl_context.

Referenced by DRW_render_context_disable(), and DRW_render_context_enable().

◆ RE_gpu_context_get()

void* RE_gpu_context_get ( Render re)

Definition at line 996 of file pipeline.c.

References Render::gpu_context, GPU_context_create(), and NULL.

Referenced by DRW_render_context_disable(), and DRW_render_context_enable().

◆ RE_HasSingleLayer()

bool RE_HasSingleLayer ( Render re)

Definition at line 285 of file pipeline.c.

References Render::r, R_SINGLE_LAYER, and RenderData::scemode.

Referenced by render_image_restore_layer().

◆ re_init_resolution()

static void re_init_resolution ( Render re,
Render source,
int  winx,
int  winy,
rcti disprect 
)
static

◆ RE_init_threadcount()

void RE_init_threadcount ( Render re)

Definition at line 2657 of file pipeline.c.

References BKE_render_num_threads(), Render::r, and RenderData::threads.

Referenced by RE_InitState().

◆ RE_InitRenderCB()

void RE_InitRenderCB ( Render re)

◆ RE_InitState()

void RE_InitState ( Render re,
Render source,
RenderData rd,
ListBase render_layers,
ViewLayer single_layer,
int  winx,
int  winy,
rcti disprect 
)

◆ RE_is_rendering_allowed()

bool RE_is_rendering_allowed ( Scene scene,
ViewLayer single_layer,
Object camera_override,
ReportList reports 
)

◆ RE_layer_load_from_file()

void RE_layer_load_from_file ( RenderLayer layer,
ReportList reports,
const char *  filename,
int  x,
int  y 
)

◆ RE_layers_have_name()

bool RE_layers_have_name ( struct RenderResult rr)

◆ re_movie_free_all()

static void re_movie_free_all ( Render re,
bMovieHandle mh,
int  totvideos 
)
static

◆ RE_MultilayerConvert()

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

Definition at line 290 of file pipeline.c.

References render_result_new_from_exr().

◆ RE_NewRender()

Render* RE_NewRender ( const char *  name)

◆ RE_NewSceneRender()

Render* RE_NewSceneRender ( const Scene scene)

◆ RE_pass_find_by_name()

RenderPass* RE_pass_find_by_name ( volatile RenderLayer rl,
const char *  name,
const char *  viewname 
)

◆ RE_pass_find_by_type()

RenderPass* RE_pass_find_by_type ( volatile RenderLayer rl,
int  passtype,
const char *  viewname 
)

Definition at line 2782 of file pipeline.c.

References CHECK_PASS, NORMAL, NULL, and Z.

◆ RE_passes_have_name()

bool RE_passes_have_name ( struct RenderLayer rl)

Definition at line 2753 of file pipeline.c.

References LISTBASE_FOREACH, RenderLayer::passes, and STREQ.

Referenced by uiblock_layer_pass_buttons().

◆ RE_PreviewRender()

void RE_PreviewRender ( Render re,
Main bmain,
Scene sce 
)

◆ RE_progress_cb()

void RE_progress_cb ( Render re,
void *  handle,
void(*)(void *handle, float f 
)

Definition at line 947 of file pipeline.c.

References Render::prh, and Render::progress.

Referenced by bake_invoke(), and screen_render_invoke().

◆ RE_ReadRenderResult()

bool RE_ReadRenderResult ( Scene scene,
Scene scenode 
)

◆ RE_ReleaseResult()

void RE_ReleaseResult ( Render re)

◆ RE_ReleaseResultImage()

void RE_ReleaseResultImage ( Render re)

◆ RE_ReleaseResultImageViews()

void RE_ReleaseResultImageViews ( Render re,
RenderResult rr 
)

◆ RE_RenderAnim()

void RE_RenderAnim ( Render re,
Main bmain,
Scene scene,
ViewLayer single_layer,
Object camera_override,
int  sfra,
int  efra,
int  tfra 
)

Definition at line 2314 of file pipeline.c.

References ADT_RECALC_ALL, BKE_animdata_from_id(), BKE_animsys_eval_context_construct(), BKE_animsys_evaluate_animdata(), 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_movie_handle_get(), BKE_report(), BKE_scene_frame_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_size(), BLI_file_touch(), BLI_make_existing_file(), RenderData::cfra, bMovieHandle::context_create, do_render_full_pipeline(), do_write_image_or_movie(), FILE_MAX, ListBase::first, Render::flag, G, get_videos_dimensions(), height, Scene::id, RenderData::im_format, ImageFormatData::imtype, Render::main, MEM_mallocN, RenderData::mode, Render::movie_ctx_arr, SceneRenderView::name, ImBuf::name, SceneRenderView::next, NULL, RenderData::pic, Render::pipeline_depsgraph, Render::pipeline_scene_eval, Scene::r, Render::r, R_ANIMATION, R_EXTENSION, R_IMF_VIEWS_INDIVIDUAL, R_MULTIVIEW, R_NO_OVERWRITE, R_TOUCH, re_movie_free_all(), render_callback_exec_id(), render_init_depsgraph(), render_init_from_main(), render_pipeline_free(), render_update_depsgraph(), Render::reports, RPT_ERROR, RPT_INFO, RenderData::scemode, scene, bMovieHandle::start_movie, Render::tbh, Render::test_break, RenderData::views, ImageFormatData::views_format, and width.

Referenced by arg_handle_render_animation(), arg_handle_render_frame(), render_startjob(), and screen_render_exec().

◆ RE_RenderFrame()

void RE_RenderFrame ( Render re,
Main bmain,
Scene scene,
ViewLayer single_layer,
Object camera_override,
int  frame,
const bool  write_still 
)

◆ RE_RenderLayerGetPass()

float* RE_RenderLayerGetPass ( volatile RenderLayer rl,
const char *  name,
const char *  viewname 
)

◆ RE_result_load_from_file()

void RE_result_load_from_file ( RenderResult result,
ReportList reports,
const char *  filename 
)

Definition at line 2731 of file pipeline.c.

References BKE_reportf(), NULL, render_result_exr_file_read_path(), result, and RPT_ERROR.

◆ RE_ResultGet32()

void RE_ResultGet32 ( Render re,
unsigned int *  rect 
)

◆ RE_seq_render_active()

int RE_seq_render_active ( Scene scene,
RenderData rd 
)

◆ RE_SetActiveRenderView()

void RE_SetActiveRenderView ( Render re,
const char *  viewname 
)

◆ RE_SetReports()

void RE_SetReports ( Render re,
ReportList reports 
)

◆ RE_SetScene()

void RE_SetScene ( Render re,
Scene sce 
)

Definition at line 395 of file pipeline.c.

References Render::scene.

Referenced by shader_preview_texture().

◆ RE_stats_draw_cb()

void RE_stats_draw_cb ( Render re,
void *  handle,
void(*)(void *handle, RenderStats *rs)  f 
)

Definition at line 942 of file pipeline.c.

References Render::sdh, and Render::stats_draw.

Referenced by screen_render_invoke().

◆ RE_SwapResult()

void RE_SwapResult ( Render re,
RenderResult **  rr 
)

Definition at line 371 of file pipeline.c.

References Render::result, and SWAP.

Referenced by BKE_image_backup_render(), and BKE_image_remove_renderslot().

◆ RE_test_break_cb()

void RE_test_break_cb ( Render re,
void *  handle,
int(*)(void *handle)  f 
)

◆ RE_WriteRenderViewsImage()

bool RE_WriteRenderViewsImage ( ReportList reports,
RenderResult rr,
Scene scene,
const bool  stamp,
char *  name 
)

◆ RE_WriteRenderViewsMovie()

bool RE_WriteRenderViewsMovie ( ReportList reports,
RenderResult rr,
Scene scene,
RenderData rd,
bMovieHandle mh,
void **  movie_ctx_arr,
const int  totvideos,
bool  preview 
)

◆ render_callback_exec_id()

static void render_callback_exec_id ( Render re,
Main bmain,
ID id,
eCbEvent  evt 
)
static

Definition at line 151 of file pipeline.c.

References BKE_callback_exec_id(), Render::r, R_BUTS_PREVIEW, and RenderData::scemode.

Referenced by RE_RenderAnim(), and RE_RenderFrame().

◆ render_callback_exec_null()

static void render_callback_exec_null ( Render re,
Main bmain,
eCbEvent  evt 
)
static

Definition at line 143 of file pipeline.c.

References BKE_callback_exec_null(), Render::r, R_BUTS_PREVIEW, and RenderData::scemode.

Referenced by do_write_image_or_movie().

◆ render_compositor_stats()

static void render_compositor_stats ( void *  arg,
const char *  str 
)
static

Definition at line 1185 of file pipeline.c.

References Render::i, RenderStats::infostr, Render::sdh, Render::stats_draw, and str.

Referenced by do_render_compositor().

◆ render_copy_renderdata()

void render_copy_renderdata ( RenderData to,
RenderData from 
)

◆ render_get_active_layer()

RenderLayer* render_get_active_layer ( Render re,
RenderResult rr 
)

◆ render_imbuf_write_stamp_test()

static int render_imbuf_write_stamp_test ( ReportList reports,
Scene scene,
struct RenderResult rr,
ImBuf ibuf,
const char *  name,
const ImageFormatData imf,
bool  stamp 
)
static

◆ render_init_depsgraph()

static void render_init_depsgraph ( Render re)
static

◆ render_init_from_main()

static int render_init_from_main ( Render re,
const RenderData rd,
Main bmain,
Scene scene,
ViewLayer single_layer,
Object camera_override,
int  anim,
int  anim_init 
)
static

◆ render_pipeline_free()

static void render_pipeline_free ( Render re)
static

◆ render_print_save_message()

static void render_print_save_message ( ReportList reports,
const char *  name,
int  ok,
int  err 
)
static

Definition at line 230 of file pipeline.c.

References BKE_reportf(), err, and RPT_ERROR.

Referenced by RE_WriteRenderViewsImage(), and render_imbuf_write_stamp_test().

◆ render_result_disprect_to_full_resolution()

static void render_result_disprect_to_full_resolution ( Render re)
static

◆ render_result_uncrop()

static void render_result_uncrop ( Render re)
static

◆ render_scene_has_layers_to_render()

static bool render_scene_has_layers_to_render ( Scene scene,
ViewLayer single_layer 
)
static

◆ render_update_anim_renderdata()

void render_update_anim_renderdata ( Render re,
RenderData rd,
ListBase render_layers 
)

◆ render_update_depsgraph()

static void render_update_depsgraph ( Render re)
static

◆ renderresult_stampinfo()

static void renderresult_stampinfo ( Render re)
static

◆ result_nothing()

static void result_nothing ( void *  UNUSEDarg,
RenderResult UNUSEDrr 
)
static

Definition at line 169 of file pipeline.c.

Referenced by RE_InitRenderCB().

◆ result_rcti_nothing()

static void result_rcti_nothing ( void *  UNUSEDarg,
RenderResult UNUSEDrr,
volatile struct rcti UNUSEDrect 
)
static

Definition at line 172 of file pipeline.c.

Referenced by RE_InitRenderCB().

◆ scene_render_name_get()

static void scene_render_name_get ( const Scene scene,
const size_t  max_size,
char *  render_name 
)
static

Definition at line 581 of file pipeline.c.

References BLI_snprintf(), Library::id, Scene::id, ID_IS_LINKED, ID::lib, ID::name, and scene.

Referenced by RE_GetSceneRender(), and RE_NewSceneRender().

◆ stats_background()

static void stats_background ( void *  UNUSEDarg,
RenderStats rs 
)
static

◆ stats_nothing()

static void stats_nothing ( void *  UNUSEDarg,
RenderStats UNUSEDrs 
)
static

Definition at line 180 of file pipeline.c.

Referenced by RE_InitRenderCB().

◆ update_physics_cache()

static void update_physics_cache ( Render re,
Scene scene,
ViewLayer view_layer,
int   UNUSEDanim_init 
)
static

◆ validate_render_settings()

static void validate_render_settings ( Render re)
static

Definition at line 1713 of file pipeline.c.

References Render::r, R_FULL_SAMPLE, RE_engine_is_external(), and RenderData::scemode.

Referenced by render_init_from_main().

Variable Documentation

◆ 

struct { ... } RenderGlobal

◆ renderlist

ListBase renderlist

Definition at line 138 of file pipeline.c.