|
Blender V4.5
|
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 210 of file render_preview.cc.
References ED_check_engine_supports_preview(), RenderData::engine, RenderEngineType::flag, Scene::r, RE_engines_find(), and RE_USE_PREVIEW.
Referenced by ED_check_engine_supports_preview(), 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 ED_operatortypes_render(), 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_operatortypes_render(), and ED_spacetypes_init().
| const char * ED_preview_collection_name | ( | ePreviewType | pr_type | ) |
Definition at line 241 of file render_preview.cc.
References BLI_assert_msg, ED_preview_collection_name(), 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 ED_preview_collection_name(), and 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 711 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(), 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 ED_preview_draw(), and uiTemplatePreview().
| void ED_preview_ensure_dbase | ( | bool | with_gpencil | ) |
Definition at line 190 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, ED_preview_ensure_dbase(), G, G_pr_main_grease_pencil, load_main_from_memory(), and UNUSED_VARS.
Referenced by ED_preview_ensure_dbase(), 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 221 of file render_preview.cc.
References BKE_main_free(), ED_preview_free_dbase(), G, and G_pr_main_grease_pencil.
Referenced by ED_preview_free_dbase(), and 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 2023 of file render_preview.cc.
References IconPreview::active_object, 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(), ED_preview_icon_job(), 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, 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 ED_preview_icon_job(), and 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 1979 of file render_preview.cc.
References IconPreview::active_object, BKE_previewimg_id_ensure(), 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(), ED_preview_icon_render(), 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, IconPreview::sizes, and PreviewImage::w.
Referenced by ED_preview_icon_render(), and icon_set_image().
Check if id is supported by the automatic preview render.
Definition at line 1946 of file render_preview.cc.
References BKE_previewimg_id_get_p(), collection_preview_contains_geometry_recursive(), ED_preview_id_is_supported(), GS, ID_GR, ID_NT, ID_OB, ID::name, object_preview_is_type_supported(), result, and RPT_.
Referenced by ED_preview_id_is_supported(), 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 2163 of file render_preview.cc.
References ED_preview_kill_jobs(), 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_preview_kill_jobs(), 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 2172 of file render_preview.cc.
References BKE_previewimg_id_get(), ED_preview_kill_jobs_for_id(), WM_JOB_TYPE_RENDER_PREVIEW, and WM_jobs_kill_type().
Referenced by ED_preview_kill_jobs_for_id(), 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 460 of file render_preview.cc.
References ED_preview_prepare_world(), preview_get_world(), preview_sync_exposure(), and result.
Referenced by ED_preview_prepare_world(), 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 2194 of file render_preview.cc.
References BLI_addtail(), ED_preview_restart_queue_add(), G_restart_previews_queue, PreviewRestartQueueEntry::id, MEM_callocN(), PreviewRestartQueueEntry::size, and size().
Referenced by ED_preview_restart_queue_add(), and memfile_undosys_unfinished_id_previews_restart().
| void ED_preview_restart_queue_free | ( | ) |
Definition at line 2189 of file render_preview.cc.
References BLI_freelistN(), ED_preview_restart_queue_free(), and G_restart_previews_queue.
Referenced by ED_preview_restart_queue_free(), WM_exit_ex(), and wm_file_read_pre().
| void ED_preview_restart_queue_work | ( | const bContext * | C | ) |
Definition at line 2202 of file render_preview.cc.
References BKE_previewimg_clear_single(), BKE_previewimg_id_get(), BLI_freelinkN(), C, ED_preview_restart_queue_work(), PreviewImage::flag, G_restart_previews_queue, LISTBASE_FOREACH_MUTABLE, PRV_USER_EDITED, and UI_icon_render_id().
Referenced by ED_preview_restart_queue_work(), and 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 342 of file render_preview.cc.
References BKE_layer_collection_sync(), ED_preview_set_visibility(), switch_preview_collection_visibility(), and switch_preview_floor_visibility().
Referenced by ED_preview_set_visibility(), 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 2085 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(), ED_preview_shader_job(), G, G_pr_main_grease_pencil, Material::gp_style, GS, ShaderPreview::id, ShaderPreview::id_copy, ID_MA, MEM_callocN(), ID::name, 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(), and ED_preview_shader_job().
| 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 1941 of file render_preview.cc.
References ED_preview_use_image_size(), ICON_SIZE_PREVIEW, PreviewImage::runtime, and size().
Referenced by ED_preview_use_image_size(), and icon_create_rect().
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 762 of file render_preview.cc.
References ED_previews_tag_dirty_by_id(), LISTBASE_FOREACH, Main::screens, and UI_PREVIEW_TAG_DIRTY.
Referenced by ED_previews_tag_dirty_by_id(), image_changed(), lamp_changed(), material_changed(), texture_changed(), and world_changed().
| void ED_render_clear_mtex_copybuf | ( | ) |
Definition at line 2965 of file render_shading.cc.
References ED_render_clear_mtex_copybuf(), and mtexcopied.
Referenced by copy_mtex_exec(), ED_render_clear_mtex_copybuf(), and WM_init().
Definition at line 144 of file render_update.cc.
References ED_render_engine_area_exit(), 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_area_exit(), 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, Main::cachefiles, DEG_id_tag_update(), DEG_relations_tag_update(), DEGEditorUpdateContext::depsgraph, ED_preview_kill_jobs(), ED_render_engine_area_exit(), ED_render_engine_changed(), 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_render_engine_changed(), and 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, ED_render_id_flush_update(), 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(), ED_render_id_flush_update(), and WM_init().
| void ED_render_internal_init | ( | ) |
References ED_render_internal_init().
Referenced by ED_render_internal_init().
Definition at line 1210 of file render_internal.cc.
References C, CTX_data_scene(), CTX_wm_manager(), RenderJobBase::current_scene, ED_render_job_get_current_scene(), WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by ED_render_job_get_current_scene(), and image_user_refresh_scene().
Definition at line 1197 of file render_internal.cc.
References C, CTX_data_scene(), CTX_wm_manager(), ED_render_job_get_scene(), RenderJobBase::scene, WM_JOB_TYPE_RENDER, and WM_jobs_customdata_from_type().
Referenced by draw_render_info(), and ED_render_job_get_scene().
| 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_scene_update(), ED_render_view3d_update(), ListBase::first, LISTBASE_FOREACH, SPACE_VIEW3D, wmWindowManager::windows, Main::wm, and WM_window_get_active_screen().
Referenced by ED_render_scene_update(), and 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(), ED_render_view3d_update(), 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(), ED_render_view3d_update(), and view3d_main_region_listener().
Definition at line 210 of file render_update.cc.
References bScreen::areabase, ED_render_engine_area_exit(), ED_render_view_layer_changed(), and LISTBASE_FOREACH.
Referenced by ED_render_view_layer_changed(), and WM_window_set_active_view_layer().