Blender V5.0
render_update.cc File Reference
#include <cstdlib>
#include <cstring>
#include "DNA_anim_types.h"
#include "DNA_brush_types.h"
#include "DNA_cachefile_types.h"
#include "DNA_light_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_world_types.h"
#include "DRW_engine.hh"
#include "BLI_listbase.h"
#include "BLI_threads.h"
#include "BKE_brush.hh"
#include "BKE_context.hh"
#include "BKE_icons.h"
#include "BKE_main.hh"
#include "BKE_main_invariants.hh"
#include "BKE_material.hh"
#include "BKE_node_runtime.hh"
#include "BKE_paint.hh"
#include "BKE_scene.hh"
#include "NOD_composite.hh"
#include "RE_engine.h"
#include "RE_pipeline.h"
#include "SEQ_animation.hh"
#include "SEQ_prefetch.hh"
#include "SEQ_relations.hh"
#include "SEQ_sequencer.hh"
#include "ED_node.hh"
#include "ED_node_preview.hh"
#include "ED_paint.hh"
#include "ED_render.hh"
#include "ED_view3d.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_query.hh"
#include "WM_api.hh"

Go to the source code of this file.

Functions

Render Engines
void ED_render_view3d_update (Depsgraph *depsgraph, wmWindow *window, ScrArea *area, const bool updated)
void ED_render_scene_update (const DEGEditorUpdateContext *update_ctx, const bool updated)
void ED_render_engine_area_exit (Main *bmain, ScrArea *area)
void ED_render_engine_changed (Main *bmain, const bool update_scene_data)
void ED_render_view_layer_changed (Main *bmain, bScreen *screen)
Updates

ED_render_id_flush_update gets called from DEG_id_tag_update, to do editor level updates when the ID changes. When these ID blocks are in the dependency graph, we can get rid of the manual dependency checks.

static void material_changed (Main *bmain, Material *ma)
static void lamp_changed (Main *bmain, Light *la)
static void texture_changed (Main *bmain, Tex *tex)
static void world_changed (Main *bmain, World *wo)
static void image_changed (Main *bmain, Image *ima)
static void scene_changed (Main *bmain, Scene *scene)
static void update_sequencer (const DEGEditorUpdateContext *update_ctx, Main *bmain, ID *id)
void ED_render_id_flush_update (const DEGEditorUpdateContext *update_ctx, ID *id)

Function Documentation

◆ ED_render_engine_area_exit()

◆ ED_render_engine_changed()

◆ ED_render_id_flush_update()

◆ ED_render_scene_update()

void ED_render_scene_update ( const DEGEditorUpdateContext * update_ctx,
bool updated )

Update all 3D viewport render and draw engines on changes to the scene. This is called by the dependency graph when it detects changes.

Definition at line 107 of file render_update.cc.

References bScreen::areabase, BLI_listbase_is_empty(), BLI_thread_is_main(), DEGEditorUpdateContext::bmain, DEGEditorUpdateContext::depsgraph, ED_render_view3d_update(), ListBase::first, LISTBASE_FOREACH, SPACE_VIEW3D, wmWindowManager::windows, Main::wm, and WM_window_get_active_screen().

Referenced by WM_init().

◆ ED_render_view3d_update()

◆ ED_render_view_layer_changed()

void ED_render_view_layer_changed ( Main * bmain,
bScreen * screen )

◆ image_changed()

◆ lamp_changed()

void lamp_changed ( Main * bmain,
Light * la )
static

◆ material_changed()

void material_changed ( Main * bmain,
Material * ma )
static

◆ scene_changed()

◆ texture_changed()

◆ update_sequencer()

◆ world_changed()

void world_changed ( Main * bmain,
World * wo )
static