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);
66 is_library ? res.theme.colors.library_select :
67 res.theme.colors.object_select});
72 VertexData{location, is_library ? res.theme.colors.library : res.theme.colors.deselect});
84 ps_.
shader_set(res.shaders->extra_point.get());
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(GPUFrameBuffer *fb)
void append(const T &value)
void state_set(DRWState state, int clip_plane_count=0)
void bind_ubo(const char *name, GPUUniformBuf *buffer)
void draw_procedural(GPUPrimType primitive, uint instance_len, uint vertex_len, uint vertex_first=-1, ResourceHandleRange handle={0}, uint custom_id=0)
void bind_ssbo(const char *name, GPUStorageBuf *buffer)
void shader_set(GPUShader *shader)
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
static bool is_from_dupli_or_set(const Object *ob)
VecBase< float, 4 > float4
void select_append(ID select_id)
void select_bind(PassSimple::Sub &pass)