|
Blender V4.3
|
Go to the source code of this file.
Enumerations | |
| enum | ePreviewRenderMethod { PR_BUTS_RENDER = 0 , PR_ICON_RENDER = 1 , PR_ICON_DEFERRED = 2 } |
| enum ePreviewRenderMethod |
Render the preview method.
Definition at line 61 of file ED_render.hh.
| bool ED_check_engine_supports_preview | ( | const Scene * | scene | ) |
Definition at line 211 of file render_preview.cc.
References RE_engines_find(), and RE_USE_PREVIEW.
Referenced by ED_preview_shader_job(), blender::ed::space_node::ensure_nodetree_previews(), and icon_preview_startjob_all_sizes().
| void ED_operatortypes_render | ( | ) |
Definition at line 21 of file render_ops.cc.
References MATERIAL_OT_copy(), MATERIAL_OT_new(), MATERIAL_OT_paste(), OBJECT_OT_lightprobe_cache_bake(), OBJECT_OT_lightprobe_cache_free(), OBJECT_OT_material_slot_add(), OBJECT_OT_material_slot_assign(), OBJECT_OT_material_slot_copy(), OBJECT_OT_material_slot_deselect(), OBJECT_OT_material_slot_move(), OBJECT_OT_material_slot_remove(), OBJECT_OT_material_slot_remove_unused(), OBJECT_OT_material_slot_select(), RENDER_OT_opengl(), RENDER_OT_render(), RENDER_OT_shutter_curve_preset(), RENDER_OT_view_cancel(), RENDER_OT_view_show(), SCENE_OT_render_view_add(), SCENE_OT_render_view_remove(), SCENE_OT_view_layer_add(), SCENE_OT_view_layer_add_aov(), SCENE_OT_view_layer_add_lightgroup(), SCENE_OT_view_layer_add_used_lightgroups(), SCENE_OT_view_layer_remove(), SCENE_OT_view_layer_remove_aov(), SCENE_OT_view_layer_remove_lightgroup(), SCENE_OT_view_layer_remove_unused_lightgroups(), TEXTURE_OT_new(), TEXTURE_OT_slot_copy(), TEXTURE_OT_slot_move(), TEXTURE_OT_slot_paste(), WM_operatortype_append(), and WORLD_OT_new().
Referenced by ED_spacetypes_init().
| const char * ED_preview_collection_name | ( | ePreviewType | pr_type | ) |
Definition at line 242 of file render_preview.cc.
References BLI_assert_msg, MA_ATMOS, MA_CLOTH, MA_CUBE, MA_FLAT, MA_FLUID, MA_HAIR, MA_LAMP, MA_SHADERBALL, MA_SKY, MA_SPHERE, and MA_SPHERE_A.
Referenced by switch_preview_collection_visibility().
| void ED_preview_draw | ( | const bContext * | C, |
| void * | idp, | ||
| void * | parentp, | ||
| void * | slotp, | ||
| uiPreview * | ui_preview, | ||
| rcti * | rect ) |
Definition at line 712 of file render_preview.cc.
References abs(), BLI_rcti_size_x(), BLI_rcti_size_y(), CTX_data_scene(), CTX_wm_area(), CTX_wm_manager(), CTX_wm_space_properties(), ed_preview_draw_rect(), ED_preview_shader_job(), PR_BUTS_RENDER, SpaceProperties::preview, ShaderPreview::sizex, ShaderPreview::sizey, uiPreview::tag, UI_PREVIEW_TAG_DIRTY, WM_JOB_TYPE_LOAD_PREVIEW, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_customdata_from_type(), WM_jobs_test(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by uiTemplatePreview().
| void ED_preview_ensure_dbase | ( | bool | with_gpencil | ) |
Definition at line 191 of file render_preview.cc.
References BLI_assert, BLI_thread_is_main(), datatoc_preview_blend, datatoc_preview_blend_size, datatoc_preview_grease_pencil_blend, datatoc_preview_grease_pencil_blend_size, G, G_pr_main_grease_pencil, load_main_from_memory(), and UNUSED_VARS.
Referenced by ED_preview_icon_job(), ED_preview_icon_render(), ED_preview_shader_job(), and blender::ed::space_node::ensure_nodetree_previews().
| void ED_preview_free_dbase | ( | ) |
Definition at line 222 of file render_preview.cc.
References BKE_main_free(), G, and G_pr_main_grease_pencil.
Referenced by WM_exit_ex().
| void ED_preview_icon_job | ( | const bContext * | C, |
| PreviewImage * | prv_img, | ||
| ID * | id, | ||
| enum eIconSizes | icon_size, | ||
| bool | delay ) |
Definition at line 1996 of file render_preview.cc.
References IconPreview::active_object, BLI_movelisttolist(), IconPreview::bmain, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), CTX_wm_manager(), CTX_wm_window(), DEG_get_input_scene(), IconPreview::depsgraph, duplicate_ids(), ED_preview_ensure_dbase(), PreviewLoadJob::ensure_job(), PreviewImage::flag, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_free(), icon_preview_startjob_all_sizes(), IconPreview::id, IconPreview::id_copy, NC_WINDOW, IconPreview::owner, PRV_RENDERING, PreviewLoadJob::push_load_request(), PreviewImage::rect, PreviewImage::runtime, IconPreview::scene, IconPreview::sizes, PreviewImage::w, WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_callbacks(), WM_jobs_customdata_get(), WM_jobs_customdata_set(), WM_jobs_delay_start(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by icon_set_image().
| void ED_preview_icon_render | ( | const bContext * | C, |
| Scene * | scene, | ||
| PreviewImage * | prv_img, | ||
| ID * | id, | ||
| enum eIconSizes | icon_size ) |
Definition at line 1952 of file render_preview.cc.
References IconPreview::active_object, BKE_previewimg_id_ensure(), BLI_freelistN(), IconPreview::bmain, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), IconPreview::depsgraph, duplicate_ids(), ED_preview_ensure_dbase(), PreviewImage::flag, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_startjob_all_sizes(), IconPreview::id, IconPreview::id_copy, PreviewLoadJob::load_jobless(), IconPreview::owner, preview_id_copy_free(), PRV_RENDERING, PreviewImage::rect, PreviewImage::runtime, IconPreview::scene, scene, IconPreview::sizes, and PreviewImage::w.
Referenced by icon_set_image().
| bool ED_preview_id_is_supported | ( | const ID * | id, |
| const char ** | r_disabled_hint = nullptr ) |
Check if id is supported by the automatic preview render.
Definition at line 1919 of file render_preview.cc.
References BKE_previewimg_id_get_p(), collection_preview_contains_geometry_recursive(), GS, ID_GR, ID_NT, ID_OB, object_preview_is_type_supported(), result, and RPT_.
Referenced by lib_id_generate_preview_poll(), and UI_icon_render_id().
| void ED_preview_kill_jobs | ( | wmWindowManager * | wm, |
| Main * | bmain ) |
Definition at line 2136 of file render_preview.cc.
References WM_JOB_TYPE_RENDER_PREVIEW, and WM_jobs_kill_type().
Referenced by blender::ed::space_node::add_node_group_asset(), blender::ed::space_node::add_reroute_exec(), blender::ed::space_node::cut_links_exec(), blender::ed::space_node::detach_links_exec(), ED_render_engine_changed(), image_open_exec(), image_reload_exec(), image_replace_exec(), image_unpack_exec(), lib_id_generate_preview_exec(), lib_id_generate_preview_from_object_exec(), memfile_undosys_step_decode(), blender::ed::space_node::mute_links_exec(), blender::ed::space_node::node_active_link_viewer_exec(), blender::ed::space_node::node_add_collection_exec(), blender::ed::space_node::node_add_file_exec(), blender::ed::space_node::node_add_group_exec(), blender::ed::space_node::node_add_mask_exec(), blender::ed::space_node::node_add_material_exec(), blender::ed::space_node::node_add_object_exec(), blender::ed::space_node::node_clipboard_paste_exec(), blender::ed::space_node::node_delete_exec(), blender::ed::space_node::node_delete_reconnect_exec(), blender::ed::space_node::node_duplicate_exec(), blender::ed::space_node::node_group_edit_exec(), blender::ed::space_node::node_group_insert_exec(), blender::ed::space_node::node_group_make_exec(), blender::ed::space_node::node_group_separate_exec(), blender::ed::space_node::node_group_ungroup_exec(), blender::ed::space_node::node_link_invoke(), blender::ed::space_node::node_make_link_exec(), blender::ed::space_node::node_mute_exec(), blender::ed::space_node::node_read_viewlayers_exec(), blender::ed::space_node::node_socket_toggle_exec(), and blender::ed::space_node::viewer_border_exec().
| World * ED_preview_prepare_world | ( | Main * | pr_main, |
| const Scene * | scene, | ||
| const World * | world, | ||
| ID_Type | id_type, | ||
| ePreviewRenderMethod | pr_method ) |
Definition at line 461 of file render_preview.cc.
References preview_get_world(), preview_sync_exposure(), and result.
Referenced by blender::ed::space_node::preview_prepare_scene(), and preview_prepare_scene().
| void ED_preview_restart_queue_add | ( | ID * | id, |
| enum eIconSizes | size ) |
Definition at line 2159 of file render_preview.cc.
References BLI_addtail(), G_restart_previews_queue, PreviewRestartQueueEntry::id, PreviewRestartQueueEntry::size, and size().
Referenced by memfile_undosys_unfinished_id_previews_restart().
| void ED_preview_restart_queue_free | ( | ) |
Definition at line 2154 of file render_preview.cc.
References BLI_freelistN(), and G_restart_previews_queue.
Referenced by WM_exit_ex(), and wm_file_read_pre().
| void ED_preview_restart_queue_work | ( | const bContext * | C | ) |
Definition at line 2167 of file render_preview.cc.
References BKE_previewimg_clear_single(), BKE_previewimg_id_get(), BLI_freelinkN(), PreviewImage::flag, G_restart_previews_queue, LISTBASE_FOREACH_MUTABLE, PRV_USER_EDITED, and UI_icon_render_id().
Referenced by wm_event_do_notifiers().
| void ED_preview_set_visibility | ( | Main * | pr_main, |
| Scene * | scene, | ||
| ViewLayer * | view_layer, | ||
| ePreviewType | pr_type, | ||
| ePreviewRenderMethod | pr_method ) |
Definition at line 343 of file render_preview.cc.
References BKE_layer_collection_sync(), switch_preview_collection_visibility(), and switch_preview_floor_visibility().
Referenced by blender::ed::space_node::preview_prepare_scene(), and preview_prepare_scene().
| void ED_preview_shader_job | ( | const bContext * | C, |
| void * | owner, | ||
| ID * | id, | ||
| ID * | parent, | ||
| MTex * | slot, | ||
| int | sizex, | ||
| int | sizey, | ||
| ePreviewRenderMethod | method ) |
Definition at line 2058 of file render_preview.cc.
References ARRAY_SET_ITEMS, BKE_previewimg_id_supports_jobs(), BLI_assert, ShaderPreview::bmain, Object::color, ShaderPreview::color, common_preview_startjob(), copy_v4_v4(), CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_wm_manager(), CTX_wm_window(), duplicate_ids(), ED_check_engine_supports_preview(), ED_preview_ensure_dbase(), G, G_pr_main_grease_pencil, Material::gp_style, GS, ShaderPreview::id, ShaderPreview::id_copy, ID_MA, NC_MATERIAL, ShaderPreview::own_id_copy, ShaderPreview::owner, ShaderPreview::parent, ShaderPreview::pr_main, ShaderPreview::pr_method, preview_method_is_render(), scene, ShaderPreview::scene, shader_preview_free(), shader_preview_updatejob(), ShaderPreview::sizex, ShaderPreview::sizey, ShaderPreview::slot, Object::totcol, WM_JOB_EXCL_RENDER, WM_JOB_TYPE_RENDER_PREVIEW, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by ED_preview_draw().
For UI previews (i.e. uiPreview, not PreviewImage): Tag all previews for id as dirty, so the next redraw triggers a re-render in ED_preview_draw().
Definition at line 763 of file render_preview.cc.
References LISTBASE_FOREACH, Main::screens, and UI_PREVIEW_TAG_DIRTY.
Referenced by image_changed(), lamp_changed(), material_changed(), texture_changed(), and world_changed().
| void ED_render_clear_mtex_copybuf | ( | ) |
Definition at line 2872 of file render_shading.cc.
References mtexcopied.
Referenced by copy_mtex_exec(), and WM_init().
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, |
| 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_internal_init | ( | ) |
Definition at line 1216 of file render_internal.cc.
References CTX_data_scene(), CTX_wm_manager(), RenderJob::current_scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by image_user_refresh_scene().
Definition at line 1203 of file render_internal.cc.
References CTX_data_scene(), CTX_wm_manager(), RenderJob::scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by draw_render_info().
| 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().