|
Blender
V2.93
|
#include "DNA_screen_types.h"#include "UI_resources.h"#include "DRW_engine.h"#include "DRW_select_buffer.h"#include "draw_cache_impl.h"#include "draw_manager.h"#include "select_engine.h"#include "select_private.h"Go to the source code of this file.
Macros | |
| #define | SELECT_ENGINE "SELECT_ENGINE" |
Functions | |
Utils | |
| static void | select_engine_framebuffer_setup (void) |
Engine Functions | |
| static void | select_engine_init (void *vedata) |
| static void | select_cache_init (void *vedata) |
| static void | select_cache_populate (void *vedata, Object *ob) |
| static void | select_draw_scene (void *vedata) |
| static void | select_engine_free (void) |
Exposed <tt>select_private.h</tt> functions | |
| struct SELECTID_Context * | DRW_select_engine_context_get (void) |
| GPUFrameBuffer * | DRW_engine_select_framebuffer_get (void) |
| GPUTexture * | DRW_engine_select_texture_get (void) |
Variables | |
| struct { | |
| struct GPUFrameBuffer * framebuffer_select_id | |
| struct GPUTexture * texture_u32 | |
| SELECTID_Shaders sh_data [GPU_SHADER_CFG_LEN] | |
| struct SELECTID_Context context | |
| uint runtime_new_objects | |
| } | e_data = {NULL} |
| char | datatoc_common_view_lib_glsl [] |
| char | datatoc_selection_id_3D_vert_glsl [] |
| char | datatoc_selection_id_frag_glsl [] |
Engine Type | |
| static const DrawEngineDataSize | select_data_size = DRW_VIEWPORT_DATA_SIZE(SELECTID_Data) |
| DrawEngineType | draw_engine_select_type |
| RenderEngineType | DRW_engine_viewport_select_type |
Engine for drawing a selection map where the pixels indicate the selection indices.
Definition in file select_engine.c.
| #define SELECT_ENGINE "SELECT_ENGINE" |
Definition at line 38 of file select_engine.c.
| GPUFrameBuffer* DRW_engine_select_framebuffer_get | ( | void | ) |
Definition at line 406 of file select_engine.c.
References e_data.
Referenced by DRW_select_buffer_read().
| GPUTexture* DRW_engine_select_texture_get | ( | void | ) |
Definition at line 411 of file select_engine.c.
References e_data.
Referenced by DRW_select_buffer_read().
| struct SELECTID_Context* DRW_select_engine_context_get | ( | void | ) |
Definition at line 401 of file select_engine.c.
References e_data.
Referenced by DRW_draw_select_id(), DRW_select_buffer_bitmap_from_circle(), DRW_select_buffer_bitmap_from_poly(), DRW_select_buffer_bitmap_from_rect(), DRW_select_buffer_context_create(), DRW_select_buffer_context_offset_for_object_elem(), DRW_select_buffer_elem_get(), and DRW_select_buffer_read().
|
static |
Definition at line 156 of file select_engine.c.
References BLI_assert, DRW_Global::block, compare_m4m4(), copy_m4_m4(), data, SELECTID_PassList::depth_only_pass, draw_engine_select_type, DRW_context_state_get(), DRW_drawdata_get(), DRW_PASS_CREATE, DRW_shgroup_create(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_int_copy(), DRW_STATE_CLIP_PLANES, DRW_STATE_DEFAULT, DRW_STATE_FIRST_VERTEX_CONVENTION, e_data, float(), SELECTID_StorageList::g_data, G_draw, GPU_framebuffer_bind(), ID_RECALC_TRANSFORM, DRWContextState::obact, SELECTID_Context::persmat, RegionView3D::persmat, DRWContextState::rv3d, RV3D_CLIPPING_ENABLED, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, DRWContextState::scene, select_engine_framebuffer_setup(), SELECTID_PassList::select_id_edge_pass, SELECTID_PassList::select_id_face_pass, SELECTID_Shaders::select_id_flat, select_id_get_object_select_mode(), SELECTID_Shaders::select_id_uniform, SELECTID_PassList::select_id_vert_pass, DRWContextState::sh_cfg, SELECTID_PrivateData::shgrp_depth_only, SELECTID_PrivateData::shgrp_edge, SELECTID_PrivateData::shgrp_face_flat, SELECTID_PrivateData::shgrp_face_unif, SELECTID_PrivateData::shgrp_vert, GlobalsUboStorage::sizeVertex, state, and DRWContextState::v3d.
|
static |
Definition at line 228 of file select_engine.c.
References Object::data, SELECTID_ObjectData::dd, draw_engine_select_type, SELECTID_ObjectData::drawn_index, DRW_context_state_get(), DRW_culling_min_max_test(), DRW_drawdata_ensure(), DRW_drawdata_get(), DRW_mesh_batch_cache_get_edges_with_select_id(), DRW_mesh_batch_cache_get_surface(), DRW_mesh_batch_cache_get_triangles_with_select_id(), DRW_mesh_batch_cache_get_verts_with_select_id(), DRW_shgroup_call_obmat, Object::dt, e_data, ObjectOffsets::edge, ObjectOffsets::face, SELECTID_StorageList::g_data, GPUBatch, Object::id, SELECTID_ObjectData::is_drawn, max, min, NULL, OB_SOLID, Object::obmat, ObjectOffsets::offset, DrawData::recalc, SCE_SELECT_EDGE, SCE_SELECT_FACE, SCE_SELECT_VERTEX, select_id_draw_object(), select_id_object_min_max(), SELECTID_PrivateData::shgrp_depth_only, DRWContextState::v3d, ObjectOffsets::vert, and SELECTID_PrivateData::view_subregion.
|
static |
Definition at line 301 of file select_engine.c.
References DefaultFramebufferList::depth_only_fb, SELECTID_PassList::depth_only_pass, DRW_draw_pass(), DRW_pass_is_empty(), DRW_view_set_active(), DRW_viewport_framebuffer_list_get(), e_data, SELECTID_StorageList::g_data, GPU_framebuffer_bind(), SCE_SELECT_EDGE, SCE_SELECT_VERTEX, SELECTID_PassList::select_id_edge_pass, SELECTID_PassList::select_id_face_pass, SELECTID_PassList::select_id_vert_pass, SELECTID_PrivateData::view_edges, SELECTID_PrivateData::view_faces, and SELECTID_PrivateData::view_verts.
|
static |
Definition at line 60 of file select_engine.c.
References DefaultTextureList::depth, DRW_viewport_texture_list_get(), e_data, GPU_framebuffer_check_valid(), GPU_framebuffer_create(), GPU_framebuffer_texture_attach(), GPU_R32UI, GPU_texture_create_2d(), GPU_texture_free(), GPU_texture_height(), GPU_texture_width(), NULL, and size().
Referenced by select_cache_init().
|
static |
Definition at line 336 of file select_engine.c.
References ARRAY_SIZE, DRW_SHADER_FREE_SAFE, DRW_TEXTURE_FREE_SAFE, e_data, GPU_FRAMEBUFFER_FREE_SAFE, MEM_SAFE_FREE, SELECTID_Shaders::select_id_flat, SELECTID_Shaders::select_id_uniform, and sh_data.
|
static |
Definition at line 96 of file select_engine.c.
References datatoc_common_view_lib_glsl, datatoc_selection_id_3D_vert_glsl, datatoc_selection_id_frag_glsl, GPUShaderConfigData::def, DRW_context_state_get(), DRW_view_create(), DRW_view_create_with_zoffset(), DRW_view_default_get(), DRW_view_viewmat_get(), DRW_view_winmat_get(), e_data, SELECTID_StorageList::g_data, GPU_shader_cfg_data, GPU_shader_create_from_arrays, GPUShaderConfigData::lib, MEM_mallocN, NULL, projmat_from_subregion(), DRWContextState::region, DRWContextState::rv3d, SELECTID_Shaders::select_id_flat, SELECTID_Shaders::select_id_uniform, DRWContextState::sh_cfg, sh_data, SELECTID_PrivateData::view_edges, SELECTID_PrivateData::view_faces, SELECTID_PrivateData::view_subregion, SELECTID_PrivateData::view_verts, ARegion::winx, and ARegion::winy.
| struct SELECTID_Context context |
Definition at line 46 of file select_engine.c.
Referenced by blender::nodes::MFNetworkTreeMap::add(), blender::fn::MFContextBuilder::add_global_context(), blender::nodes::MFNetworkTreeMap::add_try_match(), autotrack_context_init_autotrack(), autotrack_context_init_clips(), autotrack_context_init_image_accessor(), autotrack_context_init_markers(), autotrack_context_init_tracks(), autotrack_context_init_tracks_for_clip(), autotrack_context_step_cb(), autotrack_count_all_usable_markers(), autotrack_count_trackable_markers(), autotrack_is_track_trackable(), BKE_animsys_nla_remap_keyframe_values(), BKE_autotrack_context_finish(), BKE_autotrack_context_free(), BKE_autotrack_context_new(), BKE_autotrack_context_step(), BKE_autotrack_context_sync(), BKE_autotrack_context_sync_user(), BKE_blender_user_menu_ensure(), BKE_blender_user_menu_find(), BKE_node_tree_ui_storage_get_from_context(), BKE_nodetree_attribute_hint_add(), BKE_nodetree_error_message_add(), BKE_nodetree_ui_storage_free_for_context(), BKE_screen_area_blend_read_lib(), BKE_screen_foreach_id_screen_area(), BKE_subdiv_foreach_subdiv_geometry(), BKE_tracking_reconstruction_context_free(), BKE_tracking_reconstruction_context_new(), BKE_tracking_reconstruction_error_message_get(), BKE_tracking_reconstruction_finish(), BKE_tracking_reconstruction_report_error_message(), BKE_tracking_reconstruction_solve(), BLI_windows_system_backtrace_run_trace(), bli_windows_system_backtrace_stack_thread(), ObjectSocketMultiFunction::call(), blender::fn::MFNetworkEvaluator::call(), blender::io::AbstractHierarchyWriter::check_has_deforming_physics(), blender::io::AbstractHierarchyWriter::check_has_physics(), blender::io::AbstractHierarchyWriter::check_is_animated(), blender::io::alembic::ABCNurbsWriter::check_is_animated(), blender::io::alembic::ABCTransformWriter::check_is_animated(), blender::io::usd::USDTransformWriter::check_is_animated(), blender::fn::mf_network_optimization::compute_constant_sockets_and_add_folded_nodes(), blender::io::alembic::ABCCurveWriter::create_alembic_objects(), blender::io::alembic::ABCInstanceWriter::create_alembic_objects(), blender::io::alembic::ABCGenericMeshWriter::create_alembic_objects(), blender::io::alembic::ABCNurbsWriter::create_alembic_objects(), blender::io::alembic::ABCHierarchyIterator::create_data_writer(), blender::io::usd::USDHierarchyIterator::create_data_writer(), blender::io::alembic::ABCHierarchyIterator::create_hair_writer(), blender::io::usd::USDHierarchyIterator::create_hair_writer(), blender::io::alembic::ABCHierarchyIterator::create_particle_writer(), blender::io::alembic::ABCHierarchyIterator::create_transform_writer(), blender::io::usd::USDHierarchyIterator::create_transform_writer(), GHOST_SystemCocoa::createOffscreenContext(), GHOST_SystemSDL::createOffscreenContext(), GHOST_SystemWin32::createOffscreenContext(), GHOST_SystemX11::createOffscreenContext(), GHOST_SystemWayland::createOffscreenContext(), GHOST_SystemWin32::createOffscreenContextD3D(), CTX_store_add_all(), blender::io::AbstractHierarchyIterator::determine_graph_index_dupli(), blender::io::alembic::ABCHierarchyIterator::determine_graph_index_dupli(), blender::io::AbstractHierarchyIterator::determine_graph_index_object(), blender::io::alembic::ABCHierarchyIterator::determine_graph_index_object(), direct_link_area(), GHOST_SystemCocoa::disposeContext(), GHOST_SystemSDL::disposeContext(), GHOST_SystemWin32::disposeContext(), GHOST_SystemX11::disposeContext(), GHOST_SystemWayland::disposeContext(), GHOST_SystemWin32::disposeContextD3D(), do_add_effect(), do_adjustment(), do_adjustment_impl(), do_alphaover_effect(), do_alphaunder_effect(), do_blend_mode_effect(), do_colormix_effect(), do_cross_effect(), do_gammacross_effect(), do_gaussian_blur_effect(), do_gaussian_blur_effect_x_cb(), do_gaussian_blur_effect_y_cb(), do_glow_effect(), do_mul_effect(), do_multicam(), do_overdrop_effect(), do_render_sequencer(), do_render_strip_seqbase(), do_render_strip_uncached(), do_solid_color(), do_speed_effect(), do_sub_effect(), do_text_effect(), do_transform_effect(), do_wipe_effect(), blender::io::alembic::ABCCameraWriter::do_write(), blender::io::alembic::ABCCurveWriter::do_write(), blender::io::alembic::ABCHairWriter::do_write(), blender::io::alembic::ABCGenericMeshWriter::do_write(), blender::io::alembic::ABCNurbsWriter::do_write(), blender::io::alembic::ABCPointsWriter::do_write(), blender::io::alembic::ABCTransformWriter::do_write(), blender::io::usd::USDCameraWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), BVHNode::dump_graph(), ED_buttons_set_context(), ED_screen_user_menu_ensure(), ED_screen_user_menus_find(), ED_spreadsheet_context_free(), ED_spreadsheet_context_path_clear(), ED_spreadsheet_context_path_hash(), ED_spreadsheet_set_geometry_node_context(), blender::io::alembic::ABCAbstractWriter::ensure_custom_properties_exporter(), blender::nodes::GeoNodeExecParams::error_message_add(), followtrack_context_init(), followtrack_distance_from_viewplane_get(), followtrack_evaluate(), followtrack_evaluate_using_2d_position(), followtrack_evaluate_using_3d_position(), followtrack_evaluate_using_3d_position_camera(), followtrack_evaluate_using_3d_position_object(), followtrack_fit_frame(), followtrack_project_to_depth_object_if_needed(), followtrack_undistort_if_needed(), blender::io::ObjectIdentifier::for_hierarchy_context(), gammacross_init_execution(), blender::nodes::get_dot_cluster_for_context(), blender::fn::MFContext::get_global_context(), blender::io::alembic::ABCAbstractWriter::get_id_properties(), blender::io::alembic::ABCTransformWriter::get_id_properties(), blender::io::AbstractHierarchyIterator::get_object_data_path(), get_sequence_effect_impl(), GHOST_SystemX11::getClipboard(), GHOST_SystemX11::getClipboard_xcout(), GHOST_ActivateOpenGLContext(), GHOST_DisposeOpenGLContext(), GHOST_GetContextDefaultOpenGLFramebuffer(), GHOST_ReleaseOpenGLContext(), GHOST_XrGraphicsBindingCreateFromType(), blender::io::AbstractHierarchyIterator::graph_children(), group_initexec(), icon_merge(), icon_merge_context_free(), icon_merge_context_info_for_icon_head(), icon_merge_context_init(), icon_merge_context_register_icon(), icondir_to_png(), IMB_anim_index_rebuild(), IMB_anim_index_rebuild_context(), IMB_anim_index_rebuild_finish(), input_preprocess(), blender::io::alembic::ABCCameraWriter::is_supported(), blender::io::alembic::ABCInstanceWriter::is_supported(), blender::io::alembic::ABCMetaballWriter::is_supported(), blender::io::alembic::ABCGenericMeshWriter::is_supported(), blender::io::alembic::ABCNurbsWriter::is_supported(), blender::io::alembic::ABCPointsWriter::is_supported(), blender::io::usd::USDCameraWriter::is_supported(), blender::io::usd::USDLightWriter::is_supported(), blender::io::usd::USDGenericMeshWriter::is_supported(), blender::io::usd::USDMetaballWriter::is_supported(), lib_link_workspace_layout_restore(), log_ui_hints(), blender::io::usd::USDAbstractWriter::mark_as_instance(), meshdeform_matrix_add_cell(), meshdeform_matrix_add_rhs(), meshdeform_matrix_solve(), mikk_compute_tangents(), mikk_get_normal(), mikk_get_num_faces(), mikk_get_num_verts_of_face(), mikk_get_position(), mikk_get_texture_coordinate(), mikk_set_tangent_space(), modifier_mask_get(), modifier_render_mask_input(), multires_create_grids_in_unsubdivided_base_mesh(), multires_unsubdivide_context_free(), multires_unsubdivide_context_init(), multires_unsubdivide_extract_grids(), multires_unsubdivide_extract_single_grid_from_face_edge(), multires_unsubdivide_prepare_original_bmesh_for_extract(), multires_unsubdivide_private_extract_data_free(), multires_unsubdivide_to_basemesh(), GHOST_WindowCocoa::newDrawingContext(), GHOST_WindowSDL::newDrawingContext(), GHOST_WindowX11::newDrawingContext(), node_ui_storage_ensure(), ntree_exec_begin(), ntreeShaderBeginExecTree(), ntreeShaderBeginExecTree_internal(), ntreeTexBeginExecTree(), ntreeTexBeginExecTree_internal(), outliner_set_properties_tab(), outliner_sync_to_properties_editors(), p_abf_matrix_invert(), p_chart_lscm_load_solution(), p_chart_lscm_solve(), panel_type_context_poll(), prepare_effect_imbufs(), proxy_startjob(), pyop_call(), pyop_poll(), pyrna_struct_driver_add(), pyrna_struct_driver_remove(), reconstruct_retrieve_libmv(), reconstruct_retrieve_libmv_intrinsics(), reconstruct_retrieve_libmv_tracks(), reconstructionOptionsFromContext(), blender::io::remove_weak_subtrees(), reorder_instanced_panel_list(), reportContextString(), reset_tree_ui_storage(), RNA_def_property_translation_context(), RNA_def_struct_translation_context(), screen_opengl_render_apply(), seq_cache_allocate_key(), seq_cache_get(), seq_cache_populate_key(), seq_cache_put(), seq_cache_put_if_possible(), SEQ_can_use_proxy(), seq_input_have_to_preprocess(), SEQ_modifier_apply_stack(), seq_prefetch_get_original_context(), seq_prefetch_start(), seq_prefetch_start_ex(), seq_prefetch_update_context(), seq_proxy_build_frame(), seq_proxy_fetch(), SEQ_proxy_rebuild(), SEQ_proxy_rebuild_context(), SEQ_proxy_rebuild_finish(), seq_render_effect_execute_threaded(), seq_render_effect_strip_impl(), SEQ_render_give_ibuf(), SEQ_render_give_ibuf_direct(), seq_render_give_ibuf_seqbase(), seq_render_image_strip(), seq_render_image_strip_view(), seq_render_mask(), seq_render_mask_strip(), seq_render_movie_strip(), seq_render_movie_strip_custom_file_proxy(), seq_render_movie_strip_view(), seq_render_movieclip_strip(), seq_render_preprocess_ibuf(), seq_render_scene_strip(), seq_render_strip(), seq_render_strip_stack(), seq_render_strip_stack_apply_effect(), seq_speed_effect_target_frame_get(), sequencer_ibuf_get(), sequencer_rebuild_proxy_exec(), slice_get_byte_buffers(), slice_get_float_buffers(), blender::ed::spreadsheet::spreadsheet_context_free(), blender::ed::spreadsheet::spreadsheet_context_hash(), blender::ed::spreadsheet::spreadsheet_context_modifier_free(), blender::ed::spreadsheet::spreadsheet_context_modifier_hash(), blender::ed::spreadsheet::spreadsheet_context_modifier_new(), blender::ed::spreadsheet::spreadsheet_context_node_free(), blender::ed::spreadsheet::spreadsheet_context_node_hash(), blender::ed::spreadsheet::spreadsheet_context_node_new(), blender::ed::spreadsheet::spreadsheet_context_object_free(), blender::ed::spreadsheet::spreadsheet_context_object_hash(), blender::ed::spreadsheet::spreadsheet_context_object_new(), spreadsheet_free(), spreadsheet_id_remap(), store_grid_data(), try_get_socket_to_preview_for_spreadsheet(), ui_pie_menu_level_create(), uiItemFullO(), uiItemFullO_ptr(), uiItemFullO_ptr_ex(), uiItemFullOMenuHold_ptr(), uiItemPopoverPanelFromGroup(), uiItemsFullEnumO(), uiItemsFullEnumO_items(), uiLayoutContextCopy(), update_pinned_context_path_if_outdated(), WM_menu_name_call(), WM_opengl_context_activate(), WM_opengl_context_dispose(), WM_opengl_context_release(), wm_operator_call_internal(), WM_operator_call_py(), WM_operator_name_call(), WM_operator_name_call_ptr(), WM_operator_name_call_with_properties(), WM_operator_poll_context(), wm_xr_init(), wm_xr_runtime_data_free(), blender::io::alembic::ABCAbstractWriter::write(), blender::io::usd::USDAbstractWriter::write(), write_area(), blender::io::alembic::ABCAbstractWriter::write_visibility(), and blender::io::usd::USDAbstractWriter::write_visibility().
|
extern |
Definition at line 59 of file intern/ghost/test/multitest/stubs.c.
Referenced by select_engine_init().
|
extern |
Referenced by select_engine_init().
|
extern |
Referenced by select_engine_init().
| DrawEngineType draw_engine_select_type |
Definition at line 359 of file select_engine.c.
Referenced by DRW_draw_select_id(), DRW_engines_register(), DRW_select_buffer_context_offset_for_object_elem(), select_cache_init(), and select_cache_populate().
| RenderEngineType DRW_engine_viewport_select_type |
| struct { ... } e_data |
| struct GPUFrameBuffer* framebuffer_select_id |
Definition at line 43 of file select_engine.c.
| uint runtime_new_objects |
Definition at line 48 of file select_engine.c.
|
static |
Definition at line 357 of file select_engine.c.
| SELECTID_Shaders sh_data[GPU_SHADER_CFG_LEN] |
Definition at line 46 of file select_engine.c.
Referenced by select_engine_free(), and select_engine_init().
| struct GPUTexture* texture_u32 |
Definition at line 44 of file select_engine.c.