|
Blender V5.0
|
#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) |
Definition at line 144 of file render_update.cc.
References ED_view3d_stop_render_preview(), ListBase::first, LISTBASE_FOREACH, ScrArea::regionbase, RGN_TYPE_WINDOW, SPACE_VIEW3D, ScrArea::spacetype, and Main::wm.
Referenced by ED_render_engine_changed(), and ED_render_view_layer_changed().
| void ED_render_engine_changed | ( | Main * | bmain, |
| const bool | update_scene_data ) |
Definition at line 161 of file render_update.cc.
References BKE_main_ensure_invariants(), BKE_material_make_node_previews_dirty(), BKE_scene_ensure_depsgraph(), DEGEditorUpdateContext::bmain, DEGEditorUpdateContext::depsgraph, ED_preview_kill_jobs(), ED_render_engine_area_exit(), ED_render_id_flush_update(), ListBase::first, LISTBASE_FOREACH, Main::materials, ntreeCompositUpdateRLayers(), RE_FreePersistentData(), DEGEditorUpdateContext::scene, Main::scenes, Main::screens, DEGEditorUpdateContext::view_layer, and Main::wm.
Referenced by ED_scene_change_update(), and wm_set_working_color_space_exec().
| void ED_render_id_flush_update | ( | const DEGEditorUpdateContext * | update_ctx, |
| ID * | id ) |
Definition at line 342 of file render_update.cc.
References BKE_brush_tag_unsaved_changes(), BLI_thread_is_main(), DEGEditorUpdateContext::bmain, GS, ID_BR, ID_IM, ID_LA, ID_MA, ID_SCE, ID_TE, ID_WO, image_changed(), lamp_changed(), material_changed(), ID::name, scene_changed(), texture_changed(), update_sequencer(), and world_changed().
Referenced by ED_render_engine_changed(), and WM_init().
| 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().
| void ED_render_view3d_update | ( | Depsgraph * | depsgraph, |
| wmWindow * | window, | ||
| ScrArea * | area, | ||
| bool | updated ) |
Update 3D viewport render or draw engine on changes to the scene or view settings.
Definition at line 66 of file render_update.cc.
References C, CTX_create(), CTX_data_depsgraph_pointer(), CTX_data_main_set(), CTX_data_scene_set(), CTX_free(), CTX_wm_area_set(), CTX_wm_manager_set(), CTX_wm_region_set(), CTX_wm_screen_set(), CTX_wm_window_set(), DEG_get_bmain(), DEG_get_input_scene(), depsgraph, ListBase::first, RenderEngine::flag, LISTBASE_FOREACH, RE_ENGINE_DO_UPDATE, RE_view_engine_get(), ScrArea::regionbase, RGN_TYPE_WINDOW, RenderEngine::type, RegionView3D::view_render, RenderEngineType::view_update, Main::wm, and WM_window_get_active_screen().
Referenced by ED_render_scene_update(), and view3d_main_region_listener().
Definition at line 197 of file render_update.cc.
References bScreen::areabase, ED_render_engine_area_exit(), and LISTBASE_FOREACH.
Referenced by WM_window_set_active_view_layer().
Definition at line 268 of file render_update.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), ED_previews_tag_dirty_by_id(), ListBase::first, Image::id, Tex::id, Tex::ima, ID::next, TEX_IMAGE, texture_changed(), Main::textures, and Tex::type.
Referenced by ED_render_id_flush_update().
Definition at line 222 of file render_update.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), ED_previews_tag_dirty_by_id(), and Light::id.
Referenced by ED_render_id_flush_update().
Definition at line 215 of file render_update.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), ED_previews_tag_dirty_by_id(), and Material::id.
Referenced by ED_render_id_flush_update().
Definition at line 286 of file render_update.cc.
References BKE_texpaint_slots_refresh_object(), ED_paint_proj_mesh_data_check(), ListBase::first, Object::id, Object::mode, ID::next, OB_MODE_TEXTURE_PAINT, and Main::objects.
Referenced by ED_render_id_flush_update().
Definition at line 229 of file render_update.cc.
References BKE_brush_tag_unsaved_changes(), BKE_icon_changed(), BKE_icon_id_ensure(), BKE_paint_invalidate_overlay_tex(), Main::brushes, Scene::compositing_node_group, ED_previews_tag_dirty_by_id(), ELEM, ListBase::first, Scene::id, Tex::id, LISTBASE_FOREACH, ID::next, Main::scenes, blender::ed::space_node::tag_update_id(), and Scene::view_layers.
Referenced by ED_render_id_flush_update(), and image_changed().
|
static |
Definition at line 301 of file render_update.cc.
References AnimData::action, Scene::adt, blender::seq::animation_keyframes_exist(), blender::seq::cache_cleanup_final(), blender::seq::cache_cleanup_intra(), blender::seq::editing_get(), ELEM, GS, bAction::id, ID_AC, ID_NT, ID_RECALC_AUDIO, ID_RECALC_AUDIO_FPS, ID_RECALC_AUDIO_LISTENER, ID_RECALC_AUDIO_MUTE, ID_RECALC_AUDIO_VOLUME, ID_RECALC_FRAME_CHANGE, ID_RECALC_SELECT, ID_SCE, ID::name, NTREE_COMPOSIT, blender::seq::prefetch_stop(), ID::recalc, blender::seq::relations_invalidate_compositor_modifiers(), blender::seq::relations_invalidate_scene_strips(), DEGEditorUpdateContext::scene, and bNodeTree::type.
Referenced by ED_render_id_flush_update().
Definition at line 261 of file render_update.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), ED_previews_tag_dirty_by_id(), and World::id.
Referenced by ED_render_id_flush_update().