26 SphereOutlineInstanceBuf circle_buf_ = {selection_type_,
"metaball_data_buf"};
49 const bool is_selected = (ml->flag &
SELECT) != 0;
50 const bool is_scale_radius = (ml->flag &
MB_SCALE_RAD) != 0;
55 color = (is_selected && is_scale_radius) ? col_radius_select : col_radius;
56 circle_buf_.append({ob->object_to_world(), position, ml->rad,
color}, radius_id);
59 color = (is_selected && !is_scale_radius) ? col_stiffness_select : col_stiffness;
60 circle_buf_.append({ob->object_to_world(), position, stiffness_radius,
color}, stiff_id);
76 circle_buf_.append({ob->object_to_world(), position, ml->rad,
color}, select_id);
84 state.clipping_plane_count);
#define LISTBASE_FOREACH(type, var, list)
void GPU_framebuffer_bind(GPUFrameBuffer *framebuffer)
void submit(PassSimple &pass, View &view)
ShaderPtr armature_sphere_outline
BatchPtr metaball_wire_circle
@ DRW_STATE_DEPTH_LESS_EQUAL
select::SelectionType SelectionType
detail::Pass< command::DrawCommandBuf > PassSimple
VecBase< float, 4 > float4
VecBase< float, 3 > float3
float4 color_mball_radius
float4 color_mball_stiffness
float4 color_mball_stiffness_select
float4 color_mball_radius_select
const float4 & object_wire_color(const ObjectRef &ob_ref, ThemeColorID theme_id) const
GPUUniformBuf * globals_buf
GlobalsUboStorage theme_settings
void select_bind(PassSimple &pass)
const ID select_id(const ObjectRef &ob_ref, uint sub_object_id=0)