33 const bool is_paint_mode = (
state.object_mode &
54 const Object *ob = ob_ref.object;
57 const float4 location =
float4(ob->object_to_world().location(), 0.0f);
60 select_buf_.select_append(res.select_id(ob_ref));
61 point_buf_.append(
VertexData{location, res.theme.colors.active_object});
64 select_buf_.select_append(res.select_id(ob_ref));
66 is_library ? res.theme.colors.library_select :
67 res.theme.colors.object_select});
70 select_buf_.select_append(res.select_id(ob_ref));
72 VertexData{location, is_library ? res.theme.colors.library : res.theme.colors.deselect});
84 ps_.shader_set(res.shaders->extra_point.get());
87 select_buf_.select_bind(ps_);
88 point_buf_.push_update();
89 ps_.bind_ssbo(
"data_buf", &point_buf_);
100 manager.submit(ps_,
view);
void BKE_view_layer_synced_ensure(const Scene *scene, ViewLayer *view_layer)
Object * BKE_view_layer_active_object_get(const ViewLayer *view_layer)
#define ID_IS_LINKED(_id)
#define ID_REAL_USERS(id)
#define OB_MODE_ALL_PAINT
#define OB_MODE_ALL_PAINT_GPENCIL
#define BASE_SELECTED(v3d, base)
void GPU_framebuffer_bind(blender::gpu::FrameBuffer *fb)
void begin_sync(Resources &, const State &state) final
Origins(SelectionType selection_type)
void draw_color_only(Framebuffer &framebuffer, Manager &manager, View &view) final
void object_sync(Manager &, const ObjectRef &ob_ref, Resources &res, const State &state) final
void end_sync(Resources &res, const State &state) final
#define DRW_CLIPPING_UBO_SLOT
#define OVERLAY_GLOBALS_SLOT
select::SelectionType SelectionType
static bool is_from_dupli_or_set(const Object *ob)
detail::Pass< command::DrawCommandBuf > PassSimple
VecBase< float, 4 > float4