|
Blender V5.0
|
#include <overlay_instance.hh>
Inherits DrawEngine.
Inherited by blender::draw::select::Instance.
Classes | |
| struct | OverlayLayer |
Public Member Functions | |
| Instance () | |
| Instance (const SelectionType selection_type) | |
| ~Instance () | |
| blender::StringRefNull | name_get () final |
| void | init () final |
| void | begin_sync () final |
| void | object_sync (ObjectRef &ob_ref, Manager &manager) final |
| void | end_sync () final |
| void | draw (Manager &manager) final |
| Public Member Functions inherited from DrawEngine | |
| virtual | ~DrawEngine ()=default |
Public Attributes | |
| ShapeCache | shapes |
| Resources | resources = {selection_type_, shapes} |
| State | state |
| Background | background |
| ImagePrepass | image_prepass |
| Origins | origins = {selection_type_} |
| Outline | outline |
| MotionPath | motion_paths |
| Cursor | cursor |
| struct blender::draw::overlay::Instance::OverlayLayer | selection_type_ |
| Grid | grid |
| AntiAliasing | anti_aliasing |
| XrayFade | xray_fade |
| Public Attributes inherited from DrawEngine | |
| char | info [GPU_INFO_SIZE] = {'\0'} |
| bool | used = false |
Additional Inherited Members | |
| Static Public Attributes inherited from DrawEngine | |
| static constexpr int | GPU_INFO_SIZE = 512 |
Selection engine reuse most of the Overlay engine by creating selection IDs for each selectable component and using a special shaders for drawing.
Definition at line 57 of file overlay_instance.hh.
|
inline |
Definition at line 115 of file overlay_instance.hh.
|
inline |
Definition at line 116 of file overlay_instance.hh.
|
inline |
Definition at line 117 of file overlay_instance.hh.
References DRW_text_cache_destroy(), and state.
|
finalvirtual |
Scene synchronization. Command buffers building.
Implements DrawEngine.
Definition at line 430 of file overlay_instance.cc.
References anti_aliasing, background, cursor, blender::draw::View::default_get(), DRW_text_cache_create(), DRW_text_cache_destroy(), grid, image_prepass, motion_paths, origins, outline, resources, state, view, and xray_fade.
|
finalvirtual |
Command Submission.
Implements DrawEngine.
Definition at line 703 of file overlay_instance.cc.
References blender::gpu::DebugScope::begin_capture(), BLI_assert_unreachable, blender::draw::View::default_get(), DRW_context_get(), DRW_submission_end(), DRW_submission_start(), blender::gpu::DebugScope::end_capture(), blender::draw::Manager::ensure_visibility(), outline, resources, SPACE_IMAGE, SPACE_NODE, SPACE_VIEW3D, state, and view.
|
finalvirtual |
Implements DrawEngine.
Definition at line 653 of file overlay_instance.cc.
References DefaultTextureList::depth_in_front, DRW_context_get(), GPU_framebuffer_ensure_config, GPU_texture_create_2d(), GPU_TEXTURE_USAGE_GENERAL, DefaultFramebufferList::in_front_fb, origins, resources, size(), state, DRWContext::viewport_framebuffer_list_get(), DRWContext::viewport_size_get(), and DRWContext::viewport_texture_list_get().
|
finalvirtual |
Init engine. Run first and for every redraw.
Implements DrawEngine.
Definition at line 21 of file overlay_instance.cc.
References BKE_render_preview_pixel_size(), BKE_scene_uses_blender_workbench(), BKE_view_layer_active_object_get(), BKE_view_layer_synced_ensure(), CTX_data_mode_enum_ex(), data, DEG_get_ctime(), DRWContext::depsgraph, DRWContext::DEPTH_ACTIVE_OBJECT, DRWContext::draw_background, DRW_context_get(), ED_space_image_get_aspect(), ED_space_image_get_size(), ED_space_image_get_uv_aspect(), ED_view3d_engine_type(), SpaceImageOverlay::flag, View3DOverlay::flag, GPU_DATA_FLOAT, GPU_texture_update_sub(), GPU_TEXTURE_USAGE_SHADER_READ, RenderEngineType::idname, SpaceImage::image, DRWContext::is_depth(), DRWContext::is_image_render(), DRWContext::is_material_select(), DRWContext::is_viewport_image_render(), M_SQRT1_2, DRWContext::mode, OB_MODE_WEIGHT_PAINT, OB_SOLID, OB_WIRE, DRWContext::obact, DRWContext::object_edit, DRWContext::object_mode, DRWContext::object_pose, DRWContext::options, SpaceImage::overlay, View3D::overlay, RE_engine_id_BLENDER_EEVEE, DRWContext::region, resources, DRWContext::rv3d, RV3D_CLIPPING_ENABLED, DRWContext::scene, SHADING_XRAY_FLAG_ENABLED, SI_OVERLAY_SHOW_OVERLAYS, DRWContext::space_data, SPACE_VIEW3D, SpaceLink::spacetype, state, STREQ, DRWContext::v3d, V3D_HIDE_OVERLAYS, V3D_OVERLAY_HIDE_BONES, V3D_OVERLAY_HIDE_MOTION_PATHS, V3D_OVERLAY_HIDE_OBJECT_ORIGINS, V3D_OVERLAY_HIDE_OBJECT_XTRAS, V3D_OVERLAY_HIDE_TEXT, DRWContext::view_layer, DRWContext::VIEWPORT_XR, XRAY_ACTIVE, and XRAY_ALPHA.
|
inlinefinalvirtual |
|
finalvirtual |
Implements DrawEngine.
Definition at line 490 of file overlay_instance.cc.
References blender::draw::overlay::Instance::OverlayLayer::armatures, blender::draw::overlay::Instance::OverlayLayer::attribute_texts, blender::draw::overlay::Instance::OverlayLayer::attribute_viewer, blender::draw::overlay::Instance::OverlayLayer::axes, blender::draw::overlay::Instance::OverlayLayer::bounds, blender::draw::overlay::Instance::OverlayLayer::cameras, blender::draw::overlay::Instance::OverlayLayer::curves, blender::draw::overlay::Armatures::edit_object_sync(), blender::draw::overlay::Curves::edit_object_sync(), blender::draw::overlay::GreasePencil::edit_object_sync(), blender::draw::overlay::Lattices::edit_object_sync(), blender::draw::overlay::Meshes::edit_object_sync(), blender::draw::overlay::MeshUVs::edit_object_sync(), blender::draw::overlay::Metaballs::edit_object_sync(), blender::draw::overlay::Particles::edit_object_sync(), blender::draw::overlay::PointClouds::edit_object_sync(), blender::draw::overlay::Text::edit_object_sync(), blender::draw::overlay::Curves::edit_object_sync_legacy(), blender::draw::overlay::Instance::OverlayLayer::empties, blender::draw::overlay::Instance::OverlayLayer::facing, blender::draw::overlay::Instance::OverlayLayer::fade, blender::draw::overlay::Instance::OverlayLayer::fluids, blender::draw::overlay::Instance::OverlayLayer::force_fields, blender::draw::overlay::Instance::OverlayLayer::grease_pencil, blender::draw::overlay::Instance::OverlayLayer::lattices, blender::draw::overlay::Instance::OverlayLayer::light_probes, blender::draw::overlay::Instance::OverlayLayer::lights, blender::draw::overlay::Instance::OverlayLayer::mesh_uvs, blender::draw::overlay::Instance::OverlayLayer::meshes, blender::draw::overlay::Instance::OverlayLayer::metaballs, Object::mode, blender::draw::overlay::Instance::OverlayLayer::mode_transfer, motion_paths, blender::draw::overlay::Instance::OverlayLayer::names, OB_ARMATURE, OB_CAMERA, OB_CURVES, OB_CURVES_LEGACY, OB_EMPTY, OB_FONT, OB_GREASE_PENCIL, OB_LAMP, OB_LATTICE, OB_LIGHTPROBE, OB_MBALL, OB_MESH, OB_MODE_EDIT, OB_MODE_OBJECT, OB_POINTCLOUD, OB_SPEAKER, OB_SURF, blender::draw::ObjectRef::object, blender::draw::overlay::Armatures::object_sync(), blender::draw::overlay::AttributeTexts::object_sync(), blender::draw::overlay::AttributeViewer::object_sync(), blender::draw::overlay::Axes::object_sync(), blender::draw::overlay::Cameras::object_sync(), blender::draw::overlay::Empties::object_sync(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::Fluids::object_sync(), blender::draw::overlay::ForceFields::object_sync(), blender::draw::overlay::GreasePencil::object_sync(), blender::draw::overlay::Lattices::object_sync(), blender::draw::overlay::LightProbes::object_sync(), blender::draw::overlay::Lights::object_sync(), blender::draw::overlay::MeshUVs::object_sync(), blender::draw::overlay::Metaballs::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::draw::overlay::Names::object_sync(), blender::draw::overlay::Paints::object_sync(), blender::draw::overlay::Particles::object_sync(), blender::draw::overlay::Prepass::object_sync(), blender::draw::overlay::Relations::object_sync(), blender::draw::overlay::Sculpts::object_sync(), blender::draw::overlay::Speakers::object_sync(), blender::draw::overlay::Wireframe::object_sync_ex(), origins, outline, blender::draw::overlay::GreasePencil::paint_object_sync(), blender::draw::overlay::Instance::OverlayLayer::paints, blender::draw::overlay::Instance::OverlayLayer::particles, blender::draw::overlay::Instance::OverlayLayer::pointclouds, blender::draw::overlay::Instance::OverlayLayer::prepass, blender::draw::overlay::Instance::OverlayLayer::relations, resources, blender::draw::overlay::GreasePencil::sculpt_object_sync(), blender::draw::overlay::Instance::OverlayLayer::sculpts, blender::draw::overlay::Instance::OverlayLayer::speakers, state, blender::draw::overlay::Instance::OverlayLayer::text, Object::type, and blender::draw::overlay::Instance::OverlayLayer::wireframe.
| AntiAliasing blender::draw::overlay::Instance::anti_aliasing |
Definition at line 112 of file overlay_instance.hh.
Referenced by begin_sync().
| Background blender::draw::overlay::Instance::background |
| Cursor blender::draw::overlay::Instance::cursor |
Definition at line 74 of file overlay_instance.hh.
Referenced by begin_sync().
| Grid blender::draw::overlay::Instance::grid |
Definition at line 110 of file overlay_instance.hh.
Referenced by begin_sync().
| ImagePrepass blender::draw::overlay::Instance::image_prepass |
Definition at line 70 of file overlay_instance.hh.
Referenced by begin_sync().
| MotionPath blender::draw::overlay::Instance::motion_paths |
Definition at line 73 of file overlay_instance.hh.
Referenced by begin_sync(), and object_sync().
| Origins blender::draw::overlay::Instance::origins = {selection_type_} |
Definition at line 71 of file overlay_instance.hh.
Referenced by begin_sync(), end_sync(), and object_sync().
| Outline blender::draw::overlay::Instance::outline |
Definition at line 72 of file overlay_instance.hh.
Referenced by begin_sync(), draw(), and object_sync().
| Resources blender::draw::overlay::Instance::resources = {selection_type_, shapes} |
Global types.
Definition at line 65 of file overlay_instance.hh.
Referenced by begin_sync(), draw(), end_sync(), init(), and object_sync().
| struct blender::draw::overlay::Instance::OverlayLayer blender::draw::overlay::Instance::selection_type_ |
| ShapeCache blender::draw::overlay::Instance::shapes |
Definition at line 62 of file overlay_instance.hh.
| State blender::draw::overlay::Instance::state |
Definition at line 66 of file overlay_instance.hh.
Referenced by begin_sync(), draw(), end_sync(), init(), object_sync(), and ~Instance().
| XrayFade blender::draw::overlay::Instance::xray_fade |
Definition at line 113 of file overlay_instance.hh.
Referenced by begin_sync().