|
Blender V4.5
|
#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, Main::cachefiles, DEG_id_tag_update(), DEG_relations_tag_update(), DEGEditorUpdateContext::depsgraph, ED_preview_kill_jobs(), ED_render_engine_area_exit(), ED_render_id_flush_update(), ListBase::first, ID_RECALC_SYNC_TO_EVAL, 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().
| void ED_render_id_flush_update | ( | const DEGEditorUpdateContext * | update_ctx, |
| ID * | id ) |
Definition at line 347 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 210 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 281 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 235 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 228 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 299 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 242 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, ED_previews_tag_dirty_by_id(), ELEM, ListBase::first, Scene::id, Tex::id, LISTBASE_FOREACH, ID::next, Scene::nodetree, Main::scenes, blender::ed::space_node::tag_update_id(), Scene::use_nodes, and Scene::view_layers.
Referenced by ED_render_id_flush_update(), and image_changed().
|
static |
Definition at line 314 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_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, blender::seq::prefetch_stop(), ID::recalc, blender::seq::relations_invalidate_scene_strips(), and DEGEditorUpdateContext::scene.
Referenced by ED_render_id_flush_update().
Definition at line 274 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().