Blender V4.3
blender::draw::overlay::Instance Class Reference

#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

Detailed Description

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.

Constructor & Destructor Documentation

◆ Instance()

blender::draw::overlay::Instance::Instance ( const SelectionType selection_type,
const bool clipping_enabled )
inline

Definition at line 109 of file overlay_next_instance.hh.

References clipping_enabled().

◆ ~Instance()

blender::draw::overlay::Instance::~Instance ( )
inline

Definition at line 112 of file overlay_next_instance.hh.

References DRW_UBO_FREE_SAFE, and grid_ubo.

Member Function Documentation

◆ begin_sync()

void blender::draw::overlay::Instance::begin_sync ( )

◆ clipping_enabled()

bool blender::draw::overlay::Instance::clipping_enabled ( ) const
inline

Definition at line 123 of file overlay_next_instance.hh.

Referenced by Instance().

◆ draw()

void blender::draw::overlay::Instance::draw ( Manager & manager)

Definition at line 338 of file overlay_next_instance.cc.

References anti_aliasing, blender::draw::overlay::Instance::OverlayLayer::armatures, blender::draw::overlay::Instance::OverlayLayer::attribute_viewer, background, blender::gpu::DebugScope::begin_capture(), blender::draw::overlay::Instance::OverlayLayer::bounds, blender::draw::overlay::Instance::OverlayLayer::cameras, blender::draw::overlay::Instance::OverlayLayer::curves, DefaultFramebufferList::default_fb, blender::draw::overlay::Armatures::draw(), blender::draw::overlay::AttributeViewer::draw(), blender::draw::overlay::Cameras::draw(), blender::draw::overlay::Curves::draw(), blender::draw::overlay::EditText::draw(), blender::draw::overlay::Empties::draw(), blender::draw::overlay::Facing::draw(), blender::draw::overlay::Fade::draw(), blender::draw::overlay::Fluids::draw(), blender::draw::overlay::ForceFields::draw(), blender::draw::overlay::GreasePencil::draw(), blender::draw::overlay::Lattices::draw(), blender::draw::overlay::LightProbes::draw(), blender::draw::overlay::Lights::draw(), blender::draw::overlay::Meshes::draw(), blender::draw::overlay::MeshUVs::draw(), blender::draw::overlay::Metaballs::draw(), blender::draw::overlay::ModeTransfer::draw(), blender::draw::overlay::Paints::draw(), blender::draw::overlay::Particles::draw(), blender::draw::overlay::Relations::draw(), blender::draw::overlay::Sculpts::draw(), blender::draw::overlay::Speakers::draw(), blender::draw::overlay::Wireframe::draw(), blender::draw::overlay::Curves::draw_color_only(), blender::draw::overlay::GreasePencil::draw_color_only(), blender::draw::overlay::LightProbes::draw_color_only(), blender::draw::overlay::Meshes::draw_color_only(), blender::draw::overlay::Particles::draw_no_line(), DRW_view_default_get(), DRW_viewport_framebuffer_list_get(), DRW_viewport_texture_list_get(), blender::draw::overlay::Instance::OverlayLayer::edit_text, blender::draw::overlay::Instance::OverlayLayer::empties, blender::gpu::DebugScope::end_capture(), 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, 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, blender::draw::overlay::Instance::OverlayLayer::grease_pencil, grid, DefaultFramebufferList::in_front_fb, 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, blender::draw::overlay::Instance::OverlayLayer::mode_transfer, motion_paths, origins, outline, blender::draw::overlay::Instance::OverlayLayer::paints, blender::draw::overlay::Instance::OverlayLayer::particles, blender::draw::overlay::Instance::OverlayLayer::relations, resources, blender::draw::overlay::Instance::OverlayLayer::sculpts, blender::draw::overlay::Instance::OverlayLayer::speakers, state, view, blender::draw::overlay::Instance::OverlayLayer::wireframe, and xray_fade.

◆ end_sync()

◆ init()

◆ object_sync()

void blender::draw::overlay::Instance::object_sync ( ObjectRef & ob_ref,
Manager & manager )

Definition at line 159 of file overlay_next_instance.cc.

References blender::draw::overlay::Instance::OverlayLayer::armatures, blender::draw::overlay::Instance::OverlayLayer::attribute_viewer, 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::EditText::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::Curves::edit_object_sync_legacy(), blender::draw::overlay::Instance::OverlayLayer::edit_text, 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, blender::draw::overlay::Instance::OverlayLayer::mode_transfer, 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::Armatures::object_sync(), blender::draw::overlay::AttributeViewer::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::Metaballs::object_sync(), blender::draw::overlay::ModeTransfer::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(), 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::prepass, blender::draw::overlay::Instance::OverlayLayer::relations, resources, blender::draw::overlay::GreasePencil::sculpt_object_sync(), blender::draw::overlay::Instance::OverlayLayer::sculpts, shapes, blender::draw::overlay::Instance::OverlayLayer::speakers, state, Object::type, and blender::draw::overlay::Instance::OverlayLayer::wireframe.

Member Data Documentation

◆ anti_aliasing

AntiAliasing blender::draw::overlay::Instance::anti_aliasing

Definition at line 106 of file overlay_next_instance.hh.

Referenced by begin_sync(), and draw().

◆ background

Background blender::draw::overlay::Instance::background

Overlay types.

Definition at line 68 of file overlay_next_instance.hh.

Referenced by begin_sync(), and draw().

◆ grid

Grid blender::draw::overlay::Instance::grid

Definition at line 104 of file overlay_next_instance.hh.

Referenced by begin_sync(), and draw().

◆ grid_ubo

GPUUniformBuf* blender::draw::overlay::Instance::grid_ubo = nullptr

Definition at line 58 of file overlay_next_instance.hh.

Referenced by ~Instance().

◆ motion_paths

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

Origins blender::draw::overlay::Instance::origins

Definition at line 69 of file overlay_next_instance.hh.

Referenced by begin_sync(), draw(), end_sync(), and object_sync().

◆ outline

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

Resources blender::draw::overlay::Instance::resources
Initial value:
= {selection_type_,
overlay::ShaderModule::module_get(selection_type_, clipping_enabled_)}
static ShaderModule & module_get(SelectionType selection_type, bool clipping_enabled)

Global types.

Definition at line 63 of file overlay_next_instance.hh.

Referenced by begin_sync(), draw(), end_sync(), init(), and object_sync().

◆ selection_type_

struct blender::draw::overlay::Instance::OverlayLayer blender::draw::overlay::Instance::selection_type_

◆ shapes

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

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().

◆ xray_fade

XrayFade blender::draw::overlay::Instance::xray_fade

Definition at line 107 of file overlay_next_instance.hh.

Referenced by begin_sync(), and draw().


The documentation for this class was generated from the following files: