|
Blender V4.3
|
#include <overlay_next_instance.hh>
Classes | |
| struct | OverlayLayer |
Public Member Functions | |
| Instance (const SelectionType selection_type, const bool clipping_enabled) | |
| ~Instance () | |
| void | init () |
| void | begin_sync () |
| void | object_sync (ObjectRef &ob_ref, Manager &manager) |
| void | end_sync () |
| void | draw (Manager &manager) |
| bool | clipping_enabled () const |
Public Attributes | |
| GPUUniformBuf * | grid_ubo = nullptr |
| ShapeCache | shapes |
| Resources | resources |
| State | state |
| Background | background |
| Origins | origins |
| Outline | outline |
| MotionPath | motion_paths |
| struct blender::draw::overlay::Instance::OverlayLayer | selection_type_ |
| Grid | grid |
| AntiAliasing | anti_aliasing |
| XrayFade | xray_fade |
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 52 of file overlay_next_instance.hh.
|
inline |
Definition at line 109 of file overlay_next_instance.hh.
|
inline |
Definition at line 112 of file overlay_next_instance.hh.
References DRW_UBO_FREE_SAFE, and grid_ubo.
| void blender::draw::overlay::Instance::begin_sync | ( | ) |
Definition at line 107 of file overlay_next_instance.cc.
References anti_aliasing, blender::draw::overlay::AntiAliasing::begin_sync(), blender::draw::overlay::MotionPath::begin_sync(), blender::draw::overlay::Outline::begin_sync(), blender::draw::overlay::Resources::begin_sync(), blender::draw::overlay::XrayFade::begin_sync(), blender::draw::overlay::State::camera_forward, blender::draw::overlay::State::camera_position, DRW_text_cache_ensure(), DRW_view_default_get(), blender::draw::overlay::State::dt, motion_paths, outline, resources, shapes, state, view, and xray_fade.
|
inline |
Definition at line 123 of file overlay_next_instance.hh.
| void blender::draw::overlay::Instance::draw | ( | Manager & | manager | ) |
Definition at line 338 of file overlay_next_instance.cc.
References blender::draw::TextureFromPool::acquire(), anti_aliasing, blender::gpu::DebugScope::begin_capture(), blender::draw::overlay::Resources::color_overlay_alloc_tx, blender::draw::overlay::Resources::color_overlay_tx, blender::draw::overlay::Resources::color_render_alloc_tx, blender::draw::overlay::Resources::color_render_tx, DefaultFramebufferList::default_fb, blender::draw::overlay::Resources::depth_in_front_alloc_tx, blender::draw::overlay::Resources::depth_in_front_tx, blender::draw::overlay::Resources::depth_target_in_front_tx, blender::draw::overlay::Resources::depth_target_tx, blender::draw::overlay::Resources::depth_tx, blender::draw::overlay::AntiAliasing::draw(), blender::draw::overlay::Outline::draw(), blender::draw::overlay::XrayFade::draw(), blender::draw::overlay::MotionPath::draw_color_only(), DRW_view_default_get(), DRW_viewport_framebuffer_list_get(), DRW_viewport_texture_list_get(), blender::gpu::DebugScope::end_capture(), blender::draw::Framebuffer::ensure(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_DEPTH24_STENCIL8, GPU_framebuffer_bind(), GPU_framebuffer_clear_color(), GPU_framebuffer_clear_color_depth(), GPU_RGBA8, GPU_SRGB8_A8, GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, DefaultFramebufferList::in_front_fb, blender::draw::Texture::is_valid(), blender::draw::overlay::Resources::line_tx, motion_paths, outline, blender::draw::overlay::Resources::overlay_color_only_fb, blender::draw::overlay::Resources::overlay_fb, blender::draw::overlay::Resources::overlay_in_front_fb, blender::draw::overlay::Resources::overlay_line_fb, blender::draw::overlay::Resources::overlay_line_in_front_fb, blender::draw::overlay::Resources::overlay_line_only_fb, blender::draw::overlay::Resources::overlay_output_fb, blender::draw::overlay::Resources::overlay_tx, blender::draw::select::SelectMap::read_result(), blender::draw::TextureFromPool::release(), blender::draw::overlay::Resources::render_fb, blender::draw::overlay::Resources::render_in_front_fb, resources, blender::draw::select::SelectMap::selection_type, blender::draw::Texture::size(), state, view, blender::draw::TextureRef::wrap(), blender::draw::overlay::Resources::xray_depth_tx, blender::draw::overlay::State::xray_enabled, and xray_fade.
| void blender::draw::overlay::Instance::end_sync | ( | ) |
Definition at line 299 of file overlay_next_instance.cc.
References DefaultTextureList::depth_in_front, DRW_texture_ensure_fullscreen_2d(), DRW_viewport_framebuffer_list_get(), DRW_viewport_texture_list_get(), blender::draw::select::SelectMap::end_sync(), GPU_DEPTH24_STENCIL8, GPU_framebuffer_ensure_config, DefaultFramebufferList::in_front_fb, resources, shapes, and state.
| void blender::draw::overlay::Instance::init | ( | ) |
Definition at line 21 of file overlay_next_instance.cc.
References blender::draw::overlay::State::active_base, BKE_scene_uses_blender_workbench(), BKE_view_layer_active_base_get(), BKE_view_layer_synced_ensure(), DRW_Global::block, DRW_Global::block_ubo, blender::draw::overlay::State::cfra, blender::draw::overlay::State::clear_in_front, blender::draw::overlay::State::clipping_plane_count, CTX_data_mode_enum_ex(), blender::draw::overlay::State::ctx_mode, DEG_get_ctime(), blender::draw::overlay::State::depsgraph, DRWContextState::depsgraph, blender::draw::overlay::State::do_pose_fade_geom, blender::draw::overlay::State::do_pose_xray, DRW_context_state_get(), blender::draw::overlay::Resources::dummy_depth_tx, ED_space_image_get_aspect(), ED_space_image_get_size(), ED_space_image_get_uv_aspect(), blender::draw::Texture::ensure_2d(), SpaceImageOverlay::flag, View3D::flag, View3DOverlay::flag, View3D::flag2, G_draw, blender::draw::overlay::Resources::globals_buf, GPU_DATA_FLOAT, GPU_DEPTH_COMPONENT32F, GPU_texture_update_sub(), GPU_TEXTURE_USAGE_SHADER_READ, View3D::gridflag, blender::draw::overlay::State::hide_overlays, blender::draw::overlay::State::image_aspect, blender::draw::overlay::State::image_size, blender::draw::overlay::State::image_uv_aspect, blender::draw::overlay::State::is_wireframe_mode, OB_MODE_WEIGHT_PAINT, OB_SOLID, OB_WIRE, DRWContextState::obact, blender::draw::overlay::State::object_active, DRWContextState::object_edit, blender::draw::overlay::State::object_mode, DRWContextState::object_mode, DRWContextState::object_pose, blender::draw::overlay::State::overlay, SpaceImage::overlay, View3D::overlay, blender::draw::overlay::State::pixelsize, blender::draw::overlay::State::region, DRWContextState::region, resources, blender::draw::overlay::State::rv3d, DRWContextState::rv3d, blender::draw::overlay::State::scene, DRWContextState::scene, View3D::shading, SI_OVERLAY_SHOW_OVERLAYS, blender::draw::overlay::State::space_data, DRWContextState::space_data, SPACE_IMAGE, blender::draw::overlay::State::space_type, SPACE_VIEW3D, SpaceLink::spacetype, state, blender::draw::overlay::Resources::theme_settings, View3DShading::type, blender::draw::overlay::State::use_in_front, blender::draw::overlay::State::v3d, DRWContextState::v3d, blender::draw::overlay::State::v3d_flag, blender::draw::overlay::State::v3d_gridflag, V3D_HIDE_OVERLAYS, V3D_OVERLAY_BONE_SELECT, V3D_OVERLAY_HIDE_BONES, V3D_OVERLAY_HIDE_MOTION_PATHS, V3D_OVERLAY_HIDE_OBJECT_ORIGINS, V3D_OVERLAY_HIDE_OBJECT_XTRAS, V3D_OVERLAY_HIDE_TEXT, blender::draw::overlay::State::view_layer, DRWContextState::view_layer, DRW_Global::weight_ramp, blender::draw::overlay::Resources::weight_ramp_tx, View3DOverlay::wireframe_opacity, View3DOverlay::wireframe_threshold, blender::draw::TextureRef::wrap(), XRAY_ACTIVE, XRAY_ALPHA, blender::draw::overlay::State::xray_enabled, blender::draw::overlay::State::xray_enabled_and_not_wire, and blender::draw::overlay::State::xray_opacity.
Definition at line 159 of file overlay_next_instance.cc.
References blender::draw::overlay::State::hide_overlays, blender::draw::overlay::State::is_wireframe_mode, motion_paths, 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_SPEAKER, OB_SURF, blender::draw::ObjectRef::object, blender::draw::overlay::MotionPath::object_sync(), blender::draw::overlay::Outline::object_sync(), outline, resources, shapes, state, and Object::type.
| AntiAliasing blender::draw::overlay::Instance::anti_aliasing |
Definition at line 106 of file overlay_next_instance.hh.
Referenced by begin_sync(), and draw().
| Background blender::draw::overlay::Instance::background |
Overlay types.
Definition at line 68 of file overlay_next_instance.hh.
| Grid blender::draw::overlay::Instance::grid |
Definition at line 104 of file overlay_next_instance.hh.
| GPUUniformBuf* blender::draw::overlay::Instance::grid_ubo = nullptr |
Definition at line 58 of file overlay_next_instance.hh.
Referenced by ~Instance().
| MotionPath blender::draw::overlay::Instance::motion_paths |
Definition at line 71 of file overlay_next_instance.hh.
Referenced by begin_sync(), draw(), and object_sync().
| Origins blender::draw::overlay::Instance::origins |
Definition at line 69 of file overlay_next_instance.hh.
| Outline blender::draw::overlay::Instance::outline |
Definition at line 70 of file overlay_next_instance.hh.
Referenced by begin_sync(), draw(), and object_sync().
| Resources blender::draw::overlay::Instance::resources |
Global types.
Definition at line 63 of file overlay_next_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 60 of file overlay_next_instance.hh.
Referenced by begin_sync(), end_sync(), and object_sync().
| State blender::draw::overlay::Instance::state |
Definition at line 65 of file overlay_next_instance.hh.
Referenced by begin_sync(), draw(), end_sync(), init(), and object_sync().
| XrayFade blender::draw::overlay::Instance::xray_fade |
Definition at line 107 of file overlay_next_instance.hh.
Referenced by begin_sync(), and draw().