45#define VCLASS_LIGHT_AREA_SHAPE (1 << 0)
46#define VCLASS_LIGHT_SPOT_SHAPE (1 << 1)
47#define VCLASS_LIGHT_SPOT_BLEND (1 << 2)
48#define VCLASS_LIGHT_SPOT_CONE (1 << 3)
49#define VCLASS_LIGHT_DIST (1 << 4)
51#define VCLASS_CAMERA_FRAME (1 << 5)
52#define VCLASS_CAMERA_DIST (1 << 6)
53#define VCLASS_CAMERA_VOLUME (1 << 7)
55#define VCLASS_SCREENSPACE (1 << 8)
56#define VCLASS_SCREENALIGNED (1 << 9)
58#define VCLASS_EMPTY_SCALED (1 << 10)
59#define VCLASS_EMPTY_AXES (1 << 11)
60#define VCLASS_EMPTY_AXES_NAME (1 << 12)
61#define VCLASS_EMPTY_AXES_SHADOW (1 << 13)
62#define VCLASS_EMPTY_SIZE (1 << 14)
75 gpu::VertAttrType::SFLOAT_32);
78 vbo->
data<
float>().fill(1.0f);
495 const bool is_paint_mode =
ELEM(
499 ((is_paint_mode && (ob == draw_ctx->
obact) &&
537 const bool is_paint_mode =
ELEM(
541 ((is_paint_mode && (ob == draw_ctx->
obact) &&
549 if (mesh !=
nullptr) {
588 const char *base_name,
591 bool is_active_render,
592 bool is_active_layer)
598 SNPRINTF(attr_name,
"%s%s", base_name, attr_safe_name);
602 SNPRINTF(attr_name,
"a%s", attr_safe_name);
606 if (is_active_render) {
611 if (is_active_layer) {
612 SNPRINTF(attr_name,
"a%s", base_name);
enum eContextObjectMode CTX_data_mode_enum_ex(const Object *obedit, const Object *ob, eObjectMode object_mode)
General operations, lookup, etc. for blender objects.
Mesh * BKE_object_get_evaluated_mesh_no_subsurf_unchecked(const Object *object)
GSet * BLI_gset_ptr_new(const char *info)
bool BLI_gset_add(GSet *gs, void *key)
BLI_INLINE bool BLI_listbase_is_empty(const ListBase *lb)
#define SNPRINTF(dst, format,...)
Object is a sort of wrapper for general info.
T & DRW_object_get_data_for_drawing(const Object &object)
Mesh & DRW_mesh_get_for_drawing(Mesh &mesh)
#define GPU_vertbuf_init_with_format(verts, format)
void GPU_vertbuf_data_alloc(blender::gpu::VertBuf &verts, uint v_len)
const DRWContext * DRW_context_get()
bool DRW_object_use_hide_faces(const Object *ob)
void DRW_mesh_batch_cache_validate(Mesh &mesh)
gpu::Batch * DRW_cache_particles_get_edit_inner_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
blender::gpu::Batch * DRW_lattice_batch_cache_get_all_verts(Lattice *lt)
void DRW_curves_batch_cache_validate(Curves *curves)
blender::gpu::Batch * DRW_mesh_batch_cache_get_loose_edges(Mesh &mesh)
void DRW_grease_pencil_batch_cache_validate(GreasePencil *grease_pencil)
gpu::Batch * DRW_cache_text_edge_wire_get(Object *ob)
void DRW_lattice_batch_cache_validate(Lattice *lt)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface_texpaint_single(Object &object, Mesh &mesh)
void DRW_vertbuf_create_wiredata(gpu::VertBuf *vbo, const int vert_len)
gpu::Batch * DRW_cache_mesh_all_verts_get(Object *ob)
blender::gpu::Batch * DRW_lattice_batch_cache_get_all_edges(Lattice *lt, bool use_weight, int actdef)
blender::gpu::Batch * DRW_particles_batch_cache_get_edit_inner_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
blender::gpu::Batch * DRW_curve_batch_cache_get_wire_edge(Curve *cu)
blender::gpu::Batch * DRW_lattice_batch_cache_get_edit_verts(Lattice *lt)
blender::gpu::Batch * DRW_curve_batch_cache_get_edit_verts(Curve *cu)
void DRW_curves_batch_cache_free_old(Curves *curves, int ctime)
blender::gpu::Batch * DRW_particles_batch_cache_get_edit_tip_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
gpu::Batch * DRW_cache_mesh_paint_overlay_edges_get(Object *ob)
Span< gpu::Batch * > DRW_cache_mesh_surface_texpaint_get(Object *ob)
gpu::Batch * DRW_cache_curve_edge_wire_viewer_attribute_get(Object *ob)
gpu::Batch * DRW_cache_mesh_surface_sculptcolors_get(Object *ob)
gpu::Batch * DRW_cache_object_face_wireframe_get(const Scene *scene, Object *ob)
blender::gpu::Batch * DRW_mesh_batch_cache_get_edit_mesh_analysis(Mesh &mesh)
blender::gpu::Batch * DRW_volume_batch_cache_get_selection_surface(Volume *volume)
void drw_batch_cache_generate_requested_evaluated_mesh_or_curve(Object *ob, TaskGraph &task_graph)
gpu::Batch * DRW_cache_grease_pencil_face_wireframe_get(const Scene *scene, Object *ob)
gpu::Batch * DRW_cache_mesh_surface_vertpaint_get(Object *ob)
blender::gpu::Batch * DRW_curve_batch_cache_get_edit_edges(Curve *cu)
void DRW_curve_batch_cache_validate(Curve *cu)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface(Mesh &mesh)
blender::gpu::Batch * DRW_particles_batch_cache_get_edit_strands(Object *object, ParticleSystem *psys, PTCacheEdit *edit, bool use_weight)
gpu::Batch * DRW_cache_mesh_loose_edges_get(Object *ob)
void drw_batch_cache_validate(Object *ob)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface_weights(Mesh &mesh)
blender::gpu::Batch * DRW_particles_batch_cache_get_dots(Object *object, ParticleSystem *psys)
Span< gpu::Batch * > DRW_mesh_batch_cache_get_surface_shaded(Object &object, Mesh &mesh, Span< const GPUMaterial * > materials)
gpu::Batch * DRW_cache_mesh_face_wireframe_get(Object *ob)
gpu::Batch * DRW_cache_object_all_edges_get(Object *ob)
void DRW_curve_batch_cache_create_requested(Object *ob, const Scene *scene)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface_vertpaint(Object &object, Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_wireframes_face(Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface_sculpt(Object &object, Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_all_edges(Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_paint_overlay_verts(Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_edge_detection(Mesh &mesh, bool *r_is_manifold)
void DRW_mesh_batch_cache_free_old(Mesh *mesh, int ctime)
blender::gpu::Batch * DRW_pointcloud_batch_cache_get_dots(Object *ob)
gpu::Batch * DRW_cache_object_surface_get(Object *ob)
void DRW_cdlayer_attr_aliases_add(GPUVertFormat *format, const char *base_name, bke::AttrType data_type, blender::StringRef layer_name, bool is_active_render, bool is_active_layer)
blender::gpu::Batch * DRW_curve_batch_cache_get_normal_edge(Curve *cu)
gpu::Batch * DRW_cache_particles_get_dots(Object *object, ParticleSystem *psys)
void DRW_volume_batch_cache_validate(Volume *volume)
Span< gpu::Batch * > DRW_mesh_batch_cache_get_surface_texpaint(Object &object, Mesh &mesh)
gpu::Batch * DRW_cache_lattice_wire_get(Object *ob, bool use_weight)
void DRW_pointcloud_batch_cache_free_old(PointCloud *pointcloud, int ctime)
gpu::Batch * DRW_cache_mesh_paint_overlay_verts_get(Object *ob)
blender::gpu::Batch * DRW_volume_batch_cache_get_wireframes_face(Volume *volume)
gpu::Batch * DRW_cache_mesh_surface_viewer_attribute_get(Object *ob)
Span< gpu::Batch * > DRW_cache_mesh_surface_shaded_get(Object *ob, const Span< const GPUMaterial * > materials)
void drw_batch_cache_generate_requested(Object *ob, TaskGraph &task_graph)
blender::gpu::Batch * DRW_pointcloud_batch_cache_get_edit_dots(PointCloud *pointcloud)
void DRW_pointcloud_batch_cache_create_requested(Object *ob)
void DRW_pointcloud_batch_cache_validate(PointCloud *pointcloud)
void drw_batch_cache_generate_requested_delayed(Object *ob)
gpu::Batch * DRW_cache_curve_edge_overlay_get(Object *ob)
blender::gpu::Batch * DRW_mesh_batch_cache_get_paint_overlay_surface(Mesh &mesh)
blender::gpu::Batch * DRW_mesh_batch_cache_get_surface_viewer_attribute(Mesh &mesh)
gpu::Batch * DRW_cache_curve_edge_wire_get(Object *ob)
gpu::Batch * DRW_cache_object_edge_detection_get(Object *ob, bool *r_is_manifold)
void DRW_mesh_batch_cache_create_requested(TaskGraph &task_graph, Object &ob, Mesh &mesh, const Scene &scene, bool is_paint_mode, bool use_hide)
gpu::Batch * DRW_cache_lattice_verts_get(Object *ob)
gpu::Batch * DRW_cache_curve_edge_normal_get(Object *ob)
gpu::Batch * DRW_cache_mesh_edge_detection_get(Object *ob, bool *r_is_manifold)
gpu::Batch * DRW_cache_particles_get_edit_tip_points(Object *object, ParticleSystem *psys, PTCacheEdit *edit)
gpu::Batch * DRW_cache_lattice_vert_overlay_get(Object *ob)
gpu::Batch * DRW_cache_pointcloud_vert_overlay_get(Object *ob)
gpu::Batch * DRW_cache_mesh_surface_weights_get(Object *ob)
gpu::Batch * DRW_cache_mesh_paint_overlay_surface_get(Object *ob)
gpu::Batch * DRW_cache_particles_get_hair(Object *object, ParticleSystem *psys, ModifierData *md)
Span< gpu::Batch * > DRW_cache_object_surface_material_get(Object *ob, const Span< const GPUMaterial * > materials)
blender::gpu::Batch * DRW_particles_batch_cache_get_hair(Object *object, ParticleSystem *psys, ModifierData *md)
gpu::Batch * DRW_cache_surf_edge_wire_get(Object *ob)
gpu::Batch * DRW_cache_object_loose_edges_get(Object *ob)
gpu::Batch * DRW_cache_volume_selection_surface_get(Object *ob)
void DRW_batch_cache_free_old(Object *ob, int ctime)
gpu::Batch * DRW_cache_volume_face_wireframe_get(Object *ob)
gpu::Batch * DRW_cache_curve_vert_overlay_get(Object *ob)
blender::gpu::Batch * DRW_mesh_batch_cache_get_paint_overlay_edges(Mesh &mesh)
gpu::Batch * DRW_cache_mesh_surface_get(Object *ob)
gpu::Batch * DRW_cache_mesh_all_edges_get(Object *ob)
gpu::Batch * DRW_cache_mesh_surface_texpaint_single_get(Object *ob)
blender::gpu::Batch * DRW_mesh_batch_cache_get_all_verts(Mesh &mesh)
blender::gpu::Batch * DRW_curve_batch_cache_get_wire_edge_viewer_attribute(Curve *cu)
void DRW_curves_batch_cache_create_requested(Object *ob)
gpu::Batch * DRW_cache_particles_get_edit_strands(Object *object, ParticleSystem *psys, PTCacheEdit *edit, bool use_weight)
gpu::Batch * DRW_cache_mesh_surface_mesh_analysis_get(Object *ob)
GSet * delayed_extraction
ListBase vertex_group_names
struct MDeformVert * dvert
int vertex_group_active_index
struct EditLatt * editlatt