|
Blender V5.0
|
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 212 of file render_preview.cc.
References RenderData::engine, RenderEngineType::flag, Scene::r, 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 19 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_all(), 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 243 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 737 of file render_preview.cc.
References abs, BLI_rcti_size_x(), BLI_rcti_size_y(), C, 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_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 192 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 223 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 2046 of file render_preview.cc.
References IconPreview::active_object, BKE_scene_ensure_depsgraph(), BKE_view_layer_default_render(), BLI_movelisttolist(), IconPreview::bmain, C, 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, GS, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_free(), icon_preview_startjob_all_sizes(), IconPreview::id, IconPreview::id_copy, ID_SCE, MEM_callocN(), 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 1993 of file render_preview.cc.
References IconPreview::active_object, BKE_previewimg_id_ensure(), BKE_scene_ensure_depsgraph(), BKE_view_layer_default_render(), BLI_freelistN(), IconPreview::bmain, C, CTX_data_active_object(), CTX_data_ensure_evaluated_depsgraph(), CTX_data_main(), IconPreview::depsgraph, duplicate_ids(), ED_preview_ensure_dbase(), PreviewImage::flag, GS, PreviewImage::h, icon_preview_add_size(), icon_preview_endjob(), icon_preview_startjob_all_sizes(), IconPreview::id, IconPreview::id_copy, ID_SCE, PreviewLoadJob::load_jobless(), IconPreview::owner, preview_id_copy_free(), PRV_RENDERING, PreviewImage::rect, PreviewImage::runtime, IconPreview::scene, IconPreview::sizes, and PreviewImage::w.
Referenced by icon_set_image().
Check if id is supported by the automatic preview render.
Definition at line 1957 of file render_preview.cc.
References BKE_collection_contains_geometry_recursive(), BKE_previewimg_id_get_p(), GS, ID_GR, ID_NT, ID_OB, ID_SCE, object_preview_is_type_supported(), result, RPT_, and scene_preview_is_supported().
Referenced by blender::ed::asset::generate_preview(), lib_id_generate_preview_exec(), lib_id_generate_preview_from_object_poll(), lib_id_generate_preview_poll(), and UI_icon_render_id().
| void ED_preview_kill_jobs | ( | wmWindowManager * | wm, |
| Main * | bmain ) |
Definition at line 2195 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_group_exec(), blender::ed::space_node::node_add_group_input_node_exec(), blender::ed::space_node::node_add_image_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().
| void ED_preview_kill_jobs_for_id | ( | wmWindowManager * | wm, |
| const ID * | id ) |
Definition at line 2204 of file render_preview.cc.
References BKE_previewimg_id_get(), WM_JOB_TYPE_RENDER_PREVIEW, and WM_jobs_kill_type().
Referenced by blender::ed::asset::generate_preview(), and blender::ed::asset::screenshot_preview_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 495 of file render_preview.cc.
References preview_get_world(), preview_sync_exposure(), and result.
Referenced by preview_prepare_scene().
Definition at line 374 of file render_preview.cc.
References BKE_world_add(), World::id, blender::bke::node_add_link(), blender::bke::node_add_node(), blender::bke::node_find_socket(), blender::bke::node_set_active(), blender::bke::node_tree_add_tree_embedded(), World::nodetree, output, SOCK_IN, and SOCK_OUT.
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 2226 of file render_preview.cc.
References BLI_addtail(), G_restart_previews_queue, PreviewRestartQueueEntry::id, MEM_callocN(), PreviewRestartQueueEntry::size, and size().
Referenced by memfile_undosys_unfinished_id_previews_restart().
| void ED_preview_restart_queue_free | ( | ) |
Definition at line 2221 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 2234 of file render_preview.cc.
References BKE_previewimg_clear_single(), BKE_previewimg_id_get(), BLI_freelinkN(), C, 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 344 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, |
| const void * | owner, | ||
| ID * | id, | ||
| ID * | parent, | ||
| MTex * | slot, | ||
| int | sizex, | ||
| int | sizey, | ||
| ePreviewRenderMethod | method ) |
Definition at line 2117 of file render_preview.cc.
References ARRAY_SET_ITEMS, BKE_previewimg_id_supports_jobs(), BLI_assert, ShaderPreview::bmain, C, 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, MEM_callocN(), NC_MATERIAL, ShaderPreview::own_id_copy, ShaderPreview::owner, ShaderPreview::parent, ShaderPreview::pr_main, ShaderPreview::pr_method, preview_method_is_render(), 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().
| bool ED_preview_use_image_size | ( | const PreviewImage * | preview, |
| eIconSizes | size ) |
For preview icons loaded from disk (deferred loading), use the size of the source image, and only scale to the display size when drawing. Then we actually know the final display size (so we don't scale twice), and can scale on the GPU while drawing.
Definition at line 1952 of file render_preview.cc.
References ICON_SIZE_PREVIEW, PreviewImage::runtime, and size().
Referenced by icon_create_rect().
Definition at line 396 of file render_preview.cc.
References BLI_assert, copy_v4_v4(), bNodeSocket::default_value, blender::bke::node_find_node_by_name(), blender::bke::node_find_socket(), World::nodetree, and SOCK_IN.
Referenced by blender::ed::space_node::preview_prepare_scene(), and preview_prepare_scene().
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 788 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 2981 of file render_shading.cc.
References mtexcopied.
Referenced by copy_mtex_exec(), and WM_init().
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, |
| 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_internal_init | ( | ) |
Definition at line 1341 of file render_internal.cc.
References C, RenderJobBase::current_scene, and render_job_get().
Referenced by DRW_engine_external_acquire_for_image_editor(), and image_user_refresh_scene().
Definition at line 1335 of file render_internal.cc.
References C, render_job_get(), and RenderJobBase::scene.
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 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().