|
Blender V4.3
|
#include <cstdlib>#include <cstring>#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 "BLI_utildefines.h"#include "BKE_brush.hh"#include "BKE_context.hh"#include "BKE_icons.h"#include "BKE_main.hh"#include "BKE_material.h"#include "BKE_paint.hh"#include "BKE_scene.hh"#include "NOD_composite.hh"#include "RE_engine.h"#include "RE_pipeline.h"#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"#include <cstdio>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) |
| void | ED_render_id_flush_update (const DEGEditorUpdateContext *update_ctx, ID *id) |
Definition at line 154 of file render_update.cc.
References ED_view3d_stop_render_preview(), ListBase::first, LISTBASE_FOREACH, RGN_TYPE_WINDOW, SPACE_VIEW3D, 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 171 of file render_update.cc.
References 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, 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 317 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(), scene_changed(), texture_changed(), 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 117 of file render_update.cc.
References 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 60 of file render_update.cc.
References DRWUpdateContext::bmain, 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(), DEG_get_input_view_layer(), depsgraph, DRWUpdateContext::depsgraph, DRW_notify_view_update(), ED_view3d_engine_type(), DRWUpdateContext::engine_type, ListBase::first, RenderEngine::flag, LISTBASE_FOREACH, RE_ENGINE_DO_UPDATE, RE_view_engine_get(), DRWUpdateContext::region, RGN_TYPE_WINDOW, DRWUpdateContext::scene, scene, View3D::shading, RenderEngine::type, View3DShading::type, DRWUpdateContext::v3d, DRWUpdateContext::view_layer, 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 219 of file render_update.cc.
References ED_render_engine_area_exit(), and LISTBASE_FOREACH.
Referenced by WM_window_set_active_view_layer().
Definition at line 284 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, TEX_IMAGE, texture_changed(), Main::textures, and Tex::type.
Referenced by ED_render_id_flush_update().
Definition at line 244 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 237 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 302 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 251 of file render_update.cc.
References BKE_icon_changed(), BKE_icon_id_ensure(), BKE_paint_invalidate_overlay_tex(), ED_node_tag_update_id(), ED_previews_tag_dirty_by_id(), ListBase::first, Tex::id, LISTBASE_FOREACH, scene, Main::scenes, and tex.
Referenced by ED_render_id_flush_update(), and image_changed().
Definition at line 277 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().