|
Blender V5.0
|
Go to the source code of this file.
Classes | |
| struct | SceneBaseIter |
Macros | |
| #define | SETLOOPER(_sce_basis, _sce_iter, _base) |
| #define | SETLOOPER_VIEW_LAYER(_sce_basis, _view_layer, _sce_iter, _base) |
| #define | SETLOOPER_SET_ONLY(_sce_basis, _sce_iter, _base) |
Enumerations | |
| enum | eSceneCopyMethod { SCE_COPY_NEW = 0 , SCE_COPY_EMPTY = 1 , SCE_COPY_LINK_COLLECTION = 2 , SCE_COPY_FULL = 3 } |
| #define SETLOOPER | ( | _sce_basis, | |
| _sce_iter, | |||
| _base ) |
Use as the contents of a 'for' loop: for (SETLOOPER(...)) { ... }.
Definition at line 40 of file BKE_scene.hh.
| #define SETLOOPER_SET_ONLY | ( | _sce_basis, | |
| _sce_iter, | |||
| _base ) |
Definition at line 52 of file BKE_scene.hh.
Referenced by clean_viewport_memory().
| #define SETLOOPER_VIEW_LAYER | ( | _sce_basis, | |
| _view_layer, | |||
| _sce_iter, | |||
| _base ) |
Definition at line 47 of file BKE_scene.hh.
Referenced by BKE_ptcache_bake().
| enum eSceneCopyMethod |
| Enumerator | |
|---|---|
| SCE_COPY_NEW | |
| SCE_COPY_EMPTY | |
| SCE_COPY_LINK_COLLECTION | |
| SCE_COPY_FULL | |
Definition at line 32 of file BKE_scene.hh.
Helper function for the SETLOOPER and SETLOOPER_VIEW_LAYER macros
It iterates over the bases of the active layer and then the bases of the active layer of the background (set) scenes recursively.
Definition at line 2779 of file scene.cc.
References BKE_view_layer_default_render(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), ListBase::first, Base::next, and Scene::set.
| int BKE_render_num_threads | ( | const RenderData * | r | ) |
Definition at line 2888 of file scene.cc.
References BLI_system_num_threads_override_get(), BLI_system_thread_count(), max_ii(), RenderData::mode, R_FIXED_THREADS, and RenderData::threads.
Referenced by BKE_scene_num_threads(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), lineart_create_render_buffer_v3(), and RE_init_threadcount().
| int BKE_render_preview_pixel_size | ( | const RenderData * | r | ) |
Definition at line 2930 of file scene.cc.
References RenderData::preview_pixel_size, and U.
Referenced by blender::draw::overlay::Instance::init(), blender::eevee::Film::init(), and blender::eevee::Sampling::init().
| void BKE_render_resolution | ( | const RenderData * | r, |
| const bool | use_crop, | ||
| int * | r_width, | ||
| int * | r_height ) |
Definition at line 2915 of file scene.cc.
References RenderData::border, RenderData::mode, R_BORDER, R_CROP, RenderData::size, rctf::xmax, rctf::xmin, RenderData::xsch, rctf::ymax, rctf::ymin, and RenderData::ysch.
Referenced by BKE_add_template_variables_for_render_path(), BKE_image_get_size(), blender::io::alembic::ABCCameraWriter::create_alembic_objects(), do_render_compositor_scene(), do_version_glare_node_bloom_strength(), do_version_glare_node_options_to_inputs(), ED_space_image_get_size(), blender::render::Context::get_render_size(), image_main_region_draw(), is_compositing_possible(), is_compositing_possible_on_gpu(), blender::io::grease_pencil::GreasePencilExporter::prepare_render_params(), blender::seq::proxy_rebuild(), RE_PreviewRender(), RE_ReadRenderResult(), render_border_exec(), render_init_from_main(), render_view_open(), screen_opengl_render_init(), blender::seq::seq_render_scene_strip_ex(), blender::ed::vse::sequencer_view_all_preview_exec(), blender::ed::vse::sequencer_view_zoom_ratio_exec(), and view3d_set_1_to_1_viewborder().
Definition at line 2001 of file scene.cc.
References BKE_id_new(), Scene::id, id_us_ensure_real(), id_us_min(), and name.
Referenced by BKE_scene_duplicate(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), object_preview_scene_create(), scene_add(), setup_app_data(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), blender::nodes::tests::TEST_F(), and blender::bke::tests::WholeIDTestData::WholeIDTestData().
| SceneRenderView * BKE_scene_add_render_view | ( | Scene * | sce, |
| const char * | name ) |
Return default view.
Definition at line 2712 of file scene.cc.
References BLI_addtail(), BLI_uniquename(), DATA_, MEM_callocN(), name, SceneRenderView::name, offsetof, Scene::r, STRNCPY_UTF8, and RenderData::views.
Referenced by blo_do_versions_270(), render_view_add_exec(), and scene_init_data().
| void BKE_scene_allocate_depsgraph_hash | ( | Scene * | scene | ) |
Definition at line 3298 of file scene.cc.
References BLI_ghash_new(), Scene::depsgraph_hash, depsgraph_key_compare(), and depsgraph_key_hash().
Referenced by BKE_scene_ensure_depsgraph_hash().
Definition at line 2850 of file scene.cc.
References BKE_scene_object_base_flag_sync_from_base(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), and LISTBASE_FOREACH.
Referenced by blender::ed::transform::set_trans_object_base_flags().
| int BKE_scene_base_iter_next | ( | Depsgraph * | depsgraph, |
| SceneBaseIter * | iter, | ||
| Scene ** | scene, | ||
| int | val, | ||
| Base ** | base, | ||
| Object ** | ob ) |
Used by meta-balls, return all objects (including duplis) existing in the scene (including scene's sets).
Definition at line 2069 of file scene.cc.
References BKE_view_layer_context_active_PLACEHOLDER(), BKE_view_layer_default_render(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), blender::VectorList< T, CapacityStart, CapacityMax >::clear(), copy_m4_m4(), DEG_get_evaluated_view_layer(), depsgraph, SceneBaseIter::dupli_refob, SceneBaseIter::duplilist, SceneBaseIter::dupob, SceneBaseIter::dupob_index, F_DUPLI, F_SCENE, F_START, blender::VectorList< T, CapacityStart, CapacityMax >::first(), ListBase::first, blender::VectorList< T, CapacityStart, CapacityMax >::is_empty(), DupliObject::mat, Base::next, nullptr, DupliObject::ob, OB_DUPLI, OB_FROMDUPLI, object_duplilist(), SceneBaseIter::omat, SceneBaseIter::phase, Object::runtime, and blender::VectorList< T, CapacityStart, CapacityMax >::size().
Referenced by init_meta().
Definition at line 2224 of file scene.cc.
References BKE_scene_ctime_get(), LISTBASE_FOREACH, Scene::markers, MAXFRAME, RenderData::mode, OB_HIDE_RENDER, Scene::r, and R_NO_CAMERA_SWITCH.
Referenced by BKE_scene_camera_switch_update(), and ED_update_for_newframe().
| bool BKE_scene_camera_switch_update | ( | Scene * | scene | ) |
Definition at line 2265 of file scene.cc.
References BKE_scene_camera_switch_find(), Scene::camera, DEG_id_tag_update(), Scene::id, ID_RECALC_PARAMETERS, and ID_RECALC_SYNC_TO_EVAL.
Referenced by do_render_compositor_scene(), do_render_full_pipeline(), ed_marker_camera_bind_exec(), ed_marker_move_apply(), blender::io::grease_pencil::PDFExporter::export_scene(), blender::io::grease_pencil::SVGExporter::export_scene(), MOD_lineart_compute_feature_lines_v3(), blender::io::grease_pencil::persmat_from_camera_object(), RE_engine_frame_set(), screen_opengl_render_anim_step(), screen_render_single_layer_set(), blender::seq::seq_render_scene_strip_ex(), and sound_bake_animation_exec().
Definition at line 1986 of file scene.cc.
References ID_IS_LINKED, LISTBASE_FOREACH, and Main::scenes.
Referenced by scene_delete_poll().
| bool BKE_scene_check_rigidbody_active | ( | const Scene * | scene | ) |
Definition at line 2882 of file scene.cc.
References RigidBodyWorld::flag, RigidBodyWorld::group, RBW_FLAG_MUTED, and Scene::rigidbody_world.
Referenced by BKE_rigidbody_eval_simulation(), and BKE_rigidbody_rebuild_sim().
Definition at line 1777 of file scene.cc.
References Scene::eevee.
Referenced by BKE_scene_duplicate(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), and scene_copy_data().
Return fractional frame number taking into account sub-frames and time remapping. This the time value used by animation, modifiers and physics evaluation.
Definition at line 2370 of file scene.cc.
References BKE_scene_frame_to_ctime(), RenderData::cfra, and Scene::r.
Referenced by BKE_cachefile_filepath_get(), BKE_object_eval_constraints(), BKE_pose_constraints_evaluate(), BKE_pose_eval_bone(), BKE_pose_eval_cleanup(), BKE_pose_eval_init_ik(), BKE_pose_iktree_evaluate(), BKE_pose_splineik_evaluate(), BKE_pose_where_is(), BKE_ptcache_id_time(), BKE_scene_camera_switch_find(), DEG_evaluate_on_refresh(), blender::deg::Depsgraph::Depsgraph(), draw_current_frame(), dynamicPaint_brushMeshCalculateVelocity(), dynamicPaint_brushObjectCalculateVelocity(), dynamicPaint_doStep(), explodeMesh(), meshcache_do(), modify_mesh(), blender::nodes::node_geo_input_scene_time_cc::node_exec(), blender::ed::transform::ObjectToTransData(), RE_RenderAnim(), blender::ed::greasepencil::retrieve_visible_drawings(), and blender::ed::transform::special_aftertrans_update__object().
| void BKE_scene_disable_color_management | ( | Scene * | scene | ) |
Definition at line 2864 of file scene.cc.
References ColorManagedDisplaySettings::display_device, Scene::display_settings, IMB_colormanagement_display_get_none_name(), IMB_colormanagement_view_get_raw_or_default_name(), STRNCPY_UTF8, view, Scene::view_settings, and ColorManagedViewSettings::view_transform.
Referenced by blo_do_versions_260(), and blo_do_versions_400().
| Scene * BKE_scene_duplicate | ( | Main * | bmain, |
| Scene * | sce, | ||
| eSceneCopyMethod | type, | ||
| eDupli_ID_Flags | duplicate_flags, | ||
| uint | duplicate_options ) |
Definition at line 1783 of file scene.cc.
References Scene::audio, RenderData::bake, BKE_animdata_duplicate_id_action(), BKE_collection_duplicate(), BKE_color_managed_colorspace_settings_copy(), BKE_color_managed_display_settings_copy(), BKE_color_managed_view_settings_copy(), BKE_curvemapping_copy_data(), BKE_curvemapping_free_data(), BKE_id_copy(), BKE_id_copy_for_duplicate(), BKE_image_format_copy(), BKE_libblock_relink_to_newid(), BKE_main_collection_sync(), BKE_main_id_newptr_and_tag_clear(), BKE_scene_add(), BKE_scene_copy_data_eevee(), BKE_sound_destroy_scene(), BKE_sound_reset_scene_runtime(), BKE_toolsettings_copy(), BKE_toolsettings_free(), BLI_assert, Scene::compositing_node_group, RigidBodyWorld::constraints, Scene::display, Scene::display_settings, blender::seq::editing_free(), FOREACH_MAIN_ID_BEGIN, FOREACH_MAIN_ID_END, Scene::gpd, RigidBodyWorld::group, Scene::id, ID_IS_LINKED, ID_NEW_SET, ID_REMAP_FORCE_OBDATA_IN_EDITMODE, ID_REMAP_SKIP_USER_CLEAR, ID_TAG_NEW, id_us_ensure_real(), id_us_min(), IDP_CopyProperty(), BakeData::im_format, RenderData::im_format, LIB_ID_COPY_DEFAULT, LIB_ID_DUPLICATE_IS_ROOT_ID, LIB_ID_DUPLICATE_IS_SUBPROCESS, LISTBASE_FOREACH, Scene::master_collection, RenderData::mblur_shutter_curve, ID::name, ID::newid, Scene::physics_settings, Scene::preview, ID::properties, Scene::r, remove_sequencer_fcurves(), Scene::rigidbody_world, SCE_COPY_EMPTY, SCE_COPY_FULL, Scene::sequencer_colorspace_settings, ID::system_properties, ID::tag, Scene::toolsettings, Scene::unit, USER_DUP_LINKED_ID, Scene::view_layers, Scene::view_settings, RenderData::views, and Scene::world.
Referenced by scene_add(), blender::ed::vse::sequencer_add_scene_asset(), blender::seq::strip_duplicate(), and blender::bke::tests::TEST_F().
Definition at line 3416 of file scene.cc.
References scene_ensure_depsgraph_p().
Referenced by BKE_scene_view_layer_graph_evaluated_ensure(), CTX_data_depsgraph_pointer(), ED_preview_icon_job(), ED_preview_icon_render(), ED_render_engine_changed(), ED_scene_change_update(), format_stats(), pygpu_offscreen_draw_view3d(), blender::ed::transform::set_trans_object_base_flags(), start_playback(), stop_playback(), update_physics_cache(), wm_draw_update_test_window(), and wm_event_do_depsgraph().
| void BKE_scene_ensure_depsgraph_hash | ( | Scene * | scene | ) |
Definition at line 3304 of file scene.cc.
References BKE_scene_allocate_depsgraph_hash(), and Scene::depsgraph_hash.
Referenced by scene_get_depsgraph_p().
| Scene * BKE_scene_find_from_collection | ( | const Main * | bmain, |
| const Collection * | collection ) |
Definition at line 2211 of file scene.cc.
References BKE_view_layer_has_collection(), LISTBASE_FOREACH, and Main::scenes.
| const char * BKE_scene_find_last_marker_name | ( | const Scene * | scene, |
| int | frame ) |
Return the current marker for this frame, we can have more than 1 marker per frame, this just returns the first (unfortunately).
Definition at line 2303 of file scene.cc.
References TimeMarker::frame, LISTBASE_FOREACH, Scene::markers, MAXFRAME, and TimeMarker::name.
Referenced by stampdata().
| const char * BKE_scene_find_marker_name | ( | const Scene * | scene, |
| int | frame ) |
Definition at line 2276 of file scene.cc.
References ListBase::first, TimeMarker::frame, ListBase::last, Scene::markers, TimeMarker::name, TimeMarker::next, and TimeMarker::prev.
Referenced by draw_selected_name().
Get current fractional frame based on frame and sub-frame.
Definition at line 2384 of file scene.cc.
References RenderData::cfra, Scene::r, and RenderData::subframe.
Referenced by blender::animrig::autokeyframe_cfra_can_key(), blender::animrig::autokeyframe_object(), blender::animrig::autokeyframe_object(), blender::animrig::autokeyframe_pchan(), blender::animrig::autokeyframe_pose_channel(), BKE_constraint_apply_for_object(), BKE_constraint_apply_for_pose(), BKE_scene_graph_update_for_newframe_ex(), DEG_evaluate_on_refresh(), delete_key_button_exec(), delete_key_using_keying_set(), delete_key_v3d_without_keying_set(), delete_key_vse_without_keying_set(), blender::deg::Depsgraph::Depsgraph(), engine_depsgraph_init(), blender::ed::vse::freeze_frame_add_from_strip_selection(), insert_key(), insert_key_button_exec(), insert_key_with_keyingset(), keyframe_jump_exec(), blender::ed::outliner::outliner_object_set_flag_recursive_fn(), paste_get_y_offset(), pose_propagate_exec(), render_update_depsgraph(), blender::ed::vse::retiming_key_add_new_for_strip(), blender::ed::vse::sequencer_retiming_key_add_exec(), blender::ed::vse::sequencer_text_editing_active_poll(), blender::seq::strip_update_sound_properties(), ui_apply_but_autokey(), UI_block_end_ex(), and UI_context_update_anim_flag().
Set current frame and sub-frame based on a fractional frame.
Definition at line 2389 of file scene.cc.
References RenderData::cfra, modf, Scene::r, and RenderData::subframe.
Referenced by deg_flush_updates_and_refresh(), keyframe_jump_exec(), lineart_bake_startjob(), RE_engine_frame_set(), and blender::seq::seq_render_scene_strip_ex().
| float BKE_scene_frame_snap_by_seconds | ( | const Scene * | scene, |
| double | interval_in_seconds, | ||
| float | frame ) |
Definition at line 2321 of file scene.cc.
References BLI_assert, ceil, float, and floor.
Referenced by append_second_snap_target(), and blender::bke::tests::TEST().
Convert integer frame number to fractional frame number taking into account sub-frames and time remapping.
Definition at line 2375 of file scene.cc.
References RenderData::framelen, Scene::r, and RenderData::subframe.
Referenced by BKE_ptcache_id_time(), BKE_scene_ctime_get(), DEG_evaluate_on_framechange(), and object_add_or_copy_particle_system().
| void BKE_scene_free_depsgraph_hash | ( | Scene * | scene | ) |
Definition at line 3311 of file scene.cc.
References BLI_ghash_free(), Scene::depsgraph_hash, depsgraph_key_free(), and depsgraph_key_value_free().
Referenced by scene_free_data(), and wm_block_autorun_warning_enable_scripts().
Definition at line 3320 of file scene.cc.
References BLI_ghash_remove(), Scene::depsgraph_hash, depsgraph_key_free(), and depsgraph_key_value_free().
Referenced by ED_scene_view_layer_delete().
Definition at line 3403 of file scene.cc.
References BKE_scene_has_view_layer(), BLI_assert, BLI_ghash_lookup(), Scene::depsgraph_hash, and DepsgraphKey::view_layer.
Referenced by CTX_data_depsgraph_on_load(), DRW_cache_free_old_batches(), render_endjob(), screen_animation_step_invoke(), blender::seq::seq_render_scene_strip(), sound_jack_sync_callback(), view3d_main_region_listener(), and wm_xr_session_scene_and_depsgraph_get().
| void BKE_scene_graph_evaluated_ensure | ( | Depsgraph * | depsgraph, |
| Main * | bmain ) |
Definition at line 2626 of file scene.cc.
References depsgraph, and scene_graph_update_tagged().
Referenced by BKE_sculpt_mask_layers_ensure(), blender::ed::transform::create_trans_data(), CTX_data_ensure_evaluated_depsgraph(), blender::ed::object::data_xform_container_update_all(), ED_object_particle_edit_mode_enter_ex(), ED_object_texture_paint_mode_enter_ex(), blender::io::ply::exporter_main(), blender::io::stl::exporter_main(), blender::ed::sculpt_paint::init_sculpt_mode_session(), blender::io::obj::OBJDepsgraph::OBJDepsgraph(), blender::ed::object::object_clear_transform_generic_exec(), blender::ed::object::object_xform_skip_child_container_update_all(), screen_opengl_render_doit(), snap_sel_to_grid_exec(), snap_selected_to_location_rotation(), start_playback(), blender::ed::sculpt_paint::undo::step_decode(), stop_playback(), blender::ed::transform::transform_convert_mesh_crazyspace_detect(), and wm_xr_session_do_depsgraph().
| void BKE_scene_graph_update_for_newframe | ( | Depsgraph * | depsgraph | ) |
Definition at line 2700 of file scene.cc.
References BKE_scene_graph_update_for_newframe_ex(), and depsgraph.
Referenced by blender::ed::object::apply_grease_pencil_for_modifier_all_keyframes(), blender::ed::object::bake_simulation::bake_geometry_nodes_startjob(), blender::ed::greasepencil::bake_grease_pencil_animation_exec(), BKE_ptcache_bake(), ED_update_for_newframe(), blender::io::grease_pencil::PDFExporter::export_scene(), blender::io::grease_pencil::SVGExporter::export_scene(), blender::io::alembic::export_startjob(), blender::io::usd::export_to_stage(), FRS_do_stroke_rendering(), blender::ed::greasepencil::grease_pencil_reproject_exec(), lineart_bake_startjob(), motionpaths_calc_update_scene(), redraw_timer_step(), screen_opengl_render_anim_step(), screen_opengl_render_end(), blender::seq::seq_render_scene_strip(), blender::seq::seq_render_scene_strip_ex(), blender::ed::object::bake_simulation::simulate_to_frame_startjob(), sound_bake_animation_exec(), and blender::io::obj::OBJDepsgraph::update_for_newframe().
| void BKE_scene_graph_update_for_newframe_ex | ( | Depsgraph * | depsgraph, |
| bool | clear_recalc ) |
Applies changes right away, does all sets too.
Definition at line 2631 of file scene.cc.
References BKE_callback_exec_id(), BKE_callback_exec_id_depsgraph(), BKE_CB_EVT_FRAME_CHANGE_POST, BKE_CB_EVT_FRAME_CHANGE_PRE, BKE_image_editors_update_frame(), BKE_scene_frame_get(), BKE_scene_update_sound(), RenderData::cfra, DEG_editors_update(), DEG_evaluate_on_framechange(), DEG_evaluate_on_refresh(), DEG_EVALUATE_SYNC_WRITEBACK_YES, DEG_get_bmain(), DEG_get_input_scene(), DEG_graph_relations_update(), DEG_ids_clear_recalc(), DEG_ids_restore_recalc(), DEG_is_fully_evaluated(), depsgraph, Scene::id, and Scene::r.
Referenced by BKE_scene_graph_update_for_newframe(), engine_depsgraph_init(), and RE_engine_frame_set().
| void BKE_scene_graph_update_tagged | ( | Depsgraph * | depsgraph, |
| Main * | bmain ) |
Definition at line 2621 of file scene.cc.
References depsgraph, and scene_graph_update_tagged().
Referenced by animviz_calc_motionpaths(), blender::ed::object::bake(), BKE_scene_view_layer_graph_evaluated_ensure(), blender::io::AbstractHierarchyIteratorInvisibleTest::depsgraph_create(), BlendfileLoadingBaseTest::depsgraph_create(), blender::ed::sculpt_paint::dyntopo::disable(), blender::ed::object::duplibase_for_convert(), blender::ed::sculpt_paint::dyntopo::enable_ex(), blender::io::alembic::export_startjob(), blender::io::usd::export_startjob(), blender::io::usd::export_to_stage(), blender::ed::object::object_convert_exec(), object_preview_scene_create(), blender::ed::object::vertex_parent_set_exec(), and wm_event_do_depsgraph().
| void BKE_scene_groups_relink | ( | Scene * | sce | ) |
Definition at line 1979 of file scene.cc.
References BKE_rigidbody_world_groups_relink(), and Scene::rigidbody_world.
Definition at line 2206 of file scene.cc.
References BLI_findindex(), and Scene::view_layers.
Referenced by BKE_scene_get_depsgraph(), and scene_get_depsgraph_p().
| void BKE_scene_multiview_filepath_get | ( | const SceneRenderView * | srv, |
| const char * | filepath, | ||
| char * | r_filepath ) |
Definition at line 3108 of file scene.cc.
References BLI_path_suffix(), BLI_strncpy(), FILE_MAX, and SceneRenderView::suffix.
Referenced by RE_RenderAnim().
| bool BKE_scene_multiview_is_render_view_active | ( | const RenderData * | rd, |
| const SceneRenderView * | srv ) |
Return whether to render this SceneRenderView.
Definition at line 2988 of file scene.cc.
References SceneRenderView::name, R_MULTIVIEW, SCE_VIEW_DISABLE, SCE_VIEWS_FORMAT_MULTIVIEW, RenderData::scemode, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, STR_ELEM, SceneRenderView::viewflag, and RenderData::views_format.
Referenced by BKE_scene_multiview_is_render_view_first(), BKE_scene_multiview_is_render_view_last(), BKE_scene_multiview_render_view_findindex(), BKE_scene_multiview_view_id_get(), BKE_scene_multiview_view_prefix_get(), check_valid_camera_multiview(), blender::ed::space_node::compo_startjob(), image_update_views_format(), image_viewer_create_views(), image_views_match_render_views(), blender::nodes::node_composite_file_output_cc::output_paths_layout(), RE_RenderAnim(), render_result_views_new(), and screen_opengl_views_setup().
| bool BKE_scene_multiview_is_render_view_first | ( | const RenderData * | rd, |
| const char * | viewname ) |
Definition at line 3014 of file scene.cc.
References BKE_scene_multiview_is_render_view_active(), LISTBASE_FOREACH, R_MULTIVIEW, RenderData::scemode, STREQ, and RenderData::views.
Referenced by blender::render::Context::viewer_output_to_viewer_image().
| bool BKE_scene_multiview_is_render_view_last | ( | const RenderData * | rd, |
| const char * | viewname ) |
Definition at line 3033 of file scene.cc.
References BKE_scene_multiview_is_render_view_active(), LISTBASE_FOREACH_BACKWARD, R_MULTIVIEW, RenderData::scemode, STREQ, and RenderData::views.
| bool BKE_scene_multiview_is_stereo3d | ( | const RenderData * | rd | ) |
Definition at line 2971 of file scene.cc.
References BLI_findstring(), name, offsetof, R_MULTIVIEW, SCE_VIEW_DISABLE, RenderData::scemode, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, and RenderData::views.
Referenced by BKE_image_ensure_viewer_views(), screen_opengl_views_setup(), and view3d_stereo3d_active().
| int BKE_scene_multiview_num_videos_get | ( | const RenderData * | rd, |
| const ImageFormatData * | imf ) |
Definition at line 3216 of file scene.cc.
References BKE_imtype_is_movie(), BKE_scene_multiview_num_views_get(), ImageFormatData::imtype, R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, RenderData::scemode, and ImageFormatData::views_format.
Referenced by RE_RenderAnim(), and screen_opengl_render_anim_init().
| int BKE_scene_multiview_num_views_get | ( | const RenderData * | rd | ) |
Definition at line 2940 of file scene.cc.
References BLI_findstring(), LISTBASE_FOREACH, name, offsetof, R_MULTIVIEW, SCE_VIEW_DISABLE, SCE_VIEWS_FORMAT_STEREO_3D, RenderData::scemode, STEREO_LEFT_NAME, STEREO_RIGHT_NAME, SceneRenderView::viewflag, RenderData::views, and RenderData::views_format.
Referenced by BKE_scene_multiview_num_videos_get(), do_render_sequencer(), blender::nodes::node_composite_file_output_cc::FileOutputOperation::execute_single_layer(), image_views_match_render_views(), screen_opengl_render_init(), blender::seq::seq_num_files(), blender::seq::seq_proxy_context_count(), blender::seq::seq_render_image_strip(), blender::seq::seq_render_movie_strip(), and blender::seq::seq_render_scene_strip_ex().
| SceneRenderView * BKE_scene_multiview_render_view_findindex | ( | const RenderData * | rd, |
| int | view_id ) |
Definition at line 3052 of file scene.cc.
References BKE_scene_multiview_is_render_view_active(), ListBase::first, SceneRenderView::next, R_MULTIVIEW, RenderData::scemode, and RenderData::views.
Referenced by BKE_scene_multiview_render_view_name_get().
| const char * BKE_scene_multiview_render_view_name_get | ( | const RenderData * | rd, |
| int | view_id ) |
Definition at line 3071 of file scene.cc.
References BKE_scene_multiview_render_view_findindex(), and SceneRenderView::name.
Referenced by BKE_scene_multiview_view_id_suffix_get(), and blender::seq::seq_render_scene_strip_ex().
| void BKE_scene_multiview_videos_dimensions_get | ( | const RenderData * | rd, |
| const ImageFormatData * | imf, | ||
| size_t | width, | ||
| size_t | height, | ||
| size_t * | r_width, | ||
| size_t * | r_height ) |
Definition at line 3195 of file scene.cc.
References Stereo3dFormat::display_mode, Stereo3dFormat::flag, IMB_stereo3d_write_dimensions(), R_IMF_VIEWS_STEREO_3D, R_MULTIVIEW, S3D_SQUEEZED_FRAME, RenderData::scemode, ImageFormatData::stereo3d_format, and ImageFormatData::views_format.
Referenced by get_videos_dimensions(), and screen_opengl_render_anim_init().
| void BKE_scene_multiview_view_filepath_get | ( | const RenderData * | rd, |
| const char * | filepath, | ||
| const char * | view, | ||
| char * | r_filepath ) |
When multi-view is not used the filepath is as usual (e.g., Image.jpg). When multi-view is on, even if only one view is enabled the view is incorporated into the file name (e.g., Image_L.jpg). That allows for the user to re-render individual views.
Definition at line 3116 of file scene.cc.
References BLI_findstring(), BLI_path_suffix(), BLI_strncpy(), FILE_MAX, name, offsetof, STRNCPY(), SceneRenderView::suffix, and RenderData::views.
Referenced by BKE_image_render_write(), and image_save_single().
| int BKE_scene_multiview_view_id_get | ( | const RenderData * | rd, |
| const char * | viewname ) |
Definition at line 3082 of file scene.cc.
References BKE_scene_multiview_is_render_view_active(), ListBase::first, SceneRenderView::name, SceneRenderView::next, R_MULTIVIEW, RenderData::scemode, STREQ, and RenderData::views.
Referenced by BKE_image_acquire_multilayer_view_ibuf(), image_buffer_rect_update(), RE_ResultGet32(), blender::ed::vse::sequencer_ibuf_get(), and blender::render::Context::viewer_output_to_viewer_image().
| const char * BKE_scene_multiview_view_id_suffix_get | ( | const RenderData * | rd, |
| int | view_id ) |
Definition at line 3154 of file scene.cc.
References BKE_scene_multiview_render_view_name_get(), BKE_scene_multiview_view_suffix_get(), R_MULTIVIEW, and RenderData::scemode.
Referenced by blender::seq::open_anim_file_multiview(), RE_RenderAnim(), RE_WriteRenderViewsMovie(), screen_opengl_render_anim_init(), blender::seq::seq_anim_add_suffix(), and blender::seq::seq_multiview_name().
| void BKE_scene_multiview_view_prefix_get | ( | Scene * | scene, |
| const char * | filepath, | ||
| char * | r_prefix, | ||
| const char ** | r_ext ) |
Definition at line 3164 of file scene.cc.
References BKE_scene_multiview_is_render_view_active(), BLI_assert, BLI_str_rpartition(), BLI_strncpy(), LISTBASE_FOREACH, Scene::r, STREQLEN, and RenderData::views.
Referenced by blender::seq::add_movie_strip(), blender::seq::add_reload_new_file(), image_update_views_format(), blender::seq::open_anim_file_multiview(), blender::seq::seq_image_strip_is_multiview_render(), blender::seq::seq_proxy_multiview_context_invalid(), and blender::seq::seq_render_image_strip_view().
| const char * BKE_scene_multiview_view_suffix_get | ( | const RenderData * | rd, |
| const char * | viewname ) |
Definition at line 3137 of file scene.cc.
References BLI_findstring(), name, offsetof, SceneRenderView::suffix, and RenderData::views.
Referenced by BKE_camera_multiview_render(), BKE_scene_multiview_view_id_suffix_get(), and blender::nodes::node_composite_file_output_cc::compute_image_path().
| int BKE_scene_num_threads | ( | const Scene * | scene | ) |
Definition at line 2910 of file scene.cc.
References BKE_render_num_threads(), and Scene::r.
Referenced by proj_paint_state_thread_init(), sb_cf_threads_run(), and sb_sfesf_threads_run().
| void BKE_scene_object_base_flag_sync_from_base | ( | Base * | base | ) |
Synchronize object base flags
This is usually handled by the depsgraph. However, in rare occasions we need to use the latest object flags before depsgraph is fully updated.
It should (ideally) only run for copy-on-written objects since this is runtime data generated per-view-layer.
Definition at line 2858 of file scene.cc.
References Object::base_flag, Base::flag, and Base::object.
Referenced by blender::ed::object::base_select(), BKE_scene_base_flag_to_objects(), BKE_scene_set_background(), loose_data_instantiate_collection_process(), loose_data_instantiate_object_base_instance_init(), blender::ed::object::make_object_duplilist_real(), and blender::ed::object::object_hide_view_clear_exec().
Check if there is any instance of the object in the scene.
Definition at line 2010 of file scene.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), BLI_findptr(), LISTBASE_FOREACH, offsetof, and Scene::view_layers.
Definition at line 2021 of file scene.cc.
References BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), LISTBASE_FOREACH, name, STREQ, and Scene::view_layers.
Referenced by camera_multiview_advanced().
| int BKE_scene_orientation_get_index | ( | Scene * | scene, |
| int | slot_index ) |
Definition at line 2439 of file scene.cc.
References BKE_scene_orientation_slot_get(), and BKE_scene_orientation_slot_get_index().
Referenced by blender::ed::transform::calc_gizmo_stats(), blender::ed::transform::calc_orientation_from_type(), blender::ed::transform::gizmo_mesh_extrude_refresh(), knife_constrain_axis(), v3d_cursor_snap_update(), and view3d_ruler_item_mousemove().
| int BKE_scene_orientation_get_index_from_flag | ( | Scene * | scene, |
| int | flag ) |
Definition at line 2445 of file scene.cc.
References BKE_scene_orientation_slot_get_from_flag(), BKE_scene_orientation_slot_get_index(), and flag.
Referenced by blender::ed::transform::WIDGETGROUP_gizmo_refresh(), and blender::ed::transform::WIDGETGROUP_xform_cage_refresh().
| TransformOrientationSlot * BKE_scene_orientation_slot_get | ( | Scene * | scene, |
| int | slot_index ) |
Definition at line 2400 of file scene.cc.
References TransformOrientationSlot::flag, Scene::orientation_slots, SCE_ORIENT_DEFAULT, and SELECT.
Referenced by BKE_scene_orientation_get_index(), BKE_scene_orientation_slot_get_from_flag(), gizmo_mesh_spin_init_draw_prepare(), blender::ed::transform::WIDGETGROUP_xform_cage_draw_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_draw_prepare().
| TransformOrientationSlot * BKE_scene_orientation_slot_get_from_flag | ( | Scene * | scene, |
| int | flag ) |
Definition at line 2408 of file scene.cc.
References BKE_scene_orientation_slot_get(), BLI_assert, flag, SCE_ORIENT_DEFAULT, SCE_ORIENT_ROTATE, SCE_ORIENT_SCALE, SCE_ORIENT_TRANSLATE, V3D_GIZMO_SHOW_OBJECT_ROTATE, V3D_GIZMO_SHOW_OBJECT_SCALE, and V3D_GIZMO_SHOW_OBJECT_TRANSLATE.
Referenced by BKE_scene_orientation_get_index_from_flag(), blender::ed::transform::gizmo_xform_message_subscribe(), blender::ed::transform::WIDGETGROUP_gizmo_draw_prepare(), blender::ed::transform::WIDGETGROUP_gizmo_invoke_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_refresh().
| int BKE_scene_orientation_slot_get_index | ( | const TransformOrientationSlot * | orient_slot | ) |
Definition at line 2432 of file scene.cc.
References TransformOrientationSlot::index_custom, TransformOrientationSlot::type, and V3D_ORIENT_CUSTOM.
Referenced by BKE_scene_orientation_get_index(), BKE_scene_orientation_get_index_from_flag(), blender::ed::transform::WIDGETGROUP_gizmo_invoke_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_refresh().
| void BKE_scene_orientation_slot_set_index | ( | TransformOrientationSlot * | orient_slot, |
| int | orientation ) |
Activate a transform orientation in a 3D view based on an enum value.
| orientation | If this is V3D_ORIENT_CUSTOM or greater, the custom transform orientation with index orientation - V3D_ORIENT_CUSTOM gets activated. |
Definition at line 2425 of file scene.cc.
References TransformOrientationSlot::index_custom, TransformOrientationSlot::type, and V3D_ORIENT_CUSTOM.
Referenced by blender::ed::transform::select_orientation_exec().
| void BKE_scene_ppm_get | ( | const RenderData * | rd, |
| double | r_ppm[2] ) |
Calculate the final pixels-per-meter, from the scenes PPM & aspect data.
Definition at line 3234 of file scene.cc.
References RenderData::ppm_base, RenderData::ppm_factor, UNLIKELY, RenderData::xasp, and RenderData::yasp.
Referenced by image_save_single(), RE_InitState(), render_result_from_bake(), render_result_new(), and blender::compositor::FileOutput::save().
| bool BKE_scene_remove_render_view | ( | Scene * | scene, |
| SceneRenderView * | srv ) |
Definition at line 2731 of file scene.cc.
References RenderData::actview, BLI_findindex(), BLI_remlink(), ListBase::first, ListBase::last, MEM_freeN(), Scene::r, and RenderData::views.
Referenced by render_view_remove_exec().
Definition at line 2336 of file scene.cc.
References BKE_rigidbody_remove_constraint(), BKE_rigidbody_remove_object(), Object::rigidbody_constraint, and Object::rigidbody_object.
Referenced by scene_collections_object_remove().
Sets the active scene, mainly used when running in background mode (--scene command line argument). This is also called to set the scene directly, bypassing windowing code. Otherwise WM_window_set_active_scene is used when changing scenes by the user.
Definition at line 2034 of file scene.cc.
References BKE_scene_object_base_flag_sync_from_base(), BKE_scene_validate_setscene(), BKE_view_layer_object_bases_get(), BKE_view_layer_synced_ensure(), LISTBASE_FOREACH, Main::objects, SELECT, and Scene::view_layers.
Referenced by BKE_scene_set_name(), Freestyle::BlenderStrokeRenderer::BlenderStrokeRenderer(), ED_scene_change_update(), and setup_app_data().
Called from creator_args.cc.
Definition at line 2056 of file scene.cc.
References BKE_libblock_find_name(), BKE_main_blendfile_path(), BKE_scene_set_background(), ID_SCE, name, and printf.
Referenced by arg_handle_scene_set().
| TransformOrientation * BKE_scene_transform_orientation_find | ( | const Scene * | scene, |
| int | index ) |
Definition at line 3525 of file scene.cc.
References BLI_findlink(), and Scene::transform_spaces.
Referenced by blender::ed::transform::BIF_removeTransformOrientationIndex(), blender::ed::transform::calc_orientation_from_type_ex(), and blender::ed::transform::transform_orientations_spacename_get().
| int BKE_scene_transform_orientation_get_index | ( | const Scene * | scene, |
| const TransformOrientation * | orientation ) |
Definition at line 3530 of file scene.cc.
References BLI_findindex(), and Scene::transform_spaces.
Referenced by blender::ed::transform::BIF_selectTransformOrientation(), and BKE_scene_transform_orientation_remove().
| void BKE_scene_transform_orientation_remove | ( | Scene * | scene, |
| TransformOrientation * | orientation ) |
Definition at line 3505 of file scene.cc.
References ARRAY_SIZE, BKE_scene_transform_orientation_get_index(), BLI_assert, BLI_freelinkN(), i, TransformOrientationSlot::index_custom, Scene::orientation_slots, Scene::transform_spaces, TransformOrientationSlot::type, V3D_ORIENT_CUSTOM, and V3D_ORIENT_GLOBAL.
Referenced by blender::ed::transform::BIF_removeTransformOrientation().
Definition at line 3439 of file scene.cc.
References BLI_ghash_insert(), BLI_ghash_lookup_p(), BLI_ghash_new(), BLI_ghashutil_strcmp(), BLI_ghashutil_strhash_p(), depsgraph, LISTBASE_FOREACH, scene_undo_depsgraph_gen_key(), Main::scenes, and DepsgraphKey::view_layer.
Referenced by memfile_undosys_step_decode().
Definition at line 3468 of file scene.cc.
References BLI_assert, BLI_ghash_free(), BLI_ghash_lookup_p(), DEG_graph_replace_owners(), DEG_graph_tag_relations_update(), depsgraph, depsgraph_key_value_free(), FILE_MAX, LISTBASE_FOREACH, MAX_ID_NAME, MAX_NAME, MEM_freeN(), scene_get_depsgraph_p(), scene_undo_depsgraph_gen_key(), and Main::scenes.
Referenced by memfile_undosys_step_decode().
| void BKE_scene_update_sound | ( | Depsgraph * | depsgraph, |
| Main * | bmain ) |
Definition at line 2511 of file scene.cc.
References Scene::audio, AUDIO_MUTE, BKE_sound_ensure_scene(), BKE_sound_mute_scene(), BKE_sound_seek_scene(), BKE_sound_set_scene_volume(), BKE_sound_update_fps(), BKE_sound_update_scene(), BKE_sound_update_scene_listener(), DAG_EVAL_VIEWPORT, DEG_get_evaluated_scene(), DEG_get_mode(), depsgraph, AudioData::flag, Scene::id, ID_RECALC_AUDIO_FPS, ID_RECALC_AUDIO_LISTENER, ID_RECALC_AUDIO_MUTE, ID_RECALC_AUDIO_VOLUME, ID_RECALC_FRAME_CHANGE, ID::recalc, and AudioData::volume.
Referenced by BKE_scene_graph_update_for_newframe_ex(), render_update_depsgraph(), and scene_graph_update_tagged().
| void BKE_scene_update_tag_audio_volume | ( | Depsgraph * | , |
| Scene * | scene ) |
Definition at line 2536 of file scene.cc.
References BLI_assert, DEG_is_evaluated(), Scene::id, ID_RECALC_AUDIO_VOLUME, and ID::recalc.
| bool BKE_scene_use_shading_nodes_custom | ( | Scene * | scene | ) |
Definition at line 2812 of file scene.cc.
References RenderData::engine, RenderEngineType::flag, Scene::r, RE_engines_find(), and RE_USE_SHADING_NODES_CUSTOM.
Referenced by shader_tree_poll().
| bool BKE_scene_use_spherical_stereo | ( | Scene * | scene | ) |
Definition at line 2818 of file scene.cc.
References RenderData::engine, RenderEngineType::flag, Scene::r, RE_engines_find(), and RE_USE_SPHERICAL_STEREO.
| bool BKE_scene_uses_blender_eevee | ( | const Scene * | scene | ) |
Definition at line 2824 of file scene.cc.
References RenderData::engine, Scene::r, RE_engine_id_BLENDER_EEVEE, and STREQ.
Referenced by BKE_scene_uses_shader_previews(), ED_view3d_draw_offscreen_imbuf_simple(), blender::nodes::node_shader_tex_sky_cc::node_shader_buts_tex_sky(), and uiTemplatePreview().
| bool BKE_scene_uses_blender_workbench | ( | const Scene * | scene | ) |
Definition at line 2829 of file scene.cc.
References RenderData::engine, Scene::r, RE_engine_id_BLENDER_WORKBENCH, and STREQ.
Referenced by blender::draw::overlay::Paints::begin_sync(), blender::draw::color_management::drw_color_management_type_for_v3d(), ED_view3d_draw_offscreen_imbuf_simple(), ED_view3d_has_workbench_in_texture_color(), blender::draw::foreach_obref_in_scene(), blender::draw::overlay::Instance::init(), and blender::ed::transform::snap_use_backface_culling().
| bool BKE_scene_uses_cycles | ( | const Scene * | scene | ) |
Definition at line 2834 of file scene.cc.
References RenderData::engine, Scene::r, RE_engine_id_CYCLES, and STREQ.
Referenced by BKE_scene_uses_shader_previews().
| bool BKE_scene_uses_shader_previews | ( | const Scene * | scene | ) |
Definition at line 2839 of file scene.cc.
References BKE_scene_uses_blender_eevee(), and BKE_scene_uses_cycles().
Referenced by blender::ed::space_node::draw_nodetree().
Checks for cycle, returns true if it's all OK.
Definition at line 2348 of file scene.cc.
References BLI_listbase_count(), Main::scenes, and Scene::set.
Referenced by BKE_scene_set_background().
| void BKE_scene_view_layer_graph_evaluated_ensure | ( | Main * | bmain, |
| Scene * | scene, | ||
| ViewLayer * | view_layer ) |
Ensures given scene/view_layer pair has a valid, up-to-date depsgraph.
Definition at line 2705 of file scene.cc.
References BKE_scene_ensure_depsgraph(), BKE_scene_graph_update_tagged(), DEG_make_active(), and depsgraph.
| ToolSettings * BKE_toolsettings_copy | ( | ToolSettings * | toolsettings, |
| int | flag ) |
| flag | copying options (see BKE_lib_id.hh's LIB_ID_COPY_... flags for more). |
Definition at line 1611 of file scene.cc.
References Sculpt::automasking_cavity_curve, Sculpt::automasking_cavity_curve_op, BKE_curvemapping_copy(), BKE_curvemapping_init(), BKE_curveprofile_copy(), BKE_paint_copy(), GP_Sculpt_Settings::cur_falloff, GP_Sculpt_Settings::cur_primitive, UvSculpt::curve_distance_falloff, ToolSettings::curves_sculpt, ToolSettings::custom_bevel_profile_preset, GP_Interpolate_Settings::custom_ipo, flag, ToolSettings::gp_interpolate, ToolSettings::gp_paint, ToolSettings::gp_sculpt, ToolSettings::gp_sculptpaint, ToolSettings::gp_vertexpaint, ToolSettings::gp_weightpaint, ToolSettings::imapaint, MEM_dupallocN(), ParticleEditSettings::object, CurvesSculpt::paint, GpPaint::paint, GpSculptPaint::paint, GpVertexPaint::paint, GpWeightPaint::paint, ImagePaintSettings::paint, Sculpt::paint, VPaint::paint, ParticleEditSettings::paintcursor, ToolSettings::particle, ParticleEditSettings::scene, ToolSettings::sculpt, ToolSettings::sequencer_tool_settings, blender::seq::tool_settings_copy(), ToolSettings::uvsculpt, ToolSettings::vpaint, and ToolSettings::wpaint.
Referenced by BKE_scene_duplicate(), and scene_copy_data().
| void BKE_toolsettings_free | ( | ToolSettings * | toolsettings | ) |
Definition at line 1694 of file scene.cc.
References Sculpt::automasking_cavity_curve, Sculpt::automasking_cavity_curve_op, BKE_curvemapping_free(), BKE_curveprofile_free(), BKE_paint_free(), GP_Sculpt_Settings::cur_falloff, GP_Sculpt_Settings::cur_primitive, UvSculpt::curve_distance_falloff, ToolSettings::curves_sculpt, ToolSettings::custom_bevel_profile_preset, GP_Interpolate_Settings::custom_ipo, ToolSettings::gp_interpolate, ToolSettings::gp_paint, ToolSettings::gp_sculpt, ToolSettings::gp_sculptpaint, ToolSettings::gp_vertexpaint, ToolSettings::gp_weightpaint, ToolSettings::imapaint, MEM_freeN(), CurvesSculpt::paint, GpPaint::paint, GpSculptPaint::paint, GpVertexPaint::paint, GpWeightPaint::paint, ImagePaintSettings::paint, Sculpt::paint, VPaint::paint, ToolSettings::sculpt, ToolSettings::sequencer_tool_settings, blender::seq::tool_settings_free(), ToolSettings::uvsculpt, ToolSettings::vpaint, and ToolSettings::wpaint.
Referenced by BKE_scene_duplicate(), and scene_free_data().
| int get_render_child_particle_number | ( | const RenderData * | r, |
| int | child_num, | ||
| bool | for_render ) |
Definition at line 2766 of file scene.cc.
References RenderData::mode, R_SIMPLIFY, RenderData::simplify_particles, and RenderData::simplify_particles_render.
Referenced by psys_get_child_number().
| int get_render_subsurf_level | ( | const RenderData * | r, |
| int | lvl, | ||
| bool | for_render ) |
Definition at line 2753 of file scene.cc.
References min_ii(), RenderData::mode, R_SIMPLIFY, RenderData::simplify_subsurf, and RenderData::simplify_subsurf_render.
Referenced by is_disabled(), multires_get_level(), and subdiv_levels_for_modifier_get().